-
Notifications
You must be signed in to change notification settings - Fork 13
Placement Plugin
The placement plugin is the MANO component that is called when a service needs to be placed, if that service does not specify a placement SSM. The placement plugin contains the default placement algorithm. The placement plugin requires the following ENV
-
broker_host
: amqp://guest:guest@son-broker:5672/%2F
The placement plugin listens on the topic mano.service.place
for placement requests. These requests, and the response that the placement plugin will formulate, should have the following characteristics.
To request a placement, The SLM sends a request to the placement plugin. This message requires the following header fields:
-
app_id
: to indicate the sender of the message -
correlation_id
: a correlation id for the message -
reply_to
: the topic on which the sender expects a response, in this casemano.service.place
The payload of the request is a yaml encoded dictionary that should include the following fields:
-
nsd
: the network service descriptor -
functions
: a list with the VNF descriptors -
topology
: a dictionary with the topology of the infrastructure -
serv_id
: the service instance id of the service that is being placed -
nap
: a dictionary with information on the ip and the location of the sources and destinations of the service
The response of the placement plugin will have the following headers:
-
app_id
: To indicate which MANO Framework plugin responded -
correlation_id
: The same correlation id as in the request
The payload of the message is a yaml encoded dictionary with the following fields:
-
mapping
: eitherNone
, when a mapping was not possible, or a dictionary. This dictionary has an element for each VNF in the service. The id of the VNF instance is the key, the value is again a dictionary. This dictionary hasvim
as key, which has the id of that VIM as value.