Background
Prerequisite
Design
Controller Design Studio (resource assignments)
The controller blueprint is the design time framework allowing service designer to express the what and the how to resolve resources. It uses a fully model-driven approach pushing for re-usability of artifacts.
In Casablanca, CDS solves the pre-instantiation use-case; meaning it can be used to resolve resources required to instantiate a service. The resolution can occur at VNF as well as at VF-MODULE assignment level; this correlates to the new SO Building Block flows and actions introduced in Casablanca.
The main runtime components used by CDS are the:
Service Logic Interpretor (Directed Graph engine):
To support the runtime execution process, a set of self-serve
DGs were introduced in Casablanca. These are fully service agnostics.
The hooks to call the self serve flow at VNF and VF-MODULE level has been introduced in the main DGs, beeing GENERIC-RESOURCE-API_vnf-topology-operation-assign.json
and GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json
.
These gets called as part of the assignment step trigger by SO to SDNC, using the GENERIC-RESOURCE-API
(see the requests here).
The self-serve-*-ra-assignent
DGs are the ones responsible for fetching the blueprint and the templates.
-rw-r--r-- 189087 GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.json blob | history | raw
-rw-r--r-- 32045 GENERIC-RESOURCE-API_self-serve-aai-vnf-put.json blob | history | raw
-rw-r--r-- 23688 GENERIC-RESOURCE-API_self-serve-capability-param-resolution.json blob | history | raw
-rw-r--r-- 29303 GENERIC-RESOURCE-API_self-serve-generate-name-changeassign.json blob | history | raw
-rw-r--r-- 101239 GENERIC-RESOURCE-API_self-serve-generate-name.json blob | history | raw
-rw-r--r-- 84006 GENERIC-RESOURCE-API_self-serve-mS-mac-address-assign.json blob | history | raw
-rw-r--r-- 89796 GENERIC-RESOURCE-API_self-serve-mS-vlan-tag-assign.json blob | history | raw
-rw-r--r-- 55272 GENERIC-RESOURCE-API_self-serve-netbox-ip-assign.json blob | history | raw
-rw-r--r-- 28002 GENERIC-RESOURCE-API_self-serve-unresolved-composite-data.json blob | history | raw
-rw-r--r-- 36800 GENERIC-RESOURCE-API_self-serve-vf-module-assign.json blob | history | raw
-rw-r--r-- 9227 GENERIC-RESOURCE-API_self-serve-vf-module-forking-logic.json blob | history | raw
-rw-r--r-- 23478 GENERIC-RESOURCE-API_self-serve-vf-module-unassign.json blob | history | raw
-rw-r--r-- 11149 GENERIC-RESOURCE-API_self-serve-vfmodule-changeassign.json blob | history | raw
-rw-r--r-- 29904 GENERIC-RESOURCE-API_self-serve-vfmodule-ra-assignment.json blob | history | raw
-rw-r--r-- 37339 GENERIC-RESOURCE-API_self-serve-vnf-assign.json blob | history | raw
-rw-r--r-- 10867 GENERIC-RESOURCE-API_self-serve-vnf-changeassign.json blob | history | raw
-rw-r--r-- 6597 GENERIC-RESOURCE-API_self-serve-vnf-forking-logic.json blob | history | raw
-rw-r--r-- 25815 GENERIC-RESOURCE-API_self-serve-vnf-ra-assignment.json blob | history | raw
-rw-r--r-- 19779 GENERIC-RESOURCE-API_self-serve-vnf-unassign.json blob | history | raw
- Resource accumulator:
It gets called as part of the DG execution, and its goal is to resolve the resources as per as the node_template getting processed.
In Casablanca, CDS support the following source for resolution:
- SQL
- MD-SAL
- Input
- Default
- Capability: the logic to resolve the resource for that type of source is a DG, hence DG development is required to support a new capability
There are two categories of resources, the ones that gets created; and the one that gets resolved, that were already existing. A capability as mentioned previously defines the former.
Blueprint
The blueprint is the overall JSON TOSCA based artifact expressing the what
for the resource assignment process; i.e. vFW_spinup.json for this use case.
It contains a metadata section; among other fields, the following two are important as they will be used at the HEAT design time. They will allow the runtime process to identify the blueprint to use for a given service.
- template_version
- template_name
In Casablanca, for the vFW use-case, the blueprint is used to defined the various node_templates
, along with their resource mappings
.
node_templates
It defines the contract of the template, e.g. what resources should be resolved. It has the following caracteristics:
- Its name has to match the name of the template.
- It defines all the resources required to be resolved.
We can have as many node template as necessary.
In the case of the vFW use case, we have 5, one for the VNF, and four for each VFC (see topology).
- VNF
- base template
- vfw
- vsn
- vpg
mapping
They belong to a node_template
, and define the contract (the what
) of each resources to be resolved; it's comprised of:
- name
- required / optional
- type (support complex type)
- dictionary-name
- dictionary-source
- dependencies: this allows to make sure given resources get resolved prior the resolution of the resources defining the dependency.
The dictionary fields reference to a specific data dictionary.
Template
For the pre-instantiation use-case, the template getting used are the resource accumulator templates. In Casablanca, these templates are manually created.
The resource accumulator template can be composed of the following sections:
- resource-accumulator-resolved-data: this defines all the resources that can be resolved directly from the Service Logic Interpretor context
Data Dictionary
Topology
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IkFsZXhpcyBkZSBUYWxob3XDq3QiLCJvdXRwdXRUeXBlIjoiYmxvY2siLCJsYXN0TW9kaWZpZXJOYW1lIjoiQWxleGlzIGRlIFRhbGhvdcOrdCIsImxhbmd1YWdlIjoiZW4iLCJkaWFncmFtRGlzcGxheU5hbWUiOiIiLCJzRmlsZUlkIjoiIiwiYXR0SWQiOiI0NTMwMzk4OCIsImRpYWdyYW1OYW1lIjoiU2VydmljZSBUb3BvbG9neSIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJ2RlcgQ0RTIENhc2FibGFuY2EiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjQ1MzA0MDAwLCJlZGl0YWJsZSI6ZmFsc2UsImNlb0lkIjo0NTMwNDIyMSwicGFnZUlkIjoiIiwibGJveCI6dHJ1ZSwic2VydmVyQ29uZmlnIjp7ImVtYWlscHJldmlldyI6IjEifSwib2RyaXZlSWQiOiIiLCJyZXZpc2lvbiI6OCwibWFjcm9JZCI6IjBlOGQ2YTg2LTUyZjItNGJkMC04MWI3LWY5ZGQwNGI3ZjEwNiIsInByZXZpZXdOYW1lIjoiU2VydmljZSBUb3BvbG9neS5wbmciLCJsaWNlbnNlU3RhdHVzIjoiT0siLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoiNDAxIiwic2ltcGxlVmlld2VyIjpmYWxzZSwibGFzdE1vZGlmaWVkIjoxNTQyNjYzODYyMDAwLCJleGNlZWRQYWdlV2lkdGgiOmZhbHNlLCJvQ2xpZW50SWQiOiIifQ==
HEAT
Each VFC have its own HEAT template and environment file. One of the HEAT template is the base_template
, it takes care of the creation of shared resources accross others VFC; i.e the protected
and unprotected
networks. Within the MANIFEST.json
file, the base_template
is identified by the boolean is_base = true
, ex: https://github.com/onap/demo/blob/master/heat/vFW_NextGen/templates/MANIFEST.json#L8 This allows to correctly resolved the VFC dependency.
In Casablanca, as CDS isn't integrated within SDC, in order for the runtime to know CDS should be used for assignment, the following fields are added to the server's metadata in the HEAT template:
sdnc_model_name
sdnc_model_version
sdnc_artifact_name
.
They identify a Controller Blueprint that has been designed and published; ex: https://github.com/onap/demo/blob/master/heat/vFW_NextGen/templates/vfw.yaml#L200
Policy
In order to generate consistent name accross instances of the service, a naming policy has been created. The naming policy provide the recipe to generate name based on the network function type, e.g. VNF, VNC, VF-MODULE, etc...
For the vFW use case, we have a specific policy for each VFC
mysql> mysql> select * from VF_MODEL where nf_function="ONAP-FIREWALL";
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+-------------------------+---------------------------------------+------------------------+----------------------+---------------+---------+----------+---------+-------------------------+----------------+-----------------+--------------------+--------------------+
| customization_uuid | model_yaml | invariant_uuid | uuid | version | name | naming_policy | ecomp_generated_naming | avail_zone_max_count | nf_function | nf_code | nf_type | nf_role | vendor | vendor_version | sdnc_model_name | sdnc_model_version | sdnc_artifact_name |
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+-------------------------+---------------------------------------+------------------------+----------------------+---------------+---------+----------+---------+-------------------------+----------------+-----------------+--------------------+--------------------+
| 39106d12-7629-4b6a-a6d5-b6d7a8041f00 | null | 106c91b3-c577-4658-b8c1-8bc9cd86c672 | 71256464-e388-4b7f-9b92-7c5616766465 | 1.0 | b551da0a-1fe2-489d-a486 | SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP | Y | 1 | ONAP-FIREWALL | vfw | FIREWALL | vFW | 9debd032-c839-4a61-a149 | 1.0 | vFW_spinup | 1.0.0 | vFW_vNF_Artifact |
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+-------------------------+---------------------------------------+------------------------+----------------------+---------------+---------+----------+---------+-------------------------+----------------+-----------------+--------------------+--------------------+
1 row in set (0.00 sec)
mysql> select * from VF_MODULE_MODEL where vf_customization_uuid="39106d12-7629-4b6a-a6d5-b6d7a8041f00";
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+----------------+-------------------------+--------------------------------+--------------------------------------+-----------------+
| customization_uuid | model_yaml | invariant_uuid | uuid | version | vf_module_type | availability_zone_count | ecomp_generated_vm_assignments | vf_customization_uuid | vf_module_label |
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+----------------+-------------------------+--------------------------------+--------------------------------------+-----------------+
| 18718327-3953-4fab-8802-aa55ecc42c29 | null | 5d0cc1d8-94f1-461c-a7be-3d18cc22da38 | c29a71ad-01fe-4f57-b64f-91e30da52274 | 1 | Expansion | NULL | NULL | 39106d12-7629-4b6a-a6d5-b6d7a8041f00 | vsn |
| 4e65668c-74b0-448f-b2d2-80ed3b1afa5d | null | 986109de-26dc-4084-8ca9-7306f2bb68f3 | 3f392a6b-585e-4e1c-ad98-459a17957841 | 1 | Base | NULL | NULL | 39106d12-7629-4b6a-a6d5-b6d7a8041f00 | base_template |
| 8a4361d4-18a7-4122-9fc8-554db20c03d9 | null | b95372f6-e4c3-4ee0-bb69-c343bec4d7b8 | 7bc1ace1-fe43-4b21-b5d8-60e2da5d3ada | 1 | Expansion | NULL | NULL | 39106d12-7629-4b6a-a6d5-b6d7a8041f00 | vfw |
| d48b9a01-8eb9-46e0-a1d6-bd1dbe8c769d | null | b0443ba5-090d-4210-9855-5aacd960d96e | 381bf92b-d500-4ff4-a6b0-c4c875aa2df1 | 1 | Expansion | NULL | NULL | 39106d12-7629-4b6a-a6d5-b6d7a8041f00 | vpg |
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+----------------+-------------------------+--------------------------------+--------------------------------------+-----------------+
4 rows in set (0.01 sec)
mysql> select * from VFC_MODEL where naming_policy LIKE "SDNC_Policy%";
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+---------------------------------------+------------------------+--------------+-----------------+---------+-------------+------------------------------------------+---------------------------------------------------+-------------------+------------------------------------------------------------------------------------+---------------+---------------+
| customization_uuid | model_yaml | invariant_uuid | uuid | version | naming_policy | ecomp_generated_naming | nfc_function | nfc_naming_code | vm_type | vm_type_tag | vm_image_name | vm_flavor_name | high_availability | nfc_naming | min_instances | max_instances |
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+---------------------------------------+------------------------+--------------+-----------------+---------+-------------+------------------------------------------+---------------------------------------------------+-------------------+------------------------------------------------------------------------------------+---------------+---------------+
| c619861e-6a66-4e9a-9d78-89327c07690d | null | 0f650273-b429-49f3-b075-6785fa2d19f2 | 8aa52209-f22f-44fb-ae44-26bfc8b1a5f9 | 1.0 | SDNC_Policy.ONAP_VSN_NAMING_TIMESTAMP | Y | vsn | vsn | vsn | vsn | PUT THE VM IMAGE NAME HERE (UBUNTU 1404) | PUT THE VM FLAVOR NAME HERE (m1.medium suggested) | NULL | {naming_policy=SDNC_Policy.ONAP_VSN_NAMING_TIMESTAMP, ecomp_generated_naming=true} | 0 | NULL |
| cd2b0be2-a3e0-40d9-baed-84aff8bf2516 | null | 5c55a913-b8a6-4e0f-9aed-71e27f383e25 | 18a784c9-4654-4698-bace-deda8673741c | 1.0 | SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP | Y | vfw | vfw | vfw | vfw | PUT THE VM IMAGE NAME HERE (UBUNTU 1404) | PUT THE VM FLAVOR NAME HERE (m1.medium suggested) | NULL | {naming_policy=SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP, ecomp_generated_naming=true} | 0 | NULL |
| d8d24f05-beab-4a2b-b1d3-7241fb0fe39b | null | 29fc467e-e69d-46da-8eaf-5c42996b7b26 | 20e5401b-1f75-4c56-b16e-c7a0c010e5c2 | 1.0 | SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP | Y | vpg | vpg | vpg | vpg | PUT THE VM IMAGE NAME HERE (UBUNTU 1404) | PUT THE VM FLAVOR NAME HERE (m1.medium suggested) | NULL | {naming_policy=SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP, ecomp_generated_naming=true} | 0 | NULL |
+--------------------------------------+------------+--------------------------------------+--------------------------------------+---------+---------------------------------------+------------------------+--------------+-----------------+---------+-------------+------------------------------------------+---------------------------------------------------+-------------------+------------------------------------------------------------------------------------+---------------+---------------+
3 rows in set (0.00 sec)
Instantiation
Assignment
SDNC requests
During the assignment process, SO building blocks are calling SDNC GENERIC-RESOURCE-API with the assignment action. This occurs as Service, VNF and VF-MODULE level. Bellow are the payloads.
http://sdnc.onap:8282/restconf/operations/GENERIC-RESOURCE-API:service-topology-operation/
{
"input": {
"request-information": {
"request-action": "CreateServiceInstance",
"source": "MSO",
"request-id": "e9701845-a7af-4a60-b800-84647693f5f8"
},
"sdnc-request-header": {
"svc-request-id": "e9701845-a7af-4a60-b800-84647693f5f8",
"svc-action": "assign"
},
"service-information": {
"onap-model-information": {
"model-name": "vFWNG 2018-11-16 13:04:",
"model-version": "1.0",
"model-uuid": "f688ee9f-0fa0-4e22-bc93-ce1abd43f52e",
"model-invariant-uuid": "ec75d7c7-8fdf-4f35-a4bf-3df4cc66dc00"
},
"subscription-service-type": "vFW",
"service-id": "c478e926-f4ca-41e8-9c74-af700ba80f56",
"global-customer-id": "Demonstration",
"service-instance-id": "c478e926-f4ca-41e8-9c74-af700ba80f56"
},
"service-request-input": {
"service-instance-name": "vFWNG_CDS_0"
}
}
}
POST http://sdnc.onap:8282/restconf/operations/GENERIC-RESOURCE-API:vnf-topology-operation/
{
"input": {
"request-information": {
"request-action": "CreateVnfInstance",
"source": "MSO",
"request-id": "142ce2b5-f7ef-44be-b310-74e18895cfb8"
},
"sdnc-request-header": {
"svc-request-id": "142ce2b5-f7ef-44be-b310-74e18895cfb8",
"svc-action": "assign"
},
"service-information": {
"onap-model-information": {
"model-name": "vFWNG 2018-11-16 13:04:",
"model-version": "1.0",
"model-uuid": "f688ee9f-0fa0-4e22-bc93-ce1abd43f52e",
"model-invariant-uuid": "ec75d7c7-8fdf-4f35-a4bf-3df4cc66dc00"
},
"subscription-service-type": "vFW",
"service-id": "c478e926-f4ca-41e8-9c74-af700ba80f56",
"global-customer-id": "Demonstration",
"service-instance-id": "c478e926-f4ca-41e8-9c74-af700ba80f56"
},
"vnf-information": {
"onap-model-information": {
"model-name": "b551da0a-1fe2-489d-a486",
"model-version": "1.0",
"model-customization-uuid": "39106d12-7629-4b6a-a6d5-b6d7a8041f00",
"model-uuid": "71256464-e388-4b7f-9b92-7c5616766465",
"model-invariant-uuid": "106c91b3-c577-4658-b8c1-8bc9cd86c672"
},
"vnf-id": "cdf6d5d1-f589-49a1-9868-ae3bd927c8a9",
"vnf-name": "vFirewall 0",
"vnf-type": "vFWNG 2018-11-16 13:04:/null"
},
"vnf-request-input": {
"aic-cloud-region": "RegionOne",
"cloud-owner": "CloudOwner",
"tenant": "09d8566ea45e43aa974cf447ed591d77",
"vnf-network-instance-group-ids": [
],
"vnf-input-parameters": {
"param": [
{
"name": "image_name",
"value": "Ubuntu_14.04.5_LTS"
},
{
"name": "onap_private_net_id",
"value": "oam_network_FMYR"
},
{
"name": "pub_key",
"value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwj7uJMyKiP1ogEsZv5kKDFw9mFNhxI+woR3Tuv8vjfNnqdB1GfSnvTFyNbdpyNdR8BlljkiZ1SlwJLEkvPk0HpOoSVVek/QmBeGC7mxyRcpMB2cNQwjXGfsVrforddXOnOkj+zx1aNdVGMc52Js3pex8B/L00H68kOcwP26BI1o77Uh+AxjOkIEGs+wlWNUmXabLDCH8l8IJk9mCTruKEN9KNj4NRZcaNC+XOz42SyHV9RT3N6efp31FqKzo8Ko63QirvKEEBSOAf9VlJ7mFMrGIGH37AP3JJfFYEHDdOA3N64ZpJLa39y25EWwGZNlWpO/GW5bNjTME04dl4eRyd"
}
]
},
"vnf-name": "vFirewall 0"
}
}
}
POST http://sdnc.onap:8282/restconf/operations/GENERIC-RESOURCE-API:vf-module-topology-operation/
{
"input": {
"request-information": {
"request-action": "CreateVfModuleInstance",
"source": "MSO",
"request-id": "e90d493b-a530-4c8e-b7ff-1bce99a79783"
},
"sdnc-request-header": {
"svc-request-id": "e90d493b-a530-4c8e-b7ff-1bce99a79783",
"svc-action": "assign"
},
"service-information": {
"onap-model-information": {
"model-name": "vFWNG 2018-11-16 13:04:",
"model-version": "1.0",
"model-uuid": "f688ee9f-0fa0-4e22-bc93-ce1abd43f52e",
"model-invariant-uuid": "ec75d7c7-8fdf-4f35-a4bf-3df4cc66dc00"
},
"subscription-service-type": "vFW",
"service-id": "c478e926-f4ca-41e8-9c74-af700ba80f56",
"global-customer-id": "Demonstration",
"service-instance-id": "c478e926-f4ca-41e8-9c74-af700ba80f56"
},
"vf-module-information": {
"onap-model-information": {
"model-name": "B551da0a1fe2489dA486..base_template..module-0",
"model-version": "1",
"model-customization-uuid": "4e65668c-74b0-448f-b2d2-80ed3b1afa5d",
"model-uuid": "3f392a6b-585e-4e1c-ad98-459a17957841",
"model-invariant-uuid": "986109de-26dc-4084-8ca9-7306f2bb68f3"
},
"vf-module-id": "b7384274-aa66-4794-91ae-637d775c6725",
"vf-module-type": "B551da0a1fe2489dA486..base_template..module-0"
},
"vf-module-request-input": {
"aic-cloud-region": "RegionOne",
"cloud-owner": "CloudOwner",
"tenant": "09d8566ea45e43aa974cf447ed591d77",
"vf-module-name": "vfirewall0..Vfirewall..base_template..module-0",
"vf-module-input-parameters": {
}
},
"vnf-information": {
"onap-model-information": {
"model-name": "b551da0a-1fe2-489d-a486",
"model-version": "1.0",
"model-customization-uuid": "39106d12-7629-4b6a-a6d5-b6d7a8041f00",
"model-uuid": "71256464-e388-4b7f-9b92-7c5616766465",
"model-invariant-uuid": "106c91b3-c577-4658-b8c1-8bc9cd86c672"
},
"vnf-id": "cdf6d5d1-f589-49a1-9868-ae3bd927c8a9",
"vnf-name": "RegionOne_vFW_20181116T195414474Z",
"vnf-type": "vFWNG 2018-11-16 13:04:/null"
}
}
}
POST http://sdnc.onap:8282/restconf/operations/GENERIC-RESOURCE-API:vf-module-topology-operation/
{
"input": {
"request-information": {
"request-action": "CreateVfModuleInstance",
"source": "MSO",
"request-id": "eab8ec76-9fa1-4f87-b39d-a6e87b451478"
},
"sdnc-request-header": {
"svc-request-id": "eab8ec76-9fa1-4f87-b39d-a6e87b451478",
"svc-action": "assign"
},
"service-information": {
"onap-model-information": {
"model-name": "vFWNG 2018-11-16 13:04:",
"model-version": "1.0",
"model-uuid": "f688ee9f-0fa0-4e22-bc93-ce1abd43f52e",
"model-invariant-uuid": "ec75d7c7-8fdf-4f35-a4bf-3df4cc66dc00"
},
"subscription-service-type": "vFW",
"service-id": "c478e926-f4ca-41e8-9c74-af700ba80f56",
"global-customer-id": "Demonstration",
"service-instance-id": "c478e926-f4ca-41e8-9c74-af700ba80f56"
},
"vf-module-information": {
"onap-model-information": {
"model-name": "B551da0a1fe2489dA486..vfw..module-3",
"model-version": "1",
"model-customization-uuid": "8a4361d4-18a7-4122-9fc8-554db20c03d9",
"model-uuid": "7bc1ace1-fe43-4b21-b5d8-60e2da5d3ada",
"model-invariant-uuid": "b95372f6-e4c3-4ee0-bb69-c343bec4d7b8"
},
"vf-module-id": "f4cf32a2-fa4f-4239-9621-8c5f3121a0ea",
"vf-module-type": "B551da0a1fe2489dA486..vfw..module-3"
},
"vf-module-request-input": {
"aic-cloud-region": "RegionOne",
"cloud-owner": "CloudOwner",
"tenant": "09d8566ea45e43aa974cf447ed591d77",
"vf-module-name": "vfirewall0..Vfirewall..vfw..module-0",
"vf-module-input-parameters": {
"param": [
{
"name": "public_net_id",
"value": "external"
},
{
"name": "sec_group",
"value": "default"
}
]
}
},
"vnf-information": {
"onap-model-information": {
"model-name": "b551da0a-1fe2-489d-a486",
"model-version": "1.0",
"model-customization-uuid": "39106d12-7629-4b6a-a6d5-b6d7a8041f00",
"model-uuid": "71256464-e388-4b7f-9b92-7c5616766465",
"model-invariant-uuid": "106c91b3-c577-4658-b8c1-8bc9cd86c672"
},
"vnf-id": "cdf6d5d1-f589-49a1-9868-ae3bd927c8a9",
"vnf-name": "RegionOne_vFW_20181116T195414474Z",
"vnf-type": "vFWNG 2018-11-16 13:04:/null"
}
}
}
POST http://sdnc.onap:8282/restconf/operations/GENERIC-RESOURCE-API:vf-module-topology-operation/
{
"input": {
"request-information": {
"request-action": "CreateVfModuleInstance",
"source": "MSO",
"request-id": "bdcd47ee-bbb6-477b-8af4-5c387ea0404e"
},
"sdnc-request-header": {
"svc-request-id": "bdcd47ee-bbb6-477b-8af4-5c387ea0404e",
"svc-action": "assign"
},
"service-information": {
"onap-model-information": {
"model-name": "vFWNG 2018-11-16 13:04:",
"model-version": "1.0",
"model-uuid": "f688ee9f-0fa0-4e22-bc93-ce1abd43f52e",
"model-invariant-uuid": "ec75d7c7-8fdf-4f35-a4bf-3df4cc66dc00"
},
"subscription-service-type": "vFW",
"service-id": "c478e926-f4ca-41e8-9c74-af700ba80f56",
"global-customer-id": "Demonstration",
"service-instance-id": "c478e926-f4ca-41e8-9c74-af700ba80f56"
},
"vf-module-information": {
"onap-model-information": {
"model-name": "B551da0a1fe2489dA486..vsn..module-1",
"model-version": "1",
"model-customization-uuid": "18718327-3953-4fab-8802-aa55ecc42c29",
"model-uuid": "c29a71ad-01fe-4f57-b64f-91e30da52274",
"model-invariant-uuid": "5d0cc1d8-94f1-461c-a7be-3d18cc22da38"
},
"vf-module-id": "b698db6f-8177-4a95-9ca6-6cf1da9ed92e",
"vf-module-type": "B551da0a1fe2489dA486..vsn..module-1"
},
"vf-module-request-input": {
"aic-cloud-region": "RegionOne",
"cloud-owner": "CloudOwner",
"tenant": "09d8566ea45e43aa974cf447ed591d77",
"vf-module-name": "vfirewall0..Vfirewall..vsn..module-0",
"vf-module-input-parameters": {
"param": [
{
"name": "public_net_id",
"value": "external"
},
{
"name": "sec_group",
"value": "default"
}
]
}
},
"vnf-information": {
"onap-model-information": {
"model-name": "b551da0a-1fe2-489d-a486",
"model-version": "1.0",
"model-customization-uuid": "39106d12-7629-4b6a-a6d5-b6d7a8041f00",
"model-uuid": "71256464-e388-4b7f-9b92-7c5616766465",
"model-invariant-uuid": "106c91b3-c577-4658-b8c1-8bc9cd86c672"
},
"vnf-id": "cdf6d5d1-f589-49a1-9868-ae3bd927c8a9",
"vnf-name": "RegionOne_vFW_20181116T195414474Z",
"vnf-type": "vFWNG 2018-11-16 13:04:/null"
}
}
}
POST http://sdnc.onap:8282/restconf/operations/GENERIC-RESOURCE-API:vf-module-topology-operation/
{
"input": {
"request-information": {
"request-action": "CreateVfModuleInstance",
"source": "MSO",
"request-id": "8478ac1b-8ce5-4058-898a-11c1a9c89d77"
},
"sdnc-request-header": {
"svc-request-id": "8478ac1b-8ce5-4058-898a-11c1a9c89d77",
"svc-action": "assign"
},
"service-information": {
"onap-model-information": {
"model-name": "vFWNG 2018-11-16 13:04:",
"model-version": "1.0",
"model-uuid": "f688ee9f-0fa0-4e22-bc93-ce1abd43f52e",
"model-invariant-uuid": "ec75d7c7-8fdf-4f35-a4bf-3df4cc66dc00"
},
"subscription-service-type": "vFW",
"service-id": "c478e926-f4ca-41e8-9c74-af700ba80f56",
"global-customer-id": "Demonstration",
"service-instance-id": "c478e926-f4ca-41e8-9c74-af700ba80f56"
},
"vf-module-information": {
"onap-model-information": {
"model-name": "B551da0a1fe2489dA486..vpg..module-2",
"model-version": "1",
"model-customization-uuid": "d48b9a01-8eb9-46e0-a1d6-bd1dbe8c769d",
"model-uuid": "381bf92b-d500-4ff4-a6b0-c4c875aa2df1",
"model-invariant-uuid": "b0443ba5-090d-4210-9855-5aacd960d96e"
},
"vf-module-id": "c99eb0c8-ddb0-411d-85df-9761da7bc895",
"vf-module-type": "B551da0a1fe2489dA486..vpg..module-2"
},
"vf-module-request-input": {
"aic-cloud-region": "RegionOne",
"cloud-owner": "CloudOwner",
"tenant": "09d8566ea45e43aa974cf447ed591d77",
"vf-module-name": "vfirewall0..Vfirewall..vpg..module-0",
"vf-module-input-parameters": {
"param": [
{
"name": "public_net_id",
"value": "external"
},
{
"name": "sec_group",
"value": "default"
}
]
}
},
"vnf-information": {
"onap-model-information": {
"model-name": "b551da0a-1fe2-489d-a486",
"model-version": "1.0",
"model-customization-uuid": "39106d12-7629-4b6a-a6d5-b6d7a8041f00",
"model-uuid": "71256464-e388-4b7f-9b92-7c5616766465",
"model-invariant-uuid": "106c91b3-c577-4658-b8c1-8bc9cd86c672"
},
"vnf-id": "cdf6d5d1-f589-49a1-9868-ae3bd927c8a9",
"vnf-name": "RegionOne_vFW_20181116T195414474Z",
"vnf-type": "vFWNG 2018-11-16 13:04:/null"
}
}
}
Creation