You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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, avoiding any code change per service, and pushing for re-usability of artifacts.

In Casablanca, CDS solves the pre-instantiation use-case; meaning it can be used to resolve resources required for a service. The resolution can occur at VNF level as well as at VF-MODULE level.

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 to outline 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

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 (we will present bellow the topology of the service).

  • VNF
  • base template
  • vfw
  • vsn
  • vpg

They have the following caracteristics:

  • Its name has to match the name of the template defined bellow.
  • It defines all the resources required to be resolved.
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
Template
Data Dictionary

Topology

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

Creation

  • No labels