Background
Prerequisite
Design
Topology
HEAT
Each VFC have its own HEAT template and environment file. On of the HEAT template is the 'base_template'. It contains the resources shared accross others VFC; for instance, its responsible for creating the 'protected' and 'unprotected' networks.
In the HEAT template, the following fields were added to the server's metadata: sdnc_model_name, sdnc_model_version, sdnc_artifact_name
. They identify a Controller Blueprint that has been designed.
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)