-
Notifications
You must be signed in to change notification settings - Fork 1
RabbitMQ API Reference
The Infrastructure Abstraction is reachable on the follow topics on the Service Platform message broker:
-
infrastructure.management.compute.add
: Add Compute VIM -
infrastructure.management.network.add
: Add Network VIM -
infrastructure.management.compute.list
: List Compute VIM -
infrastructure.management.network.list
: List Network VIM -
infrastructure.management.{network,compute}.remove
: Remove VIM -
infrastructure.service.network.create
: Create Networks for service deployment -
infrastructure.service.network.delete
: Delete Networks for service deployment -
infrastructure.function.deploy
: Deploy a VNF instance for a Service -
infrastructure.function.configure
: Configure a VNF instance for a Service -
infrastructure.service.chain.configure
: Configure intra-PoP chaining -
infrastructure.chain.deconfigure
: Deconfigure intra-PoP chaining -
infrastructure.function.remove
: Remove a VNF instance for a Service -
infrastructure.service.remove
: Remove Service instance -
infrastructure.management.wan.add
: Add a WIM -
infrastructure.management.wan.list
: List WIMs -
infrastructure.management.wan.attach
: Link VIM to WIM -
infrastructure.management.wan.remove
: Remove WIM -
infrastructure.service.wan.configure
: Configure WAN for service instance -
infrastructure.service.wan.deconfigure
: Deconfigure WAN for service instance
Register a Compute VIM to the IA.
-
topic:
infrastructure.management.compute.add
-
data:
{ vim_type: String, configuration: { tenant_ext_router: String, tenant_ext_net: String, tenant: String }, city: String, country: String, vim_address: String, username: String, pass: String, domain: String, name: String }
-
return:
{request_status: String, uuid: String, message: String}
when request_status is "COMPLETED", uuid field carries the UUID of the registered VIM and message field is null, when request_status is "ERROR", message field carries a string with the error message, and the uuid field is empty.
Register a Network VIM to the IA, also specifying the Compute VIM to which it is attached.
-
topic:
infrastructure.management.network.add
-
data:
{ vim_type: String, vim_address: String, username: String, city: String, country: String, pass: String, configuration: { compute_uuid: String }, domain: String, name: String }
, compute_uuid must contain the UUID of a compute VIM already registered to the platform. -
return:
{request_status: String, uuid: String, message: String}
, when request_status is "COMPLETED", uuid fields carries the UUID of the registered VIM and message field is null, when request_status is "ERROR", message field carries a string with the error message, and the uuid field is empty.
Return a list of the registered compute VIMs and NEPs, along with basic information on the resource totally available and consumed in this VIM.
-
topic:
infrastructure.management.compute.list
- data: null
-
return:
{vim_list: [{vim_uuid: String, type: String, vim_city: String, vim_domain: String, vim_name: String, vim_endpoint: String, memory_total: int, memory_used: int, core_total: int, core_used: int}], nep_list: [{nep_uuid: String, type: String, nep_name: String}]}
, when exist an error, request_status is "ERROR", message field carries a string with the error message and the other fields are empty. Field 'type' can be "vm" or "container".
Return a list of the registered Network VIMs.
-
topic:
infrastructure.management.network.list
- data: null
-
return:
{[ { vim_uuid: String, vim_city: String, vim_name: String, vim_endpoint: String } ]}
, when exist an error, request_status is "ERROR" or "fail", message field carries a string with the error message and the other fields are empty.
Remove a VIM from the the IA, being it a Network VIM or a Compute VIM.
-
topic:
infrastructure.management.{network,compute}.remove
-
data:
{uuid:String}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Create networks in NFVI-PoPs of a Network Service/Slice instance. This message is also used to prepare a list of NFVI-PoP for the deployment of a NS instance (creating network facilities to which VNFs will be attached).
-
topic:
infrastructure.service.network.create
-
data:
{instance_id: String, vim_list: [{uuid: String, virtual_links: [{id: String, access: String, dhcp: String, cidr: String, qos: String, qos_requirements: {bandwidth_limit: {bandwidth: int, bandwidth_unit: String}, minimum_bandwidth: {bandwidth: int, bandwidth_unit: String} } } }] }] }
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Delete networks in NFVI-PoPs of a Network Service/Slice instance, after the preparation was done (needs a network.create message first).
-
topic:
infrastructure.service.network.delete
-
data:
{instance_id: String, vim_list: [{uuid: String, virtual_links: [{id: String}] }] }
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Deploy a VNF given the relevant VNFD, the UUID of the compute VIM in which the VNF must be deployed and the service instance ID of the relevant network service instance. This includes deploying VNF images in the relevant image repository (e.g. Glance or Docker image repository). This call returns an incomplete VNF Record containing the field that are generated at the infrastructural level, such as VNFC number and identifiers, IP and MAC addresses, etc.
-
topic:
infrastructure.function.deploy
-
data:
{vim_uuid: String, service_instance_id: String, vnfd: SonataVnfDescriptor}
-
return:
{ instanceName: String, instanceVimUuid: String, vimUuid: String, request_status: String, ip_mapping: [{ SonataIpMapping }], vnfr: SonataVnfRecord, message: String }
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message and the other fields are empty.
Configure a VNF given the UUID of the compute VIM, the service instance ID and the specific fields for configure. (e.g. for k8s vim wrapper, the fields for configuration are: cdu_id, envs and func_id)
-
topic:
infrastructure.function.configure
-
data:
{vim_uuid: String, service_instance_id: String, ...}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message.
For each NFVI-PoP involved in the deployment of a network service, the function chaining between VNFs deployed in the same PoP is configured following the specification contained in the NS Forwarding graph and configured for the flows specified in the ingress_nap and egress_nap list, which is retrieved from the information specified by the SP user during the service instantiation request described in the D43_BSS_Module.
-
topic:
infrastructure.service.chain.configure
-
data:
{service_instance_id: String, nsd: SonataNSDescriptor, vnfds: [{ SonataVNFDescriptor }], vnfrs: [{ SonataVNFRecord }], nap: {ingresses: [{ location:String, nap:x.x.x.x/y }], egresses: [{ location:String, nap:x.x.x.x/y }] }}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Remove the SFC rules in the given Compute VIM related to the deployment of a specific network service instance.
-
topic:
infrastructure.chain.deconfigure
-
data:
{service_instance_id: String, vim_uuid: String}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED" message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Remove a specific VNF instance of a given Network Service instance from a given compute VIM.
-
topic:
infrastructure.function.remove
-
data:
{service_instance_id: String, vim_uuid: String, vnf_uuid: String}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED" message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Remove all the VNFs instances of a given Network Service instance from the given compute VIM.
-
topic:
infrastructure.service.remove
-
data:
{instance_uuid: String, vim_uuid: String}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED" message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Register a WIM to the IA.
-
topic:
infrastructure.management.wan.add
- data: `{wim_vendor: String, wim_address: String, username: String, pass: String, name: String}``, allowed values for wim_vendor is "VTN" and "MOCK", when one wants a deployment without WAN configuration.
-
return:
{request_status: String, uuid: String, message: String}
, when request_status is "COMPLETED", uuid fields carries the UUID of the registered WIM and message field is null, when request_status is "ERROR", message field carries a string with the error message, and the uuid field is empty.
Retrieve a list of the WIMs registered to the IA.
-
topic:
infrastructure.management.wan.list
-
data:
null
-
return:
{wim_list: [{uuid: String, name: String, attached_vims: [Strings], attached_endpoints: [Strings], qos: [{node_1: String, node_2: String, latency: int: latency_unit: String, bandwidth: int, bandwidth_unit: String}]}]}
, when exist an error, request_status is "ERROR", message field carries a string with the error message and the other fields are empty.
Store in the WIM repository the connection information of a NFVI-PoP (i.e. Compute VIM) to a specific WIM.
-
topic:
infrastructure.management.wan.attach
-
data:
{wim_uuid: String, vim_uuid: String, vim_address: String}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Remove a WIM from the the IA. This also remove the link VIM to WIM.
-
topic:
infrastructure.management.wan.remove
-
data:
{uuid:String}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR", message field carries a string with the error message.
Configure the WAN to allow traffic flow defined by the pair (''ingress_nap'',''egress_nap'') to be steered through the NFVI-PoP where VNFs of the relevant service instance are deployed.
-
topic:
infrastructure.service.wan.configure
-
data:
{service_instance_id: String, wim_uuid: String, vl_id: String, ingress: {location: String, nap: String}, egress: {location: String, nap: String}, qos: {latency: int: latency_unit: String, bandwidth: int, bandwidth_unit: String}, bidirectional: bool }
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR" or "fail" or "FAILED", message field carries a string with the error message.
Remove the WAN configuration associated with a Network Service instance for a given WIM.
-
topic:
infrastructure.service.wan.deconfigure
-
data:
{service_instance_id: String, wim_uuid: String, vl_id: String}
-
return:
{request_status: String, message: String}
, when request_status is "COMPLETED", message field is empty, when request_status is "ERROR" or "fail", message field carries a string with the error message.