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>",
"vtep_if": "<vtep_if>",
"vxlan_vid_range": "<vxlan_vid_range>"
}
}
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
vtep_if [ ] - VTEP interface name
vxlan_vid_range [ netvlanrange * ] - List of allocated vlans for VxLAN networks
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>",
"vtep_if": "<vtep_if>",
"vxlan_vid_range": "<vxlan_vid_range>"
}
}
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
vtep_if [ ] - VTEP interface name
vxlan_vid_range [ netvlanrange * ] - List of allocated vlans for VxLAN networks
Delete IPAM network
Context model: Networks
Request data
Description
net_uuid [ required ] - Network UUID
Add IPAM network
Context model: Networks
Request data
{
"context": {
"op": "network_add"
},
"data": {
"name": "<name>",
"ns": "<ns>",
"ipv": "<ipv>",
"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
ipv [ required ] - Network IP version ['4', '6']
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
{
"context": {
"op": "network_show"
},
"data": {
"net_uuid": "<net_uuid>",
"show_acl": "<show_acl>"
}
}
Description
net_uuid [ required ] - Network UUID
show_acl [ ] - should show acls
Update IPAM VLAN or VxLAN
Context model: Networks
Request data
{
"context": {
"op": "network_update"
},
"data": {
"net_uuid": "<net_uuid>",
"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
net_uuid [ required ] - Network UUID
name [ ] - 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 VLANs or VxLANs
Context model: Networks
Request data
Description
show_acl [ ] - should show acls
Add virtual ip
Context model: Addrs
Request data
Description
net_uuid [ required ] - Network UUID
ip [ required ] - Virtual IP
List virtual ip
Context model: Addrs
Request data
Description
net_uuid [ required ] - Network UUID
test technical cmd
Context model: Addrs
Request data
{
"context": {
"op": "addr_free_list"
},
"data": {
"uuid": "<uuid>",
"full_output": "<full_output>"
}
}
Description
uuid [ required ] - net_uuid or subnet_uuid
full_output [ ] - {{ no such element: dict object['desc'] }}
Del virtual ip
Context model: Addrs
Request data
Description
net_uuid [ required ] - Network UUID
ip [ required ] - Virtual IP
List allocated ip in vnet
Context model: Addrs
Request data
Description
uuid [ required ] - net_uuid or subnet_uuid
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
Description
net_uuid [ required ] - {{ no such element: dict object['desc'] }}
acls [ * required ] - List of ACLs names
Delete ACLs from network
Context model: ACLs
Request data
Description
net_uuid [ required ] - Network UUID
acls [ * required ] - List of ACLs names
Add ACLs to iface
Context model: ACLs
Request data
{
"context": {
"op": "iface_acls_add"
},
"data": {
"net_uuid": "<net_uuid>",
"mac": "<mac>",
"acls": "<acls>"
}
}
Description
net_uuid [ required ] - Network UUID
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": {
"net_uuid": "<net_uuid>",
"mac": "<mac>",
"acls": "<acls>"
}
}
Description
net_uuid [ required ] - Network UUID
mac [ required ] - Iface MAC address
acls [ * required ] - List of ACLs names
Define VxLAN network
Request data
{
"context": {
"op": "vxlan_network_add"
},
"data": {
"name": "<name>",
"ns": "<ns>",
"descr": "<descr>"
}
}
Description
name [ str required ] - VxLAN network name
ns [ str ] - VxLAN target namespace
descr [ str ] - VxLAN network description
List all cluster VxLAN networks
Request data
Update VxLAN network
Request data
{
"context": {
"op": "vxlan_network_update"
},
"data": {
"vxlan_uuid": "<vxlan_uuid>",
"name": "<name>",
"ns": "<ns>",
"descr": "<descr>"
}
}
Description
vxlan_uuid [ str required ] - VxLAN UUID
name [ str ] - VxLAN network name
ns [ str ] - VxLAN target namespace
descr [ str ] - VxLAN network description
Delete VxLAN network
Request data
Description
vxlan_uuid [ str required ] - VxLAN UUID
Create VxLAN subnet
Request data
{
"context": {
"op": "vxlan_subnet_add"
},
"data": {
"name": "<name>",
"vxlan_uuid": "<vxlan_uuid>",
"network": "<network>",
"ip_first": "<ip_first>",
"ip_last": "<ip_last>",
"gateway": "<gateway>",
"dns_1": "<dns_1>",
"dns_2": "<dns_2>",
"desc": "<desc>"
}
}
Description
name [ str required ] - network name
vxlan_uuid [ str required ] - parent VxLAN UUID
network [ ipv4network required ] - network address
ip_first [ ipv4addr required ] - network ip range start
ip_last [ ipv4addr required ] - network ip range end
gateway [ ipv4addr ] - default gateway address
dns_1 [ ipv4addr ] - dns1 server address
dns_2 [ ipv4addr ] - dns2 server address
desc [ str ] - network description
Update VxLAN subnet
Request data
{
"context": {
"op": "vxlan_subnet_update"
},
"data": {
"subnet_uuid": "<subnet_uuid>",
"name": "<name>",
"ip_first": "<ip_first>",
"ip_last": "<ip_last>",
"gateway": "<gateway>",
"dns_1": "<dns_1>",
"dns_2": "<dns_2>",
"descr": "<descr>"
}
}
Description
subnet_uuid [ str required ] - subnet UUID
name [ str ] - network name
ip_first [ ipv4addr ] - network ip range start
ip_last [ ipv4addr ] - network ip range end
gateway [ ipv4addr ] - default gateway address
dns_1 [ ipv4addr ] - dns1 server address
dns_2 [ ipv4addr ] - dns2 server address
descr [ str ] - network description
Show VxLAN subnet
Request data
Description
subnet_uuid [ str required ] - subnet UUID
List VxLAN subnets
Request data
Description
vxlan_uuid [ str ] - parent VxLAN UUID
Delete VxLAN subnet
Request data
Description
subnet_uuid [ str required ] - subnet UUID
List network interfaces
Request data
{
"context": {
"op": "iface_list"
},
"data": {
"net_uuid": "<net_uuid>",
"vxlan_uuid": "<vxlan_uuid>",
"show_acl": "<show_acl>"
}
}
Description
net_uuid [ str ] - Network UUID
vxlan_uuid [ str ] - VxLAN UUID
show_acl [ str ] - Show ACL rules for interface y/n
Update existing VM network interface
Request data
{
"context": {
"op": "iface_update"
},
"data": {
"iface_id": "<iface_id>",
"ip_address": "<ip_address>"
}
}
Description
iface_id [ str required ] - Interface UUID
ip_address [ ipv4addr required ] - New IP address for interface
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
net_uuid [ required ] - Network UUID
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
vm_uuid [ required ] - VM uuid
ipv [ int required ] - Network IPV [4, 6]
mac [ required ] - Iface MAC
show_acl [ ] - show acls attached to iface
Addrs
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