Add doc of ETSI VNF Deployment as a VM with TOSCA
Usage guide for ETSI NFV-SOL VNF Deployment as a VM with TOSCA is added in user docs. Change-Id: I11a9e47d3815459bf1618b2477ea1f0840069e9d
This commit is contained in:
parent
ab96041109
commit
fcefb4ebe6
403
doc/source/user/etsi_vnf_deployment_as_vm_with_tosca.rst
Normal file
403
doc/source/user/etsi_vnf_deployment_as_vm_with_tosca.rst
Normal file
@ -0,0 +1,403 @@
|
||||
============================================
|
||||
ETSI NFV-SOL VNF Deployment as VM with TOSCA
|
||||
============================================
|
||||
|
||||
This document describes how to deploy VNF as VM with TOSCA
|
||||
in Tacker using CLI commands.
|
||||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
The following packages should be installed:
|
||||
|
||||
* tacker
|
||||
* python-tackerclient
|
||||
|
||||
A default VIM should be registered according to
|
||||
:doc:`../cli/cli-legacy-vim`.
|
||||
|
||||
The VNF Package(sample_vnf_pkg.zip) used below is prepared
|
||||
by referring to :doc:`./vnf-package`.
|
||||
|
||||
|
||||
VNF deployment procedure as VM
|
||||
------------------------------
|
||||
|
||||
In order to deploy VNF as VM, it is necessary to execute
|
||||
the following procedure.
|
||||
Details of CLI commands are described in
|
||||
:doc:`../cli/cli-etsi-vnfpkgm` and :doc:`../cli/cli-etsi-vnflcm`.
|
||||
|
||||
|
||||
1. Create VNF Package Info
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Execute the following CLI command to create VNF Package.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnf package create
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+-------------------+----------------------------------------------------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+-------------------+----------------------------------------------------------------------------------------------------+
|
||||
| ID | e712a702-741f-4093-a971-b3ad69411ac1 |
|
||||
| Links | packageContent=href=/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1/package_content, |
|
||||
| | self=href=s/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1 |
|
||||
| Onboarding State | CREATED |
|
||||
| Operational State | DISABLED |
|
||||
| Usage State | NOT_IN_USE |
|
||||
| User Defined Data | |
|
||||
+-------------------+----------------------------------------------------------------------------------------------------+
|
||||
|
||||
|
||||
After that, execute the following CLI command and confirm that
|
||||
VNF Package creation was successful.
|
||||
|
||||
* Confirm that the 'Onboarding State' is 'CREATED'.
|
||||
* Confirm that the 'Operational State' is 'DISABLED'.
|
||||
* Confirm that the 'Usage State' is 'NOT_IN_USE'.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnf package show VNF_PACKAGE_ID \
|
||||
-c 'Onboarding State' -c 'Operational State' -c 'Usage State'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+-------------------+------------+
|
||||
| Field | Value |
|
||||
+-------------------+------------+
|
||||
| Onboarding State | CREATED |
|
||||
| Operational State | DISABLED |
|
||||
| Usage State | NOT_IN_USE |
|
||||
+-------------------+------------+
|
||||
|
||||
|
||||
2. Upload VNF Package
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Execute the following CLI command to upload VNF Package.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnf package upload --path sample_csar.zip VNF_PACKAGE_ID
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Upload request for VNF package e712a702-741f-4093-a971-b3ad69411ac1 has been accepted.
|
||||
|
||||
|
||||
After that, execute the following CLI command and confirm that
|
||||
VNF Package uploading was successful.
|
||||
|
||||
* Confirm that the 'Onboarding State' is 'ONBOARDED'.
|
||||
* Confirm that the 'Operational State' is 'ENABLED'.
|
||||
* Confirm that the 'Usage State' is 'NOT_IN_USE'.
|
||||
* Take a note of the 'VNFD ID' because you will need it in the next
|
||||
'Create VNF Identifier'.
|
||||
|
||||
.. note::
|
||||
The state of 'Onboarding State' changes in the order of
|
||||
'UPLOADING', 'PROCESSING', 'ONBOARDED'.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnf package show VNF_PACKAGE_ID \
|
||||
-c 'Onboarding State' -c 'Operational State' -c 'Usage State' -c 'VNFD ID'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+-------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+-------------------+--------------------------------------+
|
||||
| Onboarding State | ONBOARDED |
|
||||
| Operational State | ENABLED |
|
||||
| Usage State | NOT_IN_USE |
|
||||
| VNFD ID | b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 |
|
||||
+-------------------+--------------------------------------+
|
||||
|
||||
|
||||
3. Create VNF Identifier
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Execute the following CLI command to create a VNF instance.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm create VNFD_ID
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+--------------------------+----------------------------------------------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+--------------------------+----------------------------------------------------------------------------------------------+
|
||||
| ID | 725f625e-f6b7-4bcd-b1b7-7184039fde45 |
|
||||
| Instantiation State | NOT_INSTANTIATED |
|
||||
| Links | instantiate=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45/instantiate, |
|
||||
| | self=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45 |
|
||||
| VNF Instance Description | None |
|
||||
| VNF Instance Name | None |
|
||||
| VNF Product Name | Sample VNF |
|
||||
| VNF Provider | Company |
|
||||
| VNF Software Version | 1.0 |
|
||||
| VNFD ID | b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 |
|
||||
| VNFD Version | 1.0 |
|
||||
+--------------------------+----------------------------------------------------------------------------------------------+
|
||||
|
||||
|
||||
After that, execute the following CLI command and confirm that
|
||||
VNF instance creation was successful.
|
||||
|
||||
* Confirm that the 'Usage State' of the VNF Package is 'IN_USE'.
|
||||
* Confirm that the 'Instantiation State' of the VNF instance
|
||||
is 'NOT_INSTANTIATED'.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnf package show VNF_PACKAGE_ID \
|
||||
-c 'Usage State'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+-------------+--------+
|
||||
| Field | Value |
|
||||
+-------------+--------+
|
||||
| Usage State | IN_USE |
|
||||
+-------------+--------+
|
||||
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm show VNF_INSTANCE_ID \
|
||||
-c 'Instantiation State'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+---------------------+------------------+
|
||||
| Field | Value |
|
||||
+---------------------+------------------+
|
||||
| Instantiation State | NOT_INSTANTIATED |
|
||||
+---------------------+------------------+
|
||||
|
||||
|
||||
4. Instantiate VNF
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Create a sample_param_file.json file with the following format.
|
||||
This is the file that defines the parameters for an instantiate request.
|
||||
These parameters will be set in the body of the instantiate request.
|
||||
|
||||
Required parameter:
|
||||
|
||||
* flavourID
|
||||
|
||||
.. note::
|
||||
Details of flavourID is described in :doc:`./vnfd-sol001`.
|
||||
|
||||
Optional parameters:
|
||||
|
||||
* instantiationLevelId
|
||||
* extVirtualLinks
|
||||
* extManagedVirtualLinks
|
||||
* vimConnectionInfo
|
||||
|
||||
.. note::
|
||||
You can skip `vimConnectionInfo` only when you have
|
||||
the default VIM described in :doc:`../cli/cli-legacy-vim`.
|
||||
|
||||
Param file with only required parameters:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
{
|
||||
"flavourId":"simple"
|
||||
}
|
||||
|
||||
Param file with optional parameters:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
{
|
||||
"flavourId": "simple",
|
||||
"instantiationLevelId": "instantiation_level_1",
|
||||
"extVirtualLinks": [
|
||||
{
|
||||
"id": "net0",
|
||||
"resourceId": "4bf3e646-7a24-4f04-a985-d8f4bb1203de", #Set the uuid of the network to use
|
||||
"extCps": [
|
||||
{
|
||||
"cpdId": "CP1",
|
||||
"cpConfig": [
|
||||
{
|
||||
"cpProtocolData": [
|
||||
{
|
||||
"layerProtocol": "IP_OVER_ETHERNET"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"vimConnectionInfo": [
|
||||
{
|
||||
"id": "e24f9796-a8e9-4cb0-85ce-5920dcddafa1", #Set a random uuid.
|
||||
"vimId": "8a0fd79d-e224-4c27-85f5-ee79c6e0d870", #Set the uuid of the VIM to use
|
||||
"vimType": "ETSINFV.OPENSTACK_KEYSTONE.v_2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
Execute the following CLI command to instantiate VNF instance.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm instantiate VNF_INSTANCE_ID \
|
||||
./sample_param_file.json
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Instantiate request for VNF Instance 725f625e-f6b7-4bcd-b1b7-7184039fde45 has been accepted.
|
||||
|
||||
|
||||
After that, execute the following CLI command and confirm that
|
||||
VNF instance instantiation was successful.
|
||||
|
||||
* Confirm that the 'Instantiation State' is 'INSTANTIATED'.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm show VNF_INSTANCE_ID \
|
||||
-c 'Instantiation State'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+---------------------+--------------+
|
||||
| Field | Value |
|
||||
+---------------------+--------------+
|
||||
| Instantiation State | INSTANTIATED |
|
||||
+---------------------+--------------+
|
||||
|
||||
|
||||
5. Terminate VNF
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Execute the following CLI command to terminate the VNF instance.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm terminate VNF_INSTANCE_ID
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Terminate request for VNF Instance '725f625e-f6b7-4bcd-b1b7-7184039fde45' has been accepted.
|
||||
|
||||
|
||||
After that, execute the following CLI command and confirm that
|
||||
VNF instance termination was successful.
|
||||
|
||||
* Confirm that the 'Instantiation State' is 'NOT_INSTANTIATED'.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm show VNF_INSTANCE_ID \
|
||||
-c 'Instantiation State'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+---------------------+------------------+
|
||||
| Field | Value |
|
||||
+---------------------+------------------+
|
||||
| Instantiation State | NOT_INSTANTIATED |
|
||||
+---------------------+------------------+
|
||||
|
||||
|
||||
6. Delete VNF Identifier
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Execute the following CLI command to delete the VNF instance.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm delete VNF_INSTANCE_ID
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Vnf instance '725f625e-f6b7-4bcd-b1b7-7184039fde45' deleted successfully
|
||||
|
||||
|
||||
After that, execute the following CLI command and confirm that
|
||||
VNF instance deletion was successful.
|
||||
|
||||
* Confirm that the 'Usage State' of VNF Package is 'NOT_IN_USE'.
|
||||
* Confirm that the VNF instance is not found.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnf package show VNF_PACKAGE_ID \
|
||||
-c 'Usage State'
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+-------------+------------+
|
||||
| Field | Value |
|
||||
+-------------+------------+
|
||||
| Usage State | NOT_IN_USE |
|
||||
+-------------+------------+
|
||||
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack vnflcm show VNF_INSTANCE_ID
|
||||
|
||||
|
||||
Result:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Can not find requested vnf instance: 725f625e-f6b7-4bcd-b1b7-7184039fde45
|
@ -50,6 +50,7 @@ Use cases
|
||||
alarm_monitoring_usage_guide.rst
|
||||
dynamic_vnffg_usage_guide.rst
|
||||
enhanced_placement_awareness_usage_guide.rst
|
||||
etsi_vnf_deployment_as_vm_with_tosca.rst
|
||||
etsi_containerized_vnf_usage_guide.rst
|
||||
containerized_vnf_usage_guide.rst
|
||||
../reference/mistral_workflows_usage_guide.rst
|
||||
|
Loading…
Reference in New Issue
Block a user