JSON RPC
Module description
IPAM - a subsystem that manages and stores information about networks, ip, OFC and ACLs on the cluster
Operations
Delete IPAM params
Context model: Params
Request data
Add IPAM params
Context model: Params
Request data
{
"context": {
"op": "param_add"
},
"data": {
"mac_prefix": "<mac_prefix>",
"ipv6_group": "<ipv6_group>",
"allocated_vlans": "<allocated_vlans>",
"reserved_vlans": "<reserved_vlans>",
"reserved_v4_nets": "<reserved_v4_nets>",
"mtu": "<mtu>",
"bridge": "<bridge>"
}
}
Description
mac_prefix [ netmac * required ] - List of MACs
ipv6_group [ netv6gp ] - IPv6 group
allocated_vlans [ netvlanrange * required ] - List of allocated vlans
reserved_vlans [ netvlanrange * required ] - List of reserved vlans
reserved_v4_nets [ ipv4network * ] - List of reserved ipv4 /24 networks
mtu [ netmtu ] - MTU size
bridge [ required ] - Bridge interface
Show IPAM params
Context model: Params
Request data
Update IPAM params
Context model: Params
Request data
{
"context": {
"op": "param_update"
},
"data": {
"mac_prefix": "<mac_prefix>",
"ipv6_group": "<ipv6_group>",
"allocated_vlans": "<allocated_vlans>",
"reserved_vlans": "<reserved_vlans>",
"reserved_v4_nets": "<reserved_v4_nets>",
"v4_gw": "<v4_gw>",
"mtu": "<mtu>",
"bridge": "<bridge>"
}
}
Description
mac_prefix [ netmac * ] - List of MACs
ipv6_group [ netv6gp ] - IPv6 group
allocated_vlans [ netvlanrange * ] - List of allocated vlans
reserved_vlans [ netvlanrange * ] - List of reserved vlans
reserved_v4_nets [ ipv4network * ] - List of reserved ipv4 /24 networks
v4_gw [ ipv4addr ] - IPv4 network gateway address
mtu [ netmtu ] - MTU size
bridge [ ] - Bridge interface
Delete IPAM network
Context model: Networks
Request data
Description
name [ required ] - Network name
Add IPAM network
Context model: Networks
Request data
{
"context": {
"op": "network_add"
},
"data": {
"name": "<name>",
"ns": "<ns>",
"net_type": "<net_type>",
"ipv": "<ipv>",
"vxlan_vni": "<vxlan_vni>",
"vlan": "<vlan>",
"mtu": "<mtu>",
"v4_net": "<v4_net>",
"v4_pref": "<v4_pref>",
"v4_mask": "<v4_mask>",
"v4_start": "<v4_start>",
"v4_end": "<v4_end>",
"v4_gw": "<v4_gw>",
"v4_dns1": "<v4_dns1>",
"v4_dns2": "<v4_dns2>",
"v6_dns1": "<v6_dns1>",
"v6_dns2": "<v6_dns2>",
"v6_np": "<v6_np>",
"v6_gw": "<v6_gw>",
"descr": "<descr>"
}
}
Description
name [ required ] - Network name
ns [ ] - Target namespace
net_type [ required ] - Network type ['vlan', 'vxlan']
ipv [ required ] - Network IP version ['4', '6']
vxlan_vni [ int ] - Vxlan vni
vlan [ int required ] - Vlan id
mtu [ netmtu ] - MTU size
v4_net [ ipv4addr required ] - IPv4 network
v4_pref [ int ] - IPv4 network prefix
v4_mask [ ] - IPv4 network mask
v4_start [ ipv4addr ] - IPv4 network start address
v4_end [ ipv4addr ] - IPv4 network end address
v4_gw [ ipv4addr ] - IPv4 network gateway address
v4_dns1 [ ipv4addr ] - IPv4 dns
v4_dns2 [ ipv4addr ] - IPv4 dns
v6_dns1 [ ] - IPv6 dns
v6_dns2 [ ] - IPv6 dns
v6_np [ netv6np ] - IPv6 network np
v6_gw [ ] - IPv6 network gateway address
descr [ ] - Description
Show IPAM network
Context model: Networks
Request data
Description
name [ required ] - Network name
show_acl [ ] - should show acls
Update IPAM network
Context model: Networks
Request data
{
"context": {
"op": "network_update"
},
"data": {
"name": "<name>",
"ns": "<ns>",
"mtu": "<mtu>",
"v4_gw": "<v4_gw>",
"v6_gw": "<v6_gw>",
"descr": "<descr>",
"v4_start": "<v4_start>",
"v4_end": "<v4_end>",
"v4_dns1": "<v4_dns1>",
"v4_dns2": "<v4_dns2>"
}
}
Description
name [ required ] - Network name
ns [ ] - Target namespace
mtu [ netmtu ] - MTU size
v4_gw [ ipv4addr ] - IPv4 network gateway address
v6_gw [ ] - IPv6 network gateway address
descr [ ] - Description
v4_start [ ipv4addr ] - IPv4 network start address
v4_end [ ipv4addr ] - IPv4 network end address
v4_dns1 [ ipv4addr ] - IPv4 dns
v4_dns2 [ ipv4addr ] - IPv4 dns
List IPAM networks
Context model: Networks
Request data
Description
show_acl [ ] - should show acls
Add IPAM iface
Context model: Ifaces
Request data
{
"context": {
"op": "iface_add"
},
"data": {
"vnet_name": "<vnet_name>",
"vm_uuid": "<vm_uuid>"
}
}
Description
vnet_name [ required ] - Network name
vm_uuid [ required ] - VM uuid
Del IPAM iface
Context model: Ifaces
Request data
Description
vnet_name [ required ] - Network name
mac [ required ] - Iface MAC
List IPAM ifaces
Context model: Ifaces
Request data
{
"context": {
"op": "iface_list"
},
"data": {
"vnet_name": "<vnet_name>",
"show_acl": "<show_acl>"
}
}
Description
vnet_name [ required ] - Network name
show_acl [ ] - show acls attached to iface
Add virtual ip
Context model: Addrs
Request data
Description
vnet_name [ required ] - Network name
ip [ required ] - Virtual IP
List virtual ip
Context model: Addrs
Request data
Description
vnet_name [ required ] - Network name
List free ip in vnet
Context model: Addrs
Request data
{
"context": {
"op": "addr_free_list"
},
"data": {
"vnet_name": "<vnet_name>",
"full_output": "<full_output>"
}
}
Description
vnet_name [ required ] - Network name
full_output [ bool ] - {{ no such element: dict object['desc'] }}
Del virtual ip
Context model: Addrs
Request data
Description
vnet_name [ required ] - Network name
ip [ required ] - Virtual IP
List allocated ip in vnet
Context model: Addrs
Request data
Description
vnet_name [ required ] - Network name
Del ACL rule
Context model: ACLs
Request data
Description
name [ required ] - ACL name
Add ACLs rules
Context model: ACLs
Request data
Description
data [ jsonstr required ] - ACLs rules as JSON string
List ACLs rules
Context model: ACLs
Request data
Show ACLs rules
Context model: ACLs
Request data
Description
name [ required ] - ACL name
Update ACLs rules
Context model: ACLs
Request data
Description
name [ required ] - ACL name
data [ jsonstr required ] - ACLs rules as JSON string
Add ACLs to network
Context model: ACLs
Request data
{
"context": {
"op": "network_acls_add"
},
"data": {
"vnet_name": "<vnet_name>",
"acls": "<acls>"
}
}
Description
vnet_name [ required ] - Network name
acls [ * required ] - List of ACLs names
Delete ACLs from network
Context model: ACLs
Request data
{
"context": {
"op": "network_acls_del"
},
"data": {
"vnet_name": "<vnet_name>",
"acls": "<acls>"
}
}
Description
vnet_name [ required ] - Network name
acls [ * required ] - List of ACLs names
Add ACLs to iface
Context model: ACLs
Request data
{
"context": {
"op": "iface_acls_add"
},
"data": {
"vnet_name": "<vnet_name>",
"mac": "<mac>",
"acls": "<acls>"
}
}
Description
vnet_name [ required ] - Network name
mac [ required ] - Iface MAC address
acls [ * required ] - List of ACLs names
Delete ACLs from iface
Context model: ACLs
Request data
{
"context": {
"op": "iface_acls_del"
},
"data": {
"vnet_name": "<vnet_name>",
"mac": "<mac>",
"acls": "<acls>"
}
}
Description
vnet_name [ required ] - Network name
mac [ required ] - Iface MAC address
acls [ * required ] - List of ACLs names
Models
Params
mac_prefix [ netmac * required ] - List of MACs
ipv6_group [ netv6gp ] - IPv6 group
allocated_vlans [ netvlanrange * ] - List of allocated vlans
reserved_vlans [ netvlanrange * ] - List of reserved vlans
reserved_v4_nets [ ipv4network * ] - List of reserved ipv4 /24 networks
reserved_v6_np [ netv6np * ] - List of reserved ipv6 np
bridge [ required ] - Bridge interface
mtu [ netmtu ] - MTU size
Networks
name [ required ] - Network name
ns [ ] - Target namespace
net_type [ required ] - Network type ['vlan', 'vxlan']
ipv [ required ] - Network IP version ['4', '6']
vxlan_vni [ int ] - Vxlan vni
vlan [ int required ] - Vlan id
mtu [ netmtu ] - MTU size
v4_net [ ipv4addr required ] - IPv4 network
v4_pref [ int ] - IPv4 network prefix
v4_mask [ ] - IPv4 network mask
v4_start [ ipv4addr ] - IPv4 network start address
v4_end [ ipv4addr ] - IPv4 network end address
v4_gw [ ipv4addr ] - IPv4 network gateway address
v6_np [ netv6np ] - IPv6 network np
v6_gw [ ] - IPv6 network gateway address
descr [ ] - Description
v4_dns1 [ ipv4addr ] - IPv4 dns
v4_dns2 [ ipv4addr ] - IPv4 dns
v6_dns1 [ ] - IPv6 dns
v6_dns2 [ ] - IPv6 dns
show_acl [ ] - should show acls
Ifaces
vnet_name [ required ] - Network name
vm_uuid [ required ] - VM uuid
ipv [ int required ] - Network IPV [4, 6]
mac [ required ] - Iface MAC
show_acl [ ] - show acls attached to iface
Addrs
vnet_name [ required ] - Network name
ipv [ int required ] - Network IPV [4, 6]
ip [ required ] - Virtual IP
uuid [ required ] - VM uuid
ACLs
name [ required ] - ACL name
data [ jsonstr required ] - ACLs rules as JSON string