Add CLI docs for ETSI-based and Legacy Tacker
* ETSI-based implementation
- VNF Lifecycle Management, VNF Package Management
* Legacy implementation
- Event, Flow Classifier, Network Forwarding Path,
NSD, Service Function Chain, VIM, VNF, VNFD,
VNFFGD, VNFFG
The VNFFG doc needs to be updated after fixing:
* https://bugs.launchpad.net/python-tackerclient/+bug/1892152
The CLI doc for NS is not included because of:
* https://bugs.launchpad.net/tacker/+bug/1892144
Change-Id: Ie66d774fb87f481c11846afd229700f5f7b165c4
This commit is contained in:
282
doc/source/cli/cli-etsi-vnflcm.rst
Normal file
282
doc/source/cli/cli-etsi-vnflcm.rst
Normal file
@@ -0,0 +1,282 @@
|
|||||||
|
========================
|
||||||
|
VNF Lifecycle Management
|
||||||
|
========================
|
||||||
|
|
||||||
|
This document describes how to manage VNF Lifecycle with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
A default VIM should be registered according to :doc:`cli-legacy-vim`.
|
||||||
|
|
||||||
|
CLI Reference for VNF Lifecycle Management
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
.. TODO(yoshito-ito): add heal CLI reference.
|
||||||
|
|
||||||
|
.. TODO(yoshito-ito): add scale CLI reference.
|
||||||
|
|
||||||
|
1. Create VNF Identifier
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The `<VNFD_ID>` should be replaced with the VNFD ID in VNF Package. In the
|
||||||
|
following sample, `b1bb0ce7-ebca-4fa7-95ed-4840d70a1177` is used.
|
||||||
|
|
||||||
|
.. 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 |
|
||||||
|
+--------------------------+----------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm create --help
|
||||||
|
usage: openstack vnflcm create [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--name <vnf-instance-name>]
|
||||||
|
[--description <vnf-instance-description>]
|
||||||
|
[--I <param-file>]
|
||||||
|
<vnfd-id>
|
||||||
|
|
||||||
|
Create a new VNF Instance
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnfd-id> Identifier that identifies the VNFD which defines the
|
||||||
|
VNF instance to be created.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--name <vnf-instance-name>
|
||||||
|
Name of the VNF instance to be created.
|
||||||
|
--description <vnf-instance-description>
|
||||||
|
Description of the VNF instance to be created.
|
||||||
|
--I <param-file> Instantiate VNF subsequently after it's creation.
|
||||||
|
Specify instantiate request parameters in a json file.
|
||||||
|
|
||||||
|
|
||||||
|
2. Instantiate VNF
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm instantiate <ID: 725f625e-f6b7-4bcd-b1b7-7184039fde45> \
|
||||||
|
./sample_param_file.json
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
Instantiate request for VNF Instance 725f625e-f6b7-4bcd-b1b7-7184039fde45 has been accepted.
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm instantiate --help
|
||||||
|
usage: openstack vnflcm instantiate [-h] <vnf-instance> <param-file>
|
||||||
|
|
||||||
|
Instantiate a VNF Instance
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-instance> VNF instance ID to instantiate
|
||||||
|
<param-file> Specify instantiate request parameters in a json file.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
4. List VNF
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+-------------------+---------------------+--------------+----------------------+------------------+--------------------------------------+
|
||||||
|
| ID | VNF Instance Name | Instantiation State | VNF Provider | VNF Software Version | VNF Product Name | VNFD ID |
|
||||||
|
+--------------------------------------+-------------------+---------------------+--------------+----------------------+------------------+--------------------------------------+
|
||||||
|
| 725f625e-f6b7-4bcd-b1b7-7184039fde45 | None | INSTANTIATED | Company | 1.0 | Sample VNF | b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 |
|
||||||
|
+--------------------------------------+-------------------+---------------------+--------------+----------------------+------------------+--------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm list --help
|
||||||
|
usage: openstack vnflcm list [-h] [-f {csv,json,table,value,yaml}] [-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
|
||||||
|
List VNF Instance
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
5. Show VNF
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm show <ID: 725f625e-f6b7-4bcd-b1b7-7184039fde45>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
|
| ID | 725f625e-f6b7-4bcd-b1b7-7184039fde45 |
|
||||||
|
| Instantiated Vnf Info | , extCpInfo='[]', flavourId='simple', vnfState='STARTED', vnfVirtualLinkResourceInfo='[{'id': '0163cea3-af88-4ef8-ae43-ef3e5e7e827d', |
|
||||||
|
| | 'vnfVirtualLinkDescId': 'internalVL1', 'networkResource': {'resourceId': '073c74b9-670d-4764-a933-6fe4f2f991c1', 'vimLevelResourceType': |
|
||||||
|
| | 'OS::Neutron::Net'}, 'vnfLinkPorts': [{'id': '3b667826-336c-4919-889e-e6c63d959ee6', 'resourceHandle': {'resourceId': |
|
||||||
|
| | '5d3255b5-e9fb-449f-9c5f-5242049ce2fa', 'vimLevelResourceType': 'OS::Neutron::Port'}, 'cpInstanceId': '3091f046-de63-44c8-ad23-f86128409b27'}]}]', |
|
||||||
|
| | vnfcResourceInfo='[{'id': '2a66f545-c90d-49e7-8f17-fb4e57b19c92', 'vduId': 'VDU1', 'computeResource': {'resourceId': |
|
||||||
|
| | '6afc547d-0e19-46fc-b171-a3d9a0a80513', 'vimLevelResourceType': 'OS::Nova::Server'}, 'storageResourceIds': [], 'vnfcCpInfo': [{'id': |
|
||||||
|
| | '3091f046-de63-44c8-ad23-f86128409b27', 'cpdId': 'CP1', 'vnfExtCpId': None, 'vnfLinkPortId': '3b667826-336c-4919-889e-e6c63d959ee6'}]}]' |
|
||||||
|
| Instantiation State | INSTANTIATED |
|
||||||
|
| Links | heal=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45/heal, self=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45, |
|
||||||
|
| | terminate=href=/vnflcm/v1/vnf_instances/725f625e-f6b7-4bcd-b1b7-7184039fde45/terminate |
|
||||||
|
| VIM Connection Info | [] |
|
||||||
|
| 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 |
|
||||||
|
+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm show --help
|
||||||
|
usage: openstack vnflcm show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<vnf-instance>
|
||||||
|
|
||||||
|
Display VNF instance details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-instance> VNF instance ID to display
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
6. Terminate VNF
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm terminate <ID: 725f625e-f6b7-4bcd-b1b7-7184039fde45>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
Terminate request for VNF Instance '725f625e-f6b7-4bcd-b1b7-7184039fde45' has been accepted.
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm terminate --help
|
||||||
|
usage: openstack vnflcm terminate [-h] [--termination-type <termination-type>]
|
||||||
|
[--graceful-termination-timeout <graceful-termination-timeout>]
|
||||||
|
[--D]
|
||||||
|
<vnf-instance>
|
||||||
|
|
||||||
|
Terminate a VNF instance
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-instance> VNF instance ID to terminate
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--termination-type <termination-type>
|
||||||
|
Termination type can be 'GRACEFUL' or 'FORCEFUL'.
|
||||||
|
Default is 'GRACEFUL'
|
||||||
|
--graceful-termination-timeout <graceful-termination-timeout>
|
||||||
|
This attribute is only applicable in case of graceful
|
||||||
|
termination. It defines the time to wait for the VNF
|
||||||
|
to be taken out of service before shutting down the
|
||||||
|
VNF and releasing the resources. The unit is seconds.
|
||||||
|
--D Delete VNF Instance subsequently after it's
|
||||||
|
termination
|
||||||
|
|
||||||
|
|
||||||
|
7. Delete VNF Identifier
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm delete <ID: 725f625e-f6b7-4bcd-b1b7-7184039fde45>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
Vnf instance '725f625e-f6b7-4bcd-b1b7-7184039fde45' deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnflcm delete --help
|
||||||
|
usage: openstack vnflcm delete [-h] <vnf-instance> [<vnf-instance> ...]
|
||||||
|
|
||||||
|
Delete VNF Instance(s)
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-instance> VNF instance ID(s) to delete
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
322
doc/source/cli/cli-etsi-vnfpkgm.rst
Normal file
322
doc/source/cli/cli-etsi-vnfpkgm.rst
Normal file
@@ -0,0 +1,322 @@
|
|||||||
|
======================
|
||||||
|
VNF Package Management
|
||||||
|
======================
|
||||||
|
|
||||||
|
This document describes how to manage VNF Package with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
CLI Reference for VNF Package Management
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
.. TODO(yoshito-ito): add Fetch VNF Package artifacts CLI reference.
|
||||||
|
|
||||||
|
1. Create VNF Package Info
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. 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 | |
|
||||||
|
+-------------------+----------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package create --help
|
||||||
|
usage: openstack vnf package create [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--user-data <key=value>]
|
||||||
|
|
||||||
|
Create a new VNF Package
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--user-data <key=value>
|
||||||
|
User defined data for the VNF package (repeat option
|
||||||
|
to set multiple user defined data)
|
||||||
|
|
||||||
|
|
||||||
|
2. Upload VNF Package
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package upload --path sample_csar.zip \
|
||||||
|
<ID: e712a702-741f-4093-a971-b3ad69411ac1>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
Upload request for VNF package e712a702-741f-4093-a971-b3ad69411ac1 has been accepted.
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package upload --help
|
||||||
|
usage: openstack vnf package upload [-h] (--path <file> | --url <Uri>)
|
||||||
|
[--user-name <user-name>]
|
||||||
|
[--password <password>]
|
||||||
|
<vnf-package>
|
||||||
|
|
||||||
|
Upload VNF Package
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-package> VNF package ID
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--path <file> Upload VNF CSAR package from local file
|
||||||
|
--url <Uri> Uri of the VNF package content
|
||||||
|
--user-name <user-name>
|
||||||
|
User name for authentication
|
||||||
|
--password <password>
|
||||||
|
Password for authentication
|
||||||
|
|
||||||
|
|
||||||
|
3. Fetch VNF Package
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package download --file <FILE: download_sample_csar.zip> \
|
||||||
|
<ID: e712a702-741f-4093-a971-b3ad69411ac1>
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package download --help
|
||||||
|
usage: openstack vnf package download [-h] [--file <FILE>] [--vnfd]
|
||||||
|
[--type <type>]
|
||||||
|
<vnf-package>
|
||||||
|
|
||||||
|
Download VNF package contents or VNFD of an on-boarded VNF package.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-package> VNF package ID
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--file <FILE> Local file to save downloaded VNF Package or VNFD data. If
|
||||||
|
this is not specified and there is no redirection then data
|
||||||
|
will not be saved.
|
||||||
|
--vnfd Download VNFD of an on-boarded vnf package.
|
||||||
|
--type <type> Provide text/plain when VNFD is implemented as a single YAML
|
||||||
|
file otherwise use application/zip. If you are not aware
|
||||||
|
whether VNFD is a single or multiple yaml files, then you can
|
||||||
|
specify 'both' option value. Provide this option only when
|
||||||
|
--vnfd is set.
|
||||||
|
|
||||||
|
4. List VNF Package
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+------------------+------------------+-------------+-------------------+
|
||||||
|
| Id | Vnf Product Name | Onboarding State | Usage State | Operational State |
|
||||||
|
+--------------------------------------+------------------+------------------+-------------+-------------------+
|
||||||
|
| e712a702-741f-4093-a971-b3ad69411ac1 | Sample VNF | ONBOARDED | NOT_IN_USE | ENABLED |
|
||||||
|
+--------------------------------------+------------------+------------------+-------------+-------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package list --help
|
||||||
|
usage: openstack vnf package list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
[--filter <filter>]
|
||||||
|
[--all_fields | --fields fields | --exclude_fields exclude-fields]
|
||||||
|
[--exclude_default]
|
||||||
|
|
||||||
|
List VNF Packages
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--filter <filter> Atrribute-based-filtering parameters
|
||||||
|
--all_fields Include all complex attributes in the response
|
||||||
|
--fields fields Complex attributes to be included into the response
|
||||||
|
--exclude_fields exclude-fields
|
||||||
|
Complex attributes to be excluded from the response
|
||||||
|
--exclude_default Indicates to exclude all complex attributes from the
|
||||||
|
response. This argument can be used alone or with
|
||||||
|
--fields and --filter. For all other combinations
|
||||||
|
tacker server will throw bad request error
|
||||||
|
|
||||||
|
|
||||||
|
5. Show VNF Package
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package show <ID: e712a702-741f-4093-a971-b3ad69411ac1>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----------------------+------------------------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+----------------------+------------------------------------------------------------------------------------------------------------+
|
||||||
|
| Checksum | algorithm=sha512, hash=f8eb9883f04901af2d6e09d3621b7bbb37a36a89b076d322cc5994f3c5264854d1a0137efb23e61be96 |
|
||||||
|
| | 9a7ba60989715b3e3feced9d7c582ffaaec6b5a89e2b1 |
|
||||||
|
| ID | e712a702-741f-4093-a971-b3ad69411ac1 |
|
||||||
|
| Links | packageContent=href=/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1/package_content, |
|
||||||
|
| | self=href=/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1 |
|
||||||
|
| Onboarding State | ONBOARDED |
|
||||||
|
| Operational State | ENABLED |
|
||||||
|
| Software Images | [{'diskFormat': 'qcow2', 'minDisk': 1, 'minRam': 0, 'imagePath': '', 'size': 1, 'createdAt': '2020-05-28 |
|
||||||
|
| | 01:50:14+00:00', 'containerFormat': 'bare', 'version': '0.4.0', 'provider': '', 'id': 'VDU1', 'name': |
|
||||||
|
| | 'Software of VDU1', 'checksum': {'algorithm': 'sha-256', 'hash': '6513f21e44aa3da349f248188a44bc304a3653a0 |
|
||||||
|
| | 4122d8fb4535423c8e1d14cd6a153f735bb0982e2161b5b5186106570c17a9e58b64dd39390617cd5a350f78'}, |
|
||||||
|
| | 'userMetadata': {}}] |
|
||||||
|
| Usage State | NOT_IN_USE |
|
||||||
|
| User Defined Data | |
|
||||||
|
| VNF Product Name | Sample VNF |
|
||||||
|
| VNF Provider | Company |
|
||||||
|
| VNF Software Version | 1.0 |
|
||||||
|
| VNFD ID | b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 |
|
||||||
|
| VNFD Version | 1.0 |
|
||||||
|
+----------------------+------------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package show --help
|
||||||
|
usage: openstack vnf package show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<vnf-package>
|
||||||
|
|
||||||
|
Show VNF Package Details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-package> VNF package ID
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
6. Update VNF Package Info
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package update --operational-state 'DISABLED' \
|
||||||
|
<ID: e712a702-741f-4093-a971-b3ad69411ac>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-------------------+----------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------------+----------+
|
||||||
|
| Operational State | DISABLED |
|
||||||
|
+-------------------+----------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package update --help
|
||||||
|
usage: openstack vnf package update [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
[--operational-state <operational-state>]
|
||||||
|
[--user-data <key=value>]
|
||||||
|
<vnf-package>
|
||||||
|
|
||||||
|
Update information about an individual VNF package
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-package> VNF package ID
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--operational-state <operational-state>
|
||||||
|
Change the operational state of VNF Package, Valid
|
||||||
|
values are 'ENABLED' or 'DISABLED'.
|
||||||
|
--user-data <key=value>
|
||||||
|
User defined data for the VNF package (repeat option
|
||||||
|
to set multiple user defined data)
|
||||||
|
|
||||||
|
|
||||||
|
7. Delete VNF Package
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
openstack vnf package delete <ID: e712a702-741f-4093-a971-b3ad69411ac1>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
All specified vnf-package(s) deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf package delete --help
|
||||||
|
usage: openstack vnf package delete [-h] <vnf-package> [<vnf-package> ...]
|
||||||
|
|
||||||
|
Delete VNF Package
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<vnf-package> Vnf package(s) ID to delete
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
118
doc/source/cli/cli-legacy-event.rst
Normal file
118
doc/source/cli/cli-legacy-event.rst
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
================
|
||||||
|
Event Management
|
||||||
|
================
|
||||||
|
|
||||||
|
This document describes how to manage Event with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
CLI reference for Event Management
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
1. List Events
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack nfv event list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----+---------------+--------------------------------------+-------------------+------------+---------------------+
|
||||||
|
| ID | Resource Type | Resource ID | Resource State | Event Type | Timestamp |
|
||||||
|
+----+---------------+--------------------------------------+-------------------+------------+---------------------+
|
||||||
|
| 1 | vim | aacb3c7f-d532-44d9-b8ed-49e2b30114aa | PENDING | CREATE | 2020-08-12 02:28:22 |
|
||||||
|
| 2 | vim | aacb3c7f-d532-44d9-b8ed-49e2b30114aa | REACHABLE | MONITOR | 2020-08-12 02:28:23 |
|
||||||
|
| 3 | vim | aacb3c7f-d532-44d9-b8ed-49e2b30114aa | REACHABLE | UPDATE | 2020-08-12 02:40:40 |
|
||||||
|
| 4 | vnfd | 94f2b44c-06f7-4d43-a2bb-dcd54f44d0f5 | OnBoarded | CREATE | 2020-08-13 05:52:07 |
|
||||||
|
| 5 | vnf | 4ffb436f-7f2c-4df1-96c4-38e9208261fd | PENDING_CREATE | CREATE | 2020-08-13 05:53:45 |
|
||||||
|
| 6 | vnf | 4ffb436f-7f2c-4df1-96c4-38e9208261fd | ACTIVE | CREATE | 2020-08-13 05:53:45 |
|
||||||
|
| 7 | vnf | 83fb8124-b475-400f-b0eb-f2b6741eeedc | PENDING_CREATE | CREATE | 2020-08-13 05:54:07 |
|
||||||
|
| 8 | vnf | 83fb8124-b475-400f-b0eb-f2b6741eeedc | ACTIVE | CREATE | 2020-08-13 05:54:07 |
|
||||||
|
+----+---------------+--------------------------------------+-------------------+------------+---------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack nfv event list --help
|
||||||
|
usage: openstack nfv event list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN] [--id ID]
|
||||||
|
[--resource-type RESOURCE_TYPE]
|
||||||
|
[--resource-id RESOURCE_ID]
|
||||||
|
[--resource-state RESOURCE_STATE]
|
||||||
|
[--event-type EVENT_TYPE] [--long]
|
||||||
|
|
||||||
|
List events of resources.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--id ID id of the event to look up.
|
||||||
|
--resource-type RESOURCE_TYPE
|
||||||
|
resource type of the events to look up.
|
||||||
|
--resource-id RESOURCE_ID
|
||||||
|
resource id of the events to look up.
|
||||||
|
--resource-state RESOURCE_STATE
|
||||||
|
resource state of the events to look up.
|
||||||
|
--event-type EVENT_TYPE
|
||||||
|
event type of the events to look up.
|
||||||
|
--long List additional fields in output
|
||||||
|
|
||||||
|
|
||||||
|
2. Show Event
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack nfv event show <ID: 1>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----------------+--------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+----------------+--------------------------------------+
|
||||||
|
| event_details | |
|
||||||
|
| event_type | CREATE |
|
||||||
|
| id | 1 |
|
||||||
|
| resource_id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| resource_state | PENDING |
|
||||||
|
| resource_type | vim |
|
||||||
|
| timestamp | 2020-08-12 02:28:22 |
|
||||||
|
+----------------+--------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack nfv event show --help
|
||||||
|
usage: openstack nfv event show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
ID
|
||||||
|
|
||||||
|
Show event given the event id.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
ID ID of event to display
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
139
doc/source/cli/cli-legacy-fc.rst
Normal file
139
doc/source/cli/cli-legacy-fc.rst
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
==========================
|
||||||
|
Flow Classifier Management
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Flow Classifier (FC) is a part of Network Forwarding Path (NFP) in VNF
|
||||||
|
Forwarding Graph (VNFFG).
|
||||||
|
|
||||||
|
This document describes how to manage FC with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
A default VIM should be registered according to :doc:`./cli-legacy-vim`.
|
||||||
|
|
||||||
|
The following VNFDs are created with the name ``VNFD1`` and ``VNFD2``
|
||||||
|
according to :doc:`./cli-legacy-vnfd`.
|
||||||
|
|
||||||
|
* `tosca-vnffg-vnfd1.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd1.yaml>`_
|
||||||
|
* `tosca-vnffg-vnfd2.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd2.yaml>`_
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd1.yaml VNFD1
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd2.yaml VNFD2
|
||||||
|
|
||||||
|
|
||||||
|
The VNFs from the created VNFDs are deployed with the name ``VNF1`` and
|
||||||
|
``VNF2`` according to :doc:`./cli-legacy-vnf`.
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf create --vnfd-name VNFD1 VNF1
|
||||||
|
$ openstack vnf create --vnfd-name VNFD2 VNF2
|
||||||
|
|
||||||
|
|
||||||
|
VNFFG should be deployed according to :doc:`./cli-legacy-vnffg`. Before
|
||||||
|
deploying the VNFFG, a VNFFGD may need to be created according to
|
||||||
|
:doc:`./cli-legacy-vnffgd`.
|
||||||
|
|
||||||
|
CLI reference for FC Management
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
1. List Flow Classifier
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf classifier list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+-----------+--------+--------------------------------------+--------------------------------------+
|
||||||
|
| ID | Name | Status | NFP ID | Chain ID |
|
||||||
|
+--------------------------------------+-----------+--------+--------------------------------------+--------------------------------------+
|
||||||
|
| 31268b39-27d3-4108-9552-73490125d29a | block_tcp | ACTIVE | ed450e71-345d-4dc8-8f32-69e3a697ad56 | 89f99c03-a152-413b-bb39-c7618a54b23a |
|
||||||
|
+--------------------------------------+-----------+--------+--------------------------------------+--------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf classifier list --help
|
||||||
|
usage: openstack vnf classifier list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
[--nfp-id NFP_ID] [--tenant-id TENANT_ID]
|
||||||
|
|
||||||
|
List flow classifier(s) that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--nfp-id NFP_ID List flow classifier(s) with specific nfp id
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
|
||||||
|
|
||||||
|
2. Show Flow Classifier
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf classifier show <ID: 31268b39-27d3-4108-9552-73490125d29a>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-------------+--------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------+--------------------------------------------------------------------+
|
||||||
|
| chain_id | 89f99c03-a152-413b-bb39-c7618a54b23a |
|
||||||
|
| id | 31268b39-27d3-4108-9552-73490125d29a |
|
||||||
|
| instance_id | 566e6760-9f0b-4b5e-a6e5-d8deab00efd3 |
|
||||||
|
| match | { |
|
||||||
|
| | "ip_dst_prefix": "10.10.0.5/24", |
|
||||||
|
| | "ip_proto": 6, |
|
||||||
|
| | "destination_port_min": 80, |
|
||||||
|
| | "destination_port_max": 1024, |
|
||||||
|
| | "network_src_port_id": "d4940639-764a-4a62-9b21-6ba2e86498eb", |
|
||||||
|
| | "tenant_id": "e77397d2a02c4af1b7d79cef2a406396" |
|
||||||
|
| | } |
|
||||||
|
| name | block_tcp |
|
||||||
|
| nfp_id | ed450e71-345d-4dc8-8f32-69e3a697ad56 |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | ACTIVE |
|
||||||
|
+-------------+--------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf classifier show --help
|
||||||
|
usage: openstack vnf classifier show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
<Classifier ID>
|
||||||
|
|
||||||
|
Display flow classifier details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<Classifier ID> Flow Classifier to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
136
doc/source/cli/cli-legacy-nfp.rst
Normal file
136
doc/source/cli/cli-legacy-nfp.rst
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
==================================
|
||||||
|
Network Forwarding Path Management
|
||||||
|
==================================
|
||||||
|
|
||||||
|
Network Forwarding Path (NFP) is composed of a Service Function Chain (SFC)
|
||||||
|
and a Flow Classifier (FC) in VNF Forwarding Graph (VNFFG).
|
||||||
|
|
||||||
|
This document describes how to manage NFP with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
A default VIM should be registered according to :doc:`./cli-legacy-vim`.
|
||||||
|
|
||||||
|
The following VNFDs are created with the name ``VNFD1`` and ``VNFD2``
|
||||||
|
according to :doc:`./cli-legacy-vnfd`.
|
||||||
|
|
||||||
|
* `tosca-vnffg-vnfd1.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd1.yaml>`_
|
||||||
|
* `tosca-vnffg-vnfd2.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd2.yaml>`_
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd1.yaml VNFD1
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd2.yaml VNFD2
|
||||||
|
|
||||||
|
|
||||||
|
The VNFs from the created VNFDs are deployed with the name ``VNF1`` and
|
||||||
|
``VNF2`` according to :doc:`./cli-legacy-vnf`.
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf create --vnfd-name VNFD1 VNF1
|
||||||
|
$ openstack vnf create --vnfd-name VNFD2 VNF2
|
||||||
|
|
||||||
|
|
||||||
|
A VNFFG should be deployed according to :doc:`./cli-legacy-vnffg`. Before
|
||||||
|
deploying the VNFFG, a VNFFGD may need to be created according to
|
||||||
|
:doc:`./cli-legacy-vnffgd`.
|
||||||
|
|
||||||
|
CLI reference for NFP Management
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
1. List Network Forwarding Path
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf network forwarding path list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+------------------+--------+--------------------------------------+---------+
|
||||||
|
| ID | Name | Status | VNFFG ID | Path ID |
|
||||||
|
+--------------------------------------+------------------+--------+--------------------------------------+---------+
|
||||||
|
| ed450e71-345d-4dc8-8f32-69e3a697ad56 | Forwarding_path1 | ACTIVE | 3b1be255-4b3b-4ff2-b985-19f043f3f40c | 51 |
|
||||||
|
+--------------------------------------+------------------+--------+--------------------------------------+---------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf network forwarding path list --help
|
||||||
|
usage: openstack vnf network forwarding path list [-h]
|
||||||
|
[-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
[--vnffg-id VNFFG_ID]
|
||||||
|
|
||||||
|
List NFP(s) that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--vnffg-id VNFFG_ID List NFP(s) with specific VNFFG ID
|
||||||
|
|
||||||
|
|
||||||
|
2. Show Network Forwarding Path
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf network forwarding path show <NFP>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-------------+--------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------+--------------------------------------+
|
||||||
|
| chain_id | 89f99c03-a152-413b-bb39-c7618a54b23a |
|
||||||
|
| id | ed450e71-345d-4dc8-8f32-69e3a697ad56 |
|
||||||
|
| name | Forwarding_path1 |
|
||||||
|
| path_id | 51 |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | ACTIVE |
|
||||||
|
| symmetrical | False |
|
||||||
|
| vnffg_id | 3b1be255-4b3b-4ff2-b985-19f043f3f40c |
|
||||||
|
+-------------+--------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf network forwarding path show --help
|
||||||
|
usage: openstack vnf network forwarding path show [-h]
|
||||||
|
[-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<NFP>
|
||||||
|
|
||||||
|
Display NFP details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<NFP> NFP to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
412
doc/source/cli/cli-legacy-nsd.rst
Normal file
412
doc/source/cli/cli-legacy-nsd.rst
Normal file
@@ -0,0 +1,412 @@
|
|||||||
|
=====================================
|
||||||
|
Network Service Descriptor Management
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
To enable dynamic composition of network services, NFV introduces Network
|
||||||
|
Service Descriptors (NSDs) that specify the network service to be created.
|
||||||
|
|
||||||
|
This document describes how to manage NSD with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
A default VIM should be registered according to :doc:`./cli-legacy-vim`.
|
||||||
|
|
||||||
|
The following VNFDs are created according to :doc:`./cli-legacy-vnfd`.
|
||||||
|
|
||||||
|
* `sample-tosca-vnfd1.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/nsd/sample-tosca-vnfd1.yaml>`_
|
||||||
|
* `sample-tosca-vnfd2.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/nsd/sample-tosca-vnfd2.yaml>`_
|
||||||
|
|
||||||
|
CLI reference for NSD Management
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
1. Create Network Service Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Create ``sample-tosca-nsd.yaml`` file:
|
||||||
|
|
||||||
|
* https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/nsd/sample-tosca-nsd.yaml
|
||||||
|
|
||||||
|
|
||||||
|
Create a NSD:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor create --nsd-file \
|
||||||
|
sample-tosca-nsd.yaml <NAME: sample-tosca-nsd>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+----------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+----------------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "nsd": { |
|
||||||
|
| | "description": "Import VNFDs(already on-boarded) with input parameters", |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "sample-tosca-vnfd1", |
|
||||||
|
| | "sample-tosca-vnfd2" |
|
||||||
|
| | ], |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "inputs": { |
|
||||||
|
| | "vl1_name": { |
|
||||||
|
| | "default": "net_mgmt", |
|
||||||
|
| | "description": "name of VL1 virtuallink", |
|
||||||
|
| | "type": "string" |
|
||||||
|
| | }, |
|
||||||
|
| | "vl2_name": { |
|
||||||
|
| | "default": "net0", |
|
||||||
|
| | "description": "name of VL2 virtuallink", |
|
||||||
|
| | "type": "string" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "VL1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": { |
|
||||||
|
| | "get_input": "vl1_name" |
|
||||||
|
| | }, |
|
||||||
|
| | "vendor": "tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": { |
|
||||||
|
| | "get_input": "vl2_name" |
|
||||||
|
| | }, |
|
||||||
|
| | "vendor": "tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VNF1": { |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink1": "VL1" |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink2": "VL2" |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.VNF1" |
|
||||||
|
| | }, |
|
||||||
|
| | "VNF2": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.VNF2" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| created_at | 2020-08-12 07:16:42.297675 |
|
||||||
|
| description | Import VNFDs(already on-boarded) with input parameters |
|
||||||
|
| id | 99a25f74-1bb9-4985-a548-f171060d00fd |
|
||||||
|
| name | sample-tosca-nsd |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| template_source | onboarded |
|
||||||
|
| updated_at | None |
|
||||||
|
+-----------------+----------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor create --help
|
||||||
|
usage: openstack ns descriptor create [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--tenant-id TENANT_ID]
|
||||||
|
--nsd-file NSD_FILE
|
||||||
|
[--description DESCRIPTION]
|
||||||
|
NAME
|
||||||
|
|
||||||
|
Create a new NSD.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
NAME Name for NSD
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
--nsd-file NSD_FILE YAML file with NSD parameters
|
||||||
|
--description DESCRIPTION
|
||||||
|
Set a description for the NSD
|
||||||
|
|
||||||
|
|
||||||
|
2. List Network Service Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+------------------+-----------------+------------------------------+
|
||||||
|
| ID | Name | Template_Source | Description |
|
||||||
|
+--------------------------------------+------------------+-----------------+------------------------------+
|
||||||
|
| 99a25f74-1bb9-4985-a548-f171060d00fd | sample-tosca-nsd | onboarded | Import VNFDs(already on-b... |
|
||||||
|
+--------------------------------------+------------------+-----------------+------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor list --help
|
||||||
|
usage: openstack ns descriptor list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
[--template-source TEMPLATE_SOURCE]
|
||||||
|
|
||||||
|
List (NSD)s that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--template-source TEMPLATE_SOURCE
|
||||||
|
List NSD with specified template source. Available
|
||||||
|
options are 'onboared' (default), 'inline' or 'all'
|
||||||
|
|
||||||
|
|
||||||
|
3. Show Network Service Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor show <NSD: sample-tosca-nsd>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+----------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+----------------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "nsd": { |
|
||||||
|
| | "description": "Import VNFDs(already on-boarded) with input parameters", |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "sample-tosca-vnfd1", |
|
||||||
|
| | "sample-tosca-vnfd2" |
|
||||||
|
| | ], |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "inputs": { |
|
||||||
|
| | "vl1_name": { |
|
||||||
|
| | "default": "net_mgmt", |
|
||||||
|
| | "description": "name of VL1 virtuallink", |
|
||||||
|
| | "type": "string" |
|
||||||
|
| | }, |
|
||||||
|
| | "vl2_name": { |
|
||||||
|
| | "default": "net0", |
|
||||||
|
| | "description": "name of VL2 virtuallink", |
|
||||||
|
| | "type": "string" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "VL1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": { |
|
||||||
|
| | "get_input": "vl1_name" |
|
||||||
|
| | }, |
|
||||||
|
| | "vendor": "tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": { |
|
||||||
|
| | "get_input": "vl2_name" |
|
||||||
|
| | }, |
|
||||||
|
| | "vendor": "tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VNF1": { |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink1": "VL1" |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink2": "VL2" |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.VNF1" |
|
||||||
|
| | }, |
|
||||||
|
| | "VNF2": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.VNF2" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| created_at | 2020-08-12 07:16:42 |
|
||||||
|
| description | Import VNFDs(already on-boarded) with input parameters |
|
||||||
|
| id | 99a25f74-1bb9-4985-a548-f171060d00fd |
|
||||||
|
| name | sample-tosca-nsd |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| template_source | onboarded |
|
||||||
|
| updated_at | None |
|
||||||
|
+-----------------+----------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor show --help
|
||||||
|
usage: openstack ns descriptor show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<NSD>
|
||||||
|
|
||||||
|
Display NSD details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<NSD> NSD to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
4. Show template Network Service Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
openstack ns descriptor template show <name or ID of NSD: sample-tosca-nsd>
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+------------+----------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------+----------------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "nsd": { |
|
||||||
|
| | "description": "Import VNFDs(already on-boarded) with input parameters", |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "sample-tosca-vnfd1", |
|
||||||
|
| | "sample-tosca-vnfd2" |
|
||||||
|
| | ], |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "inputs": { |
|
||||||
|
| | "vl1_name": { |
|
||||||
|
| | "default": "net_mgmt", |
|
||||||
|
| | "description": "name of VL1 virtuallink", |
|
||||||
|
| | "type": "string" |
|
||||||
|
| | }, |
|
||||||
|
| | "vl2_name": { |
|
||||||
|
| | "default": "net0", |
|
||||||
|
| | "description": "name of VL2 virtuallink", |
|
||||||
|
| | "type": "string" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "VL1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": { |
|
||||||
|
| | "get_input": "vl1_name" |
|
||||||
|
| | }, |
|
||||||
|
| | "vendor": "tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": { |
|
||||||
|
| | "get_input": "vl2_name" |
|
||||||
|
| | }, |
|
||||||
|
| | "vendor": "tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VNF1": { |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink1": "VL1" |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink2": "VL2" |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.VNF1" |
|
||||||
|
| | }, |
|
||||||
|
| | "VNF2": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.VNF2" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
+------------+----------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor template show --help
|
||||||
|
usage: openstack ns descriptor template show [-h]
|
||||||
|
[-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
<NSD>
|
||||||
|
|
||||||
|
Display NSD Template details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<NSD> NSD to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
5. Delete Network Service Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack ns descriptor delete <NSD: sample-tosca-nsd>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
All specified nsd(s) deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
$ openstack ns descriptor delete --help
|
||||||
|
usage: openstack ns descriptor delete [-h] <NSD> [<NSD> ...]
|
||||||
|
|
||||||
|
Delete NSD(s).
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<NSD> NSD(s) to delete (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
142
doc/source/cli/cli-legacy-sfc.rst
Normal file
142
doc/source/cli/cli-legacy-sfc.rst
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
=======================================
|
||||||
|
Service Function Chain (SFC) Management
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
A default VIM should be registered according to :doc:`./cli-legacy-vim`.
|
||||||
|
|
||||||
|
The following VNFDs are created with the name ``VNFD1`` and ``VNFD2``
|
||||||
|
according to :doc:`./cli-legacy-vnfd`.
|
||||||
|
|
||||||
|
* `tosca-vnffg-vnfd1.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd1.yaml>`_
|
||||||
|
* `tosca-vnffg-vnfd2.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd2.yaml>`_
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd1.yaml VNFD1
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd2.yaml VNFD2
|
||||||
|
|
||||||
|
|
||||||
|
The VNFs from the created VNFDs are deployed with the name ``VNF1`` and
|
||||||
|
``VNF2`` according to :doc:`./cli-legacy-vnf`.
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf create --vnfd-name VNFD1 VNF1
|
||||||
|
$ openstack vnf create --vnfd-name VNFD2 VNF2
|
||||||
|
|
||||||
|
|
||||||
|
A VNFFG should be deployed according to :doc:`./cli-legacy-vnffg`. Before
|
||||||
|
deploying the VNFFG, a VNFFGD may need to be created according to
|
||||||
|
:doc:`./cli-legacy-vnffgd`.
|
||||||
|
|
||||||
|
CLI reference for SFC Management
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
1. List Service Function Chain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf chain list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+--------+--------------------------------------+
|
||||||
|
| ID | Status | NFP ID |
|
||||||
|
+--------------------------------------+--------+--------------------------------------+
|
||||||
|
| 89f99c03-a152-413b-bb39-c7618a54b23a | ACTIVE | ed450e71-345d-4dc8-8f32-69e3a697ad56 |
|
||||||
|
+--------------------------------------+--------+--------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf chain list --help
|
||||||
|
usage: openstack vnf chain list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN] [--nfp-id NFP_ID]
|
||||||
|
[--tenant-id TENANT_ID]
|
||||||
|
|
||||||
|
List SFC(s) that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--nfp-id NFP_ID List SFC(s) with specific nfp id
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
|
||||||
|
|
||||||
|
2. Show Service Function Chain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf chain show <SFC: 89f99c03-a152-413b-bb39-c7618a54b23a>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-------------+----------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-------------+----------------------------------------------------+
|
||||||
|
| chain | [ |
|
||||||
|
| | { |
|
||||||
|
| | "name": "VNF1", |
|
||||||
|
| | "connection_points": [ |
|
||||||
|
| | "d4940639-764a-4a62-9b21-6ba2e86498eb" |
|
||||||
|
| | ], |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "name": "VNF2", |
|
||||||
|
| | "connection_points": [ |
|
||||||
|
| | "eeda565a-656b-4c86-b2da-c38683ff14e3" |
|
||||||
|
| | ], |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| id | 89f99c03-a152-413b-bb39-c7618a54b23a |
|
||||||
|
| instance_id | ba0b5218-1e63-49b2-9112-aba1747f29af |
|
||||||
|
| nfp_id | ed450e71-345d-4dc8-8f32-69e3a697ad56 |
|
||||||
|
| path_id | 51 |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | ACTIVE |
|
||||||
|
| symmetrical | False |
|
||||||
|
+-------------+----------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf chain show --help
|
||||||
|
usage: openstack vnf chain show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<SFC>
|
||||||
|
|
||||||
|
Display SFC details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<SFC> SFC to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
400
doc/source/cli/cli-legacy-vim.rst
Normal file
400
doc/source/cli/cli-legacy-vim.rst
Normal file
@@ -0,0 +1,400 @@
|
|||||||
|
==============
|
||||||
|
VIM Management
|
||||||
|
==============
|
||||||
|
|
||||||
|
This document describes how to manage VIM with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
CLI reference for VIM Management
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
1. Register VIM
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Create ``vim_config.yaml`` file for OpenStack VIM:
|
||||||
|
|
||||||
|
* https://opendev.org/openstack/tacker/src/branch/master/devstack/vim_config.yaml
|
||||||
|
|
||||||
|
|
||||||
|
Register default OpenStack VIM:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim register --config-file ./vim_config.yaml --is-default \
|
||||||
|
--description <DESCRIPTION: 'vim for nfv_user in nfv'> \
|
||||||
|
<NAME: openstack-nfv-vim>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
| auth_cred | { |
|
||||||
|
| | "username": "nfv_user", |
|
||||||
|
| | "user_domain_name": "Default", |
|
||||||
|
| | "cert_verify": "False", |
|
||||||
|
| | "project_id": null, |
|
||||||
|
| | "project_name": "nfv", |
|
||||||
|
| | "project_domain_name": "Default", |
|
||||||
|
| | "auth_url": "http://localhost/identity/v3", |
|
||||||
|
| | "key_type": "barbican_key", |
|
||||||
|
| | "secret_uuid": "***", |
|
||||||
|
| | "password": "***" |
|
||||||
|
| | } |
|
||||||
|
| auth_url | http://localhost/identity/v3 |
|
||||||
|
| created_at | 2020-08-12 02:28:22.470813 |
|
||||||
|
| description | vim for nfv_user in nfv |
|
||||||
|
| id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| is_default | True |
|
||||||
|
| name | openstack-nfv-vim |
|
||||||
|
| placement_attr | { |
|
||||||
|
| | "regions": [ |
|
||||||
|
| | "RegionOne" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | PENDING |
|
||||||
|
| type | openstack |
|
||||||
|
| updated_at | None |
|
||||||
|
| vim_project | { |
|
||||||
|
| | "name": "nfv", |
|
||||||
|
| | "project_domain_name": "Default" |
|
||||||
|
| | } |
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Find the IP address of Kubernetes API:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ curl http://localhost:8080/api/
|
||||||
|
|
||||||
|
{
|
||||||
|
"kind": "APIVersions",
|
||||||
|
"versions": [
|
||||||
|
"v1"
|
||||||
|
],
|
||||||
|
"serverAddressByClientCIDRs": [
|
||||||
|
{
|
||||||
|
"clientCIDR": "0.0.0.0/0",
|
||||||
|
"serverAddress": "<IP address: 10.0.2.15>:6443"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Create ``vim_config_k8s.yaml`` file for Kubernetes VIM:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
auth_url: "https://<IP_ADDRESS: 10.0.2.15>:6443"
|
||||||
|
username: "admin"
|
||||||
|
password: "admin"
|
||||||
|
project_name: "default"
|
||||||
|
ssl_ca_cert: None
|
||||||
|
type: "kubernetes"
|
||||||
|
|
||||||
|
|
||||||
|
Register Kubernetes VIM:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim register --config-file ./vim_config_k8s.yaml \
|
||||||
|
--description <DESCRIPTION: 'k8s vim for nfv_user in nfv'> \
|
||||||
|
<NAME: kubernetes-nfv-vim>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----------------+-------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+----------------+-------------------------------------------+
|
||||||
|
| auth_cred | { |
|
||||||
|
| | "username": "admin", |
|
||||||
|
| | "ssl_ca_cert": "None", |
|
||||||
|
| | "auth_url": "https://10.0.2.15:6443", |
|
||||||
|
| | "key_type": "barbican_key", |
|
||||||
|
| | "secret_uuid": "***", |
|
||||||
|
| | "password": "***" |
|
||||||
|
| | } |
|
||||||
|
| auth_url | https://10.0.2.15:6443 |
|
||||||
|
| created_at | 2020-08-16 04:36:43.579859 |
|
||||||
|
| description | k8s vim for nfv_user in nfv |
|
||||||
|
| id | fd821c54-a60f-4afe-b131-3cfb76b7df8a |
|
||||||
|
| is_default | False |
|
||||||
|
| name | kubernetes-nfv-vim |
|
||||||
|
| placement_attr | { |
|
||||||
|
| | "regions": [ |
|
||||||
|
| | "default", |
|
||||||
|
| | "kube-node-lease", |
|
||||||
|
| | "kube-public", |
|
||||||
|
| | "kube-system" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| project_id | a0f24742eb0e4764a76a09e30bf7b0dd |
|
||||||
|
| status | PENDING |
|
||||||
|
| type | kubernetes |
|
||||||
|
| updated_at | None |
|
||||||
|
| vim_project | { |
|
||||||
|
| | "name": "default" |
|
||||||
|
| | } |
|
||||||
|
+----------------+-------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim register --help
|
||||||
|
usage: openstack vim register [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--tenant-id TENANT_ID]
|
||||||
|
--config-file CONFIG_FILE
|
||||||
|
[--description DESCRIPTION] [--is-default]
|
||||||
|
NAME
|
||||||
|
|
||||||
|
Register a new VIM
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
NAME Set a name for the VIM
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
--config-file CONFIG_FILE
|
||||||
|
YAML file with VIM configuration parameters
|
||||||
|
--description DESCRIPTION
|
||||||
|
Set a description for the VIM
|
||||||
|
--is-default Set as default VIM
|
||||||
|
|
||||||
|
|
||||||
|
2. List VIMs
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+--------------------+----------------------------------+------------+------------+-----------+
|
||||||
|
| ID | Name | Tenant_id | Type | Is Default | Status |
|
||||||
|
+--------------------------------------+--------------------+----------------------------------+------------+------------+-----------+
|
||||||
|
| aacb3c7f-d532-44d9-b8ed-49e2b30114aa | openstack-nfv-vim | e77397d2a02c4af1b7d79cef2a406396 | openstack | True | REACHABLE |
|
||||||
|
+--------------------------------------+--------------------+----------------------------------+------------+------------+-----------+
|
||||||
|
| fd821c54-a60f-4afe-b131-3cfb76b7df8a | kubernetes-nfv-vim | a0f24742eb0e4764a76a09e30bf7b0dd | kubernetes | False | REACHABLE |
|
||||||
|
+--------------------------------------+--------------------+----------------------------------+------------+------------+-----------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim list --help
|
||||||
|
usage: openstack vim list [-h] [-f {csv,json,table,value,yaml}] [-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}] [--noindent]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--sort-column SORT_COLUMN] [--long]
|
||||||
|
|
||||||
|
List VIMs that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--long List additional fields in output
|
||||||
|
|
||||||
|
|
||||||
|
3. Show VIM
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim show <VIM: openstack-nfv-vim>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
| auth_cred | { |
|
||||||
|
| | "username": "nfv_user", |
|
||||||
|
| | "user_domain_name": "Default", |
|
||||||
|
| | "cert_verify": "False", |
|
||||||
|
| | "project_id": null, |
|
||||||
|
| | "project_name": "nfv", |
|
||||||
|
| | "project_domain_name": "Default", |
|
||||||
|
| | "auth_url": "http://localhost/identity/v3", |
|
||||||
|
| | "key_type": "barbican_key", |
|
||||||
|
| | "secret_uuid": "***", |
|
||||||
|
| | "password": "***" |
|
||||||
|
| | } |
|
||||||
|
| auth_url | http://localhost/identity/v3 |
|
||||||
|
| created_at | 2020-08-12 02:28:22 |
|
||||||
|
| description | vim for nfv_user in nfv |
|
||||||
|
| id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| is_default | True |
|
||||||
|
| name | openstack-nfv-vim |
|
||||||
|
| placement_attr | { |
|
||||||
|
| | "regions": [ |
|
||||||
|
| | "RegionOne" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | REACHABLE |
|
||||||
|
| type | openstack |
|
||||||
|
| updated_at | 2020-08-12 02:28:23 |
|
||||||
|
| vim_project | { |
|
||||||
|
| | "name": "nfv", |
|
||||||
|
| | "project_domain_name": "Default" |
|
||||||
|
| | } |
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim show --help
|
||||||
|
usage: openstack vim show [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN]
|
||||||
|
[--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<VIM>
|
||||||
|
|
||||||
|
Display VIM details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VIM> VIM to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
4. Update VIM
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim set --description \
|
||||||
|
<DESCRIPTION: 'new description of vim for nfv_user in nfv'> \
|
||||||
|
<VIM: openstack-nfv-vim>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
| auth_cred | { |
|
||||||
|
| | "username": "nfv_user", |
|
||||||
|
| | "user_domain_name": "Default", |
|
||||||
|
| | "cert_verify": "False", |
|
||||||
|
| | "project_id": null, |
|
||||||
|
| | "project_name": "nfv", |
|
||||||
|
| | "project_domain_name": "Default", |
|
||||||
|
| | "auth_url": "http://localhost/identity/v3", |
|
||||||
|
| | "key_type": "barbican_key", |
|
||||||
|
| | "secret_uuid": "***", |
|
||||||
|
| | "password": "***" |
|
||||||
|
| | } |
|
||||||
|
| auth_url | http://localhost/identity/v3 |
|
||||||
|
| created_at | 2020-08-12 02:28:22 |
|
||||||
|
| description | new description of vim for nfv_user in nfv |
|
||||||
|
| id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| is_default | True |
|
||||||
|
| name | openstack-nfv-vim |
|
||||||
|
| placement_attr | { |
|
||||||
|
| | "regions": [ |
|
||||||
|
| | "RegionOne" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | REACHABLE |
|
||||||
|
| type | openstack |
|
||||||
|
| updated_at | 2020-08-12 02:40:39.800778 |
|
||||||
|
| vim_project | { |
|
||||||
|
| | "name": "nfv", |
|
||||||
|
| | "project_domain_name": "Default" |
|
||||||
|
| | } |
|
||||||
|
+----------------+-------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim set --help
|
||||||
|
usage: openstack vim set [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN]
|
||||||
|
[--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width] [--print-empty]
|
||||||
|
[--config-file CONFIG_FILE] [--name NAME]
|
||||||
|
[--description DESCRIPTION]
|
||||||
|
[--is-default {True,False}]
|
||||||
|
VIM
|
||||||
|
|
||||||
|
Update VIM.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
VIM ID or name of vim to update
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--config-file CONFIG_FILE
|
||||||
|
YAML file with VIM configuration parameters
|
||||||
|
--name NAME New name for the VIM
|
||||||
|
--description DESCRIPTION
|
||||||
|
New description for the VIM
|
||||||
|
--is-default {True,False}
|
||||||
|
Indicate whether the VIM is used as default
|
||||||
|
|
||||||
|
|
||||||
|
5. Delete VIM
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim delete <VIM: openstack-nfv-vim>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
All specified vim(s) deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vim delete --help
|
||||||
|
usage: openstack vim delete [-h] <VIM> [<VIM> ...]
|
||||||
|
|
||||||
|
Delete VIM(s).
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VIM> VIM(s) to delete (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
934
doc/source/cli/cli-legacy-vnf.rst
Normal file
934
doc/source/cli/cli-legacy-vnf.rst
Normal file
@@ -0,0 +1,934 @@
|
|||||||
|
==============
|
||||||
|
VNF Management
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. TODO(yoshito-ito): add the other patterns of update.
|
||||||
|
|
||||||
|
This document describes how to manage VNF with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
A default VIM should be registered according to :doc:`./cli-legacy-vim`.
|
||||||
|
|
||||||
|
CLI reference for VNF Management
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
1. Create VNF
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Create ``tosca-vnfd-scale.yaml`` file:
|
||||||
|
|
||||||
|
* https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-vnfd-scale.yaml
|
||||||
|
|
||||||
|
|
||||||
|
Create a VNFD:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor create --vnfd-file \
|
||||||
|
tosca-vnfd-scale.yaml <VNFD: tosca-vnfd-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "vnfd": { |
|
||||||
|
| | "description": "sample-tosca-vnfd-scaling", |
|
||||||
|
| | "metadata": { |
|
||||||
|
| | "template_name": "sample-tosca-vnfd-scaling" |
|
||||||
|
| | }, |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "CP1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "management": true, |
|
||||||
|
| | "order": 0 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL1" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "CP2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "management": true, |
|
||||||
|
| | "order": 0 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL1" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU2" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VDU1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "availability_zone": "nova", |
|
||||||
|
| | "flavor": "m1.tiny", |
|
||||||
|
| | "image": "cirros-0.4.0-x86_64-disk", |
|
||||||
|
| | "mgmt_driver": "noop" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VDU.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VDU2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "availability_zone": "nova", |
|
||||||
|
| | "flavor": "m1.tiny", |
|
||||||
|
| | "image": "cirros-0.4.0-x86_64-disk", |
|
||||||
|
| | "mgmt_driver": "noop" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VDU.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net_mgmt", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "policies": [ |
|
||||||
|
| | { |
|
||||||
|
| | "SP1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "cooldown": 120, |
|
||||||
|
| | "default_instances": 2, |
|
||||||
|
| | "increment": 1, |
|
||||||
|
| | "max_instances": 3, |
|
||||||
|
| | "min_instances": 1 |
|
||||||
|
| | }, |
|
||||||
|
| | "targets": [ |
|
||||||
|
| | "VDU1", |
|
||||||
|
| | "VDU2" |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.policies.tacker.Scaling" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| created_at | 2020-08-12 04:20:08.908891 |
|
||||||
|
| description | sample-tosca-vnfd-scaling |
|
||||||
|
| id | 1001f4e6-2e62-4950-be7a-541963e7e575 |
|
||||||
|
| name | tosca-vnfd-scale |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| service_types | ['vnfd'] |
|
||||||
|
| template_source | onboarded |
|
||||||
|
| updated_at | None |
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Create the VNF:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf create --vnfd-name <VNFD_NAME: tosca-vnfd-scale> \
|
||||||
|
<NAME: vnf-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+---------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+---------------------------------------------------+
|
||||||
|
| attributes | SP1_res.yaml=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: Scaling template |
|
||||||
|
| | resources: |
|
||||||
|
| | CP1: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | CP2: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | VDU1: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP1 |
|
||||||
|
| | VDU2: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP2 |
|
||||||
|
| | VL1: |
|
||||||
|
| | type: OS::Neutron::Net |
|
||||||
|
| | outputs: |
|
||||||
|
| | mgmt_ip-VDU1: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP1 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | mgmt_ip-VDU2: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP2 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | , heat_template=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: 'sample-tosca-vnfd-scaling |
|
||||||
|
| | |
|
||||||
|
| | ' |
|
||||||
|
| | parameters: {} |
|
||||||
|
| | resources: |
|
||||||
|
| | SP1_scale_out: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: 1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | SP1_group: |
|
||||||
|
| | type: OS::Heat::AutoScalingGroup |
|
||||||
|
| | properties: |
|
||||||
|
| | min_size: 1 |
|
||||||
|
| | max_size: 3 |
|
||||||
|
| | desired_capacity: 2 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | resource: |
|
||||||
|
| | type: SP1_res.yaml |
|
||||||
|
| | SP1_scale_in: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: -1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | outputs: {} |
|
||||||
|
| | , scaling_group_names=b'{"SP1": "SP1_group"}' |
|
||||||
|
| created_at | 2020-08-12 04:22:35.006543 |
|
||||||
|
| description | sample-tosca-vnfd-scaling |
|
||||||
|
| error_reason | None |
|
||||||
|
| id | 9b312a7c-15de-4230-85fb-27da7d37978b |
|
||||||
|
| instance_id | 0e00ca75-23b7-4ff8-a90f-83c55d756d4f |
|
||||||
|
| mgmt_ip_address | None |
|
||||||
|
| name | vnf-scale |
|
||||||
|
| placement_attr | vim_name=openstack-nfv-vim |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | PENDING_CREATE |
|
||||||
|
| updated_at | None |
|
||||||
|
| vim_id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| vnfd_id | 1001f4e6-2e62-4950-be7a-541963e7e575 |
|
||||||
|
+-----------------+---------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf create --help
|
||||||
|
usage: openstack vnf create [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--tenant-id TENANT_ID]
|
||||||
|
(--vnfd-id VNFD_ID | --vnfd-name VNFD_NAME | --vnfd-template VNFD_TEMPLATE)
|
||||||
|
[--vim-id VIM_ID | --vim-name VIM_NAME]
|
||||||
|
[--vim-region-name VIM_REGION_NAME]
|
||||||
|
[--config-file CONFIG_FILE]
|
||||||
|
[--param-file PARAM_FILE]
|
||||||
|
[--description DESCRIPTION]
|
||||||
|
NAME
|
||||||
|
|
||||||
|
Create a new VNF
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
NAME Set a name for the VNF
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
--vnfd-id VNFD_ID VNFD ID to use as template to create VNF
|
||||||
|
--vnfd-name VNFD_NAME
|
||||||
|
VNFD Name to use as template to create VNF
|
||||||
|
--vnfd-template VNFD_TEMPLATE
|
||||||
|
VNFD file to create VNF
|
||||||
|
--vim-id VIM_ID VIM ID to deploy VNF on specified VIM
|
||||||
|
--vim-name VIM_NAME VIM name to deploy VNF on specified VIM
|
||||||
|
--vim-region-name VIM_REGION_NAME
|
||||||
|
VIM Region to deploy VNF on specified VIM
|
||||||
|
--config-file CONFIG_FILE
|
||||||
|
YAML file with VNF configuration
|
||||||
|
--param-file PARAM_FILE
|
||||||
|
Specify parameter yaml file
|
||||||
|
--description DESCRIPTION
|
||||||
|
Set description for the VNF
|
||||||
|
|
||||||
|
|
||||||
|
2. List VNFs
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf list
|
||||||
|
|
||||||
|
|
||||||
|
Result (CREATING):
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+-----------+-----------------+----------------+--------------------------------------+--------------------------------------+
|
||||||
|
| ID | Name | Mgmt Ip Address | Status | VIM ID | VNFD ID |
|
||||||
|
+--------------------------------------+-----------+-----------------+----------------+--------------------------------------+--------------------------------------+
|
||||||
|
| 9b312a7c-15de-4230-85fb-27da7d37978b | vnf-scale | None | PENDING_CREATE | aacb3c7f-d532-44d9-b8ed-49e2b30114aa | 1001f4e6-2e62-4950-be7a-541963e7e575 |
|
||||||
|
+--------------------------------------+-----------+-----------------+----------------+--------------------------------------+--------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Result (CREATED):
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+-----------+-----------------------------------------------------------------------------------------------+--------+--------------------------------------+--------------------------------------+
|
||||||
|
| ID | Name | Mgmt Ip Address | Status | VIM ID | VNFD ID |
|
||||||
|
+--------------------------------------+-----------+-----------------------------------------------------------------------------------------------+--------+--------------------------------------+--------------------------------------+
|
||||||
|
| 9b312a7c-15de-4230-85fb-27da7d37978b | vnf-scale | {"VDU2": ["192.168.120.250", "192.168.120.41"], "VDU1": ["192.168.120.69", "192.168.120.92"]} | ACTIVE | aacb3c7f-d532-44d9-b8ed-49e2b30114aa | 1001f4e6-2e62-4950-be7a-541963e7e575 |
|
||||||
|
+--------------------------------------+-----------+-----------------------------------------------------------------------------------------------+--------+--------------------------------------+--------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf list --help
|
||||||
|
usage: openstack vnf list [-h] [-f {csv,json,table,value,yaml}] [-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}] [--noindent]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--sort-column SORT_COLUMN]
|
||||||
|
[--template-source TEMPLATE_SOURCE]
|
||||||
|
[--vim-id VIM_ID | --vim-name VIM_NAME]
|
||||||
|
[--vnfd-id VNFD_ID | --vnfd-name VNFD_NAME]
|
||||||
|
[--tenant-id TENANT_ID] [--long]
|
||||||
|
|
||||||
|
List VNF(s) that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--template-source TEMPLATE_SOURCE
|
||||||
|
List VNF with specified template source. Available
|
||||||
|
options are 'onboarded' (default), 'inline' or 'all'
|
||||||
|
--vim-id VIM_ID List VNF(s) that belong to a given VIM ID
|
||||||
|
--vim-name VIM_NAME List VNF(s) that belong to a given VIM Name
|
||||||
|
--vnfd-id VNFD_ID List VNF(s) that belong to a given VNFD ID
|
||||||
|
--vnfd-name VNFD_NAME
|
||||||
|
List VNF(s) that belong to a given VNFD Name
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
--long List additional fields in output
|
||||||
|
|
||||||
|
|
||||||
|
3. Show VNF
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf show <VNF: vnf-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
| attributes | SP1_res.yaml=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: Scaling template |
|
||||||
|
| | resources: |
|
||||||
|
| | CP1: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | CP2: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | VDU1: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP1 |
|
||||||
|
| | VDU2: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP2 |
|
||||||
|
| | VL1: |
|
||||||
|
| | type: OS::Neutron::Net |
|
||||||
|
| | outputs: |
|
||||||
|
| | mgmt_ip-VDU1: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP1 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | mgmt_ip-VDU2: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP2 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | , heat_template=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: 'sample-tosca-vnfd-scaling |
|
||||||
|
| | |
|
||||||
|
| | ' |
|
||||||
|
| | parameters: {} |
|
||||||
|
| | resources: |
|
||||||
|
| | SP1_scale_out: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: 1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | SP1_group: |
|
||||||
|
| | type: OS::Heat::AutoScalingGroup |
|
||||||
|
| | properties: |
|
||||||
|
| | min_size: 1 |
|
||||||
|
| | max_size: 3 |
|
||||||
|
| | desired_capacity: 2 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | resource: |
|
||||||
|
| | type: SP1_res.yaml |
|
||||||
|
| | SP1_scale_in: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: -1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | outputs: {} |
|
||||||
|
| | , scaling_group_names={"SP1": "SP1_group"} |
|
||||||
|
| created_at | 2020-08-12 04:22:35 |
|
||||||
|
| description | sample-tosca-vnfd-scaling |
|
||||||
|
| error_reason | None |
|
||||||
|
| id | 9b312a7c-15de-4230-85fb-27da7d37978b |
|
||||||
|
| instance_id | 0e00ca75-23b7-4ff8-a90f-83c55d756d4f |
|
||||||
|
| mgmt_ip_address | {"VDU2": ["192.168.120.250", "192.168.120.41"], "VDU1": ["192.168.120.69", "192.168.120.92"]} |
|
||||||
|
| name | vnf-scale |
|
||||||
|
| placement_attr | vim_name=openstack-nfv-vim |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | ACTIVE |
|
||||||
|
| updated_at | None |
|
||||||
|
| vim_id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| vnfd_id | 1001f4e6-2e62-4950-be7a-541963e7e575 |
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf show --help
|
||||||
|
usage: openstack vnf show [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN]
|
||||||
|
[--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<VNF>
|
||||||
|
|
||||||
|
Display VNF details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNF> VNF to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
4. List VNF resource
|
||||||
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf resource list <VNF: vnf-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+---------------+----------------------------+
|
||||||
|
| ID | Name | Type |
|
||||||
|
+--------------------------------------+---------------+----------------------------+
|
||||||
|
| 4abedc36da294bb0a0fa8aaa7f4c01f4 | SP1_scale_out | OS::Heat::ScalingPolicy |
|
||||||
|
| 0060aff7150d43c5ace293e3cac4552a | SP1_scale_in | OS::Heat::ScalingPolicy |
|
||||||
|
| 141c0279-1dfb-42a3-b947-4caa3765b27f | SP1_group | OS::Heat::AutoScalingGroup |
|
||||||
|
| 9f65c3d6-e5ce-4611-8589-82fab1a32d6e | qf4qc4l6qk7o | SP1_res.yaml |
|
||||||
|
| 9a01d98e-9c01-4e55-ba86-571b61e4ea74 | edilzqp2htvv | SP1_res.yaml |
|
||||||
|
| 0abc3f38-647e-4b47-8376-06d2e56c4217 | VDU2 | OS::Nova::Server |
|
||||||
|
| a6374222-ecbc-4eee-96e6-9fe601807c9d | CP2 | OS::Neutron::Port |
|
||||||
|
| 8d2fc2d9-33ee-440d-9e02-db6083cd5cb6 | VL1 | OS::Neutron::Net |
|
||||||
|
| 84c78850-8a06-41ab-98a7-371224125beb | VDU1 | OS::Nova::Server |
|
||||||
|
| 5462f8c1-3292-44af-8661-39e1a7474859 | CP1 | OS::Neutron::Port |
|
||||||
|
+--------------------------------------+---------------+----------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf resource list --help
|
||||||
|
usage: openstack vnf resource list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
<VNF>
|
||||||
|
|
||||||
|
List resources of a VNF like VDU, CP, etc.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNF> VNF to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
5. Update VNF
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Create ``vnf-config.yaml``:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
vdus:
|
||||||
|
VDU1:
|
||||||
|
config:
|
||||||
|
foo: 'bar'
|
||||||
|
|
||||||
|
|
||||||
|
Update VNF with the config file ``vnf-config.yaml``:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf set --config-file vnf-config.yaml <VNF: vnf-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Result (Updating):
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
| attributes | SP1_res.yaml=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: Scaling template |
|
||||||
|
| | resources: |
|
||||||
|
| | CP1: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | CP2: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | VDU1: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP1 |
|
||||||
|
| | VDU2: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP2 |
|
||||||
|
| | VL1: |
|
||||||
|
| | type: OS::Neutron::Net |
|
||||||
|
| | outputs: |
|
||||||
|
| | mgmt_ip-VDU1: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP1 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | mgmt_ip-VDU2: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP2 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | , config=vdus: |
|
||||||
|
| | VDU1: |
|
||||||
|
| | config: |
|
||||||
|
| | foo: bar |
|
||||||
|
| | , heat_template=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: 'sample-tosca-vnfd-scaling |
|
||||||
|
| | |
|
||||||
|
| | ' |
|
||||||
|
| | parameters: {} |
|
||||||
|
| | resources: |
|
||||||
|
| | SP1_scale_out: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: 1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | SP1_group: |
|
||||||
|
| | type: OS::Heat::AutoScalingGroup |
|
||||||
|
| | properties: |
|
||||||
|
| | min_size: 1 |
|
||||||
|
| | max_size: 3 |
|
||||||
|
| | desired_capacity: 2 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | resource: |
|
||||||
|
| | type: SP1_res.yaml |
|
||||||
|
| | SP1_scale_in: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: -1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | outputs: {} |
|
||||||
|
| | , scaling_group_names={"SP1": "SP1_group"} |
|
||||||
|
| created_at | 2020-08-12 04:22:35 |
|
||||||
|
| description | sample-tosca-vnfd-scaling |
|
||||||
|
| error_reason | None |
|
||||||
|
| id | 9b312a7c-15de-4230-85fb-27da7d37978b |
|
||||||
|
| instance_id | 0e00ca75-23b7-4ff8-a90f-83c55d756d4f |
|
||||||
|
| mgmt_ip_address | {"VDU2": ["192.168.120.250", "192.168.120.41"], "VDU1": ["192.168.120.69", "192.168.120.92"]} |
|
||||||
|
| name | vnf-scale |
|
||||||
|
| placement_attr | vim_name=openstack-nfv-vim |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | PENDING_UPDATE |
|
||||||
|
| updated_at | None |
|
||||||
|
| vim_id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| vnfd_id | 1001f4e6-2e62-4950-be7a-541963e7e575 |
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Result (Updated):
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
| attributes | SP1_res.yaml=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: Scaling template |
|
||||||
|
| | resources: |
|
||||||
|
| | CP1: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | CP2: |
|
||||||
|
| | type: OS::Neutron::Port |
|
||||||
|
| | properties: |
|
||||||
|
| | port_security_enabled: false |
|
||||||
|
| | network: net_mgmt |
|
||||||
|
| | VDU1: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP1 |
|
||||||
|
| | VDU2: |
|
||||||
|
| | type: OS::Nova::Server |
|
||||||
|
| | properties: |
|
||||||
|
| | flavor: m1.tiny |
|
||||||
|
| | user_data_format: SOFTWARE_CONFIG |
|
||||||
|
| | availability_zone: nova |
|
||||||
|
| | image: cirros-0.4.0-x86_64-disk |
|
||||||
|
| | config_drive: false |
|
||||||
|
| | networks: |
|
||||||
|
| | - port: |
|
||||||
|
| | get_resource: CP2 |
|
||||||
|
| | VL1: |
|
||||||
|
| | type: OS::Neutron::Net |
|
||||||
|
| | outputs: |
|
||||||
|
| | mgmt_ip-VDU1: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP1 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | mgmt_ip-VDU2: |
|
||||||
|
| | value: |
|
||||||
|
| | get_attr: |
|
||||||
|
| | - CP2 |
|
||||||
|
| | - fixed_ips |
|
||||||
|
| | - 0 |
|
||||||
|
| | - ip_address |
|
||||||
|
| | , config=vdus: |
|
||||||
|
| | VDU1: |
|
||||||
|
| | config: |
|
||||||
|
| | foo: bar |
|
||||||
|
| | , heat_template=heat_template_version: 2013-05-23 |
|
||||||
|
| | description: 'sample-tosca-vnfd-scaling |
|
||||||
|
| | |
|
||||||
|
| | ' |
|
||||||
|
| | parameters: {} |
|
||||||
|
| | resources: |
|
||||||
|
| | SP1_scale_out: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: 1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | SP1_group: |
|
||||||
|
| | type: OS::Heat::AutoScalingGroup |
|
||||||
|
| | properties: |
|
||||||
|
| | min_size: 1 |
|
||||||
|
| | max_size: 3 |
|
||||||
|
| | desired_capacity: 2 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | resource: |
|
||||||
|
| | type: SP1_res.yaml |
|
||||||
|
| | SP1_scale_in: |
|
||||||
|
| | type: OS::Heat::ScalingPolicy |
|
||||||
|
| | properties: |
|
||||||
|
| | auto_scaling_group_id: |
|
||||||
|
| | get_resource: SP1_group |
|
||||||
|
| | adjustment_type: change_in_capacity |
|
||||||
|
| | scaling_adjustment: -1 |
|
||||||
|
| | cooldown: 120 |
|
||||||
|
| | outputs: {} |
|
||||||
|
| | , scaling_group_names={"SP1": "SP1_group"} |
|
||||||
|
| created_at | 2020-08-12 04:22:35 |
|
||||||
|
| description | sample-tosca-vnfd-scaling |
|
||||||
|
| error_reason | None |
|
||||||
|
| id | 9b312a7c-15de-4230-85fb-27da7d37978b |
|
||||||
|
| instance_id | 0e00ca75-23b7-4ff8-a90f-83c55d756d4f |
|
||||||
|
| mgmt_ip_address | {"VDU2": ["192.168.120.250", "192.168.120.41"], "VDU1": ["192.168.120.69", "192.168.120.92"]} |
|
||||||
|
| name | vnf-scale |
|
||||||
|
| placement_attr | vim_name=openstack-nfv-vim |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | ACTIVE |
|
||||||
|
| updated_at | 2020-08-12 05:06:13 |
|
||||||
|
| vim_id | aacb3c7f-d532-44d9-b8ed-49e2b30114aa |
|
||||||
|
| vnfd_id | 1001f4e6-2e62-4950-be7a-541963e7e575 |
|
||||||
|
+-----------------+-----------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf set --help
|
||||||
|
usage: openstack vnf set [-h] [-f {json,shell,table,value,yaml}] [-c COLUMN]
|
||||||
|
[--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width] [--print-empty]
|
||||||
|
(--config-file CONFIG_FILE | --config CONFIG | --param-file PARAM_FILE)
|
||||||
|
<VNF>
|
||||||
|
|
||||||
|
Update a given VNF.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNF> VNF to update (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--config-file CONFIG_FILE
|
||||||
|
YAML file with VNF configuration
|
||||||
|
--config CONFIG YAML data with VNF configuration
|
||||||
|
--param-file PARAM_FILE
|
||||||
|
YAML file with VNF parameter
|
||||||
|
|
||||||
|
|
||||||
|
.. note:: When the update VNF operation executed, Tacker ask Heat to update
|
||||||
|
the stack and the change is reflected immediately, and the VMs may
|
||||||
|
reboot.
|
||||||
|
|
||||||
|
|
||||||
|
6. Scale VNF
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Scale out the VNF:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf scale --scaling-policy-name <SCALING_POLICY_NAME: SP1> \
|
||||||
|
--scaling-type out <VNF: vnf-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Check the VMs scaled out:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack server list
|
||||||
|
+--------------------------------------+-------------------------------------------------------+--------+--------------------------+--------------------------+---------+
|
||||||
|
| ID | Name | Status | Networks | Image | Flavor |
|
||||||
|
+--------------------------------------+-------------------------------------------------------+--------+--------------------------+--------------------------+---------+
|
||||||
|
| dfb04024-666c-4b82-94eb-12766851cfb7 | vn-6okzhe-k6n2umsyoizd-ex2uwxma2tlt-VDU2-ljontrce3bd7 | ACTIVE | net_mgmt=192.168.120.8 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| e48999e8-5f65-43e4-b8a5-e81e358e2e21 | vn-6okzhe-k6n2umsyoizd-ex2uwxma2tlt-VDU1-3dcglaxrwyzl | ACTIVE | net_mgmt=192.168.120.82 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| 0abc3f38-647e-4b47-8376-06d2e56c4217 | vn-6okzhe-edilzqp2htvv-ibfssgztffjf-VDU2-43gjj46b2nrr | ACTIVE | net_mgmt=192.168.120.41 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| 43840dde-1ec3-4da6-aeab-afca96299a9f | vn-6okzhe-qf4qc4l6qk7o-tukln5mwcokq-VDU2-zd7nq3smgjdr | ACTIVE | net_mgmt=192.168.120.250 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| 84c78850-8a06-41ab-98a7-371224125beb | vn-6okzhe-edilzqp2htvv-ibfssgztffjf-VDU1-qvv2vv37f65t | ACTIVE | net_mgmt=192.168.120.92 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| 9318b9fe-d655-4088-9910-b5f7481ed059 | vn-6okzhe-qf4qc4l6qk7o-tukln5mwcokq-VDU1-omaexvftqjee | ACTIVE | net_mgmt=192.168.120.69 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
+--------------------------------------+-------------------------------------------------------+--------+--------------------------+--------------------------+---------+
|
||||||
|
|
||||||
|
|
||||||
|
Scale in the VNF:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf scale --scaling-policy-name <SCALING_POLICY_NAME: SP1> \
|
||||||
|
--scaling-type in <VNF: vnf-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Check the VMs scaled in:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack server list
|
||||||
|
+--------------------------------------+-------------------------------------------------------+--------+--------------------------+--------------------------+---------+
|
||||||
|
| ID | Name | Status | Networks | Image | Flavor |
|
||||||
|
+--------------------------------------+-------------------------------------------------------+--------+--------------------------+--------------------------+---------+
|
||||||
|
| dfb04024-666c-4b82-94eb-12766851cfb7 | vn-6okzhe-k6n2umsyoizd-ex2uwxma2tlt-VDU2-ljontrce3bd7 | ACTIVE | net_mgmt=192.168.120.8 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| e48999e8-5f65-43e4-b8a5-e81e358e2e21 | vn-6okzhe-k6n2umsyoizd-ex2uwxma2tlt-VDU1-3dcglaxrwyzl | ACTIVE | net_mgmt=192.168.120.82 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| 43840dde-1ec3-4da6-aeab-afca96299a9f | vn-6okzhe-qf4qc4l6qk7o-tukln5mwcokq-VDU2-zd7nq3smgjdr | ACTIVE | net_mgmt=192.168.120.250 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
| 9318b9fe-d655-4088-9910-b5f7481ed059 | vn-6okzhe-qf4qc4l6qk7o-tukln5mwcokq-VDU1-omaexvftqjee | ACTIVE | net_mgmt=192.168.120.69 | cirros-0.4.0-x86_64-disk | m1.tiny |
|
||||||
|
+--------------------------------------+-------------------------------------------------------+--------+--------------------------+--------------------------+---------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf scale --help
|
||||||
|
usage: openstack vnf scale [-h] [--scaling-policy-name SCALING_POLICY_NAME]
|
||||||
|
[--scaling-type SCALING_TYPE]
|
||||||
|
<VNF>
|
||||||
|
|
||||||
|
Scale a VNF.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNF> VNF to scale (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--scaling-policy-name SCALING_POLICY_NAME
|
||||||
|
VNF policy name used to scale
|
||||||
|
--scaling-type SCALING_TYPE
|
||||||
|
VNF scaling type, it could be either "out" or "in"
|
||||||
|
|
||||||
|
|
||||||
|
7. Delete VNFs
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf delete <VNF: vnf-scale>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
All specified vnf(s) deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf delete --help
|
||||||
|
usage: openstack vnf delete [-h] [--force] <VNF> [<VNF> ...]
|
||||||
|
|
||||||
|
Delete VNF(s).
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNF> VNF(s) to delete (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--force Force delete VNF instance
|
||||||
570
doc/source/cli/cli-legacy-vnfd.rst
Normal file
570
doc/source/cli/cli-legacy-vnfd.rst
Normal file
@@ -0,0 +1,570 @@
|
|||||||
|
================================
|
||||||
|
VNF Descriptor (VNFD) Management
|
||||||
|
================================
|
||||||
|
|
||||||
|
The behavioural and deployment information of a VNF in Tacker is defined in a
|
||||||
|
template known as VNF Descriptor (VNFD). The template is based on TOSCA
|
||||||
|
standards and is written in YAML.
|
||||||
|
|
||||||
|
This document describes how to manage VNFD with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
CLI reference for VNFD Management
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
1. Create VNF Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Create ``tosca-vnfd-hello-world.yaml`` file:
|
||||||
|
|
||||||
|
* https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-vnfd-hello-world.yaml
|
||||||
|
|
||||||
|
|
||||||
|
Create a VNFD:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor create --vnfd-file \
|
||||||
|
tosca-vnfd-hello-world.yaml <NAME: tosca-vnfd-hello-world>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "vnfd": { |
|
||||||
|
| | "description": "Demo example", |
|
||||||
|
| | "metadata": { |
|
||||||
|
| | "template_name": "sample-tosca-vnfd" |
|
||||||
|
| | }, |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "CP1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "management": true, |
|
||||||
|
| | "order": 0 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL1" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "CP2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "order": 1 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL2" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "CP3": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "order": 2 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL3" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VDU1": { |
|
||||||
|
| | "capabilities": { |
|
||||||
|
| | "nfv_compute": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "disk_size": "1 GB", |
|
||||||
|
| | "mem_size": "512 MB", |
|
||||||
|
| | "num_cpus": 1 |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "availability_zone": "nova", |
|
||||||
|
| | "config": "param0: key1\nparam1: key2\n", |
|
||||||
|
| | "image": "cirros-0.4.0-x86_64-disk", |
|
||||||
|
| | "mgmt_driver": "noop" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VDU.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net_mgmt", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net0", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL3": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net1", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| created_at | 2020-08-12 03:28:04.171956 |
|
||||||
|
| description | Demo example |
|
||||||
|
| id | 57f46bdb-c5b5-448e-bf98-df3d7d94038e |
|
||||||
|
| name | tosca-vnfd-hello-world |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| service_types | ['vnfd'] |
|
||||||
|
| template_source | onboarded |
|
||||||
|
| updated_at | None |
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor create --help
|
||||||
|
usage: openstack vnf descriptor create [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--tenant-id TENANT_ID]
|
||||||
|
--vnfd-file VNFD_FILE
|
||||||
|
[--description DESCRIPTION]
|
||||||
|
NAME
|
||||||
|
|
||||||
|
Create a new VNFD
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
NAME Name for VNFD
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
--vnfd-file VNFD_FILE
|
||||||
|
YAML file with VNFD parameters
|
||||||
|
--description DESCRIPTION
|
||||||
|
Set a description for the VNFD
|
||||||
|
|
||||||
|
|
||||||
|
2. List VNF Descriptors
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+------------------------+-----------------+--------------+
|
||||||
|
| ID | Name | Template_Source | Description |
|
||||||
|
+--------------------------------------+------------------------+-----------------+--------------+
|
||||||
|
| 57f46bdb-c5b5-448e-bf98-df3d7d94038e | tosca-vnfd-hello-world | onboarded | Demo example |
|
||||||
|
+--------------------------------------+------------------------+-----------------+--------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor list --help
|
||||||
|
usage: openstack vnf descriptor list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
[--template-source TEMPLATE_SOURCE]
|
||||||
|
|
||||||
|
List (VNFD)s that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--template-source TEMPLATE_SOURCE
|
||||||
|
List VNFD with specified template source. Available
|
||||||
|
options are 'onboarded' (default), 'inline' or 'all'
|
||||||
|
|
||||||
|
|
||||||
|
3. Show VNF Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor show <VNFD: tosca-vnfd-hello-world>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "vnfd": { |
|
||||||
|
| | "description": "Demo example", |
|
||||||
|
| | "metadata": { |
|
||||||
|
| | "template_name": "sample-tosca-vnfd" |
|
||||||
|
| | }, |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "CP1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "management": true, |
|
||||||
|
| | "order": 0 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL1" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "CP2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "order": 1 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL2" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "CP3": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "order": 2 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL3" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VDU1": { |
|
||||||
|
| | "capabilities": { |
|
||||||
|
| | "nfv_compute": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "disk_size": "1 GB", |
|
||||||
|
| | "mem_size": "512 MB", |
|
||||||
|
| | "num_cpus": 1 |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "availability_zone": "nova", |
|
||||||
|
| | "config": "param0: key1\nparam1: key2\n", |
|
||||||
|
| | "image": "cirros-0.4.0-x86_64-disk", |
|
||||||
|
| | "mgmt_driver": "noop" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VDU.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net_mgmt", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net0", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL3": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net1", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| created_at | 2020-08-12 03:28:04 |
|
||||||
|
| description | Demo example |
|
||||||
|
| id | 57f46bdb-c5b5-448e-bf98-df3d7d94038e |
|
||||||
|
| name | tosca-vnfd-hello-world |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| service_types | ['vnfd'] |
|
||||||
|
| template_source | onboarded |
|
||||||
|
| updated_at | None |
|
||||||
|
+-----------------+---------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor show --help
|
||||||
|
usage: openstack vnf descriptor show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
<VNFD>
|
||||||
|
|
||||||
|
Display VNFD details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFD> VNFD to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
4. Show VNF Descriptor template
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor template show <VNFD: tosca-vnfd-hello-world>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+------------+---------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------+---------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "vnfd": { |
|
||||||
|
| | "description": "Demo example", |
|
||||||
|
| | "metadata": { |
|
||||||
|
| | "template_name": "sample-tosca-vnfd" |
|
||||||
|
| | }, |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "CP1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "management": true, |
|
||||||
|
| | "order": 0 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL1" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "CP2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "order": 1 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL2" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "CP3": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "anti_spoofing_protection": false, |
|
||||||
|
| | "order": 2 |
|
||||||
|
| | }, |
|
||||||
|
| | "requirements": [ |
|
||||||
|
| | { |
|
||||||
|
| | "virtualLink": { |
|
||||||
|
| | "node": "VL3" |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "virtualBinding": { |
|
||||||
|
| | "node": "VDU1" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ], |
|
||||||
|
| | "type": "tosca.nodes.nfv.CP.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VDU1": { |
|
||||||
|
| | "capabilities": { |
|
||||||
|
| | "nfv_compute": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "disk_size": "1 GB", |
|
||||||
|
| | "mem_size": "512 MB", |
|
||||||
|
| | "num_cpus": 1 |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "availability_zone": "nova", |
|
||||||
|
| | "config": "param0: key1\nparam1: key2\n", |
|
||||||
|
| | "image": "cirros-0.4.0-x86_64-disk", |
|
||||||
|
| | "mgmt_driver": "noop" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VDU.Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL1": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net_mgmt", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL2": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net0", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | }, |
|
||||||
|
| | "VL3": { |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "network_name": "net1", |
|
||||||
|
| | "vendor": "Tacker" |
|
||||||
|
| | }, |
|
||||||
|
| | "type": "tosca.nodes.nfv.VL" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
+------------+---------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor template show --help
|
||||||
|
usage: openstack vnf descriptor template show [-h]
|
||||||
|
[-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
<VNFD>
|
||||||
|
|
||||||
|
Display VNFD Template details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFD> VNFD to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
5. Delete VNF Descriptors
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor delete <VNFD: tosca-vnfd-hello-world>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
All specified vnfd(s) deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor delete --help
|
||||||
|
usage: openstack vnf descriptor delete [-h] <VNFD> [<VNFD> ...]
|
||||||
|
|
||||||
|
Delete VNFD(s).
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFD> VNFD(s) to delete (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
573
doc/source/cli/cli-legacy-vnffg.rst
Normal file
573
doc/source/cli/cli-legacy-vnffg.rst
Normal file
@@ -0,0 +1,573 @@
|
|||||||
|
=======================================
|
||||||
|
VNF Forwarding Graph (VNFFG) Management
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
.. TODO(yoshito-ito): Update "Update VNFFG" operation after fixing the bug:
|
||||||
|
* https://bugs.launchpad.net/python-tackerclient/+bug/1892152
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
A default VIM should be registered according to :doc:`./cli-legacy-vim`.
|
||||||
|
|
||||||
|
The following VNFDs are created with the name ``VNFD1`` and ``VNFD2``
|
||||||
|
according to :doc:`./cli-legacy-vnfd`.
|
||||||
|
|
||||||
|
* `tosca-vnffg-vnfd1.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd1.yaml>`_
|
||||||
|
* `tosca-vnffg-vnfd2.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffg-vnfd2.yaml>`_
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd1.yaml VNFD1
|
||||||
|
$ openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd2.yaml VNFD2
|
||||||
|
|
||||||
|
|
||||||
|
The VNFs from the created VNFDs are deployed with the name ``VNF1`` and
|
||||||
|
``VNF2`` according to :doc:`./cli-legacy-vnf`.
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf create --vnfd-name VNFD1 VNF1
|
||||||
|
$ openstack vnf create --vnfd-name VNFD2 VNF2
|
||||||
|
|
||||||
|
|
||||||
|
CLI reference for VNFFG Management
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
1. Create VNF Forwarding Graph
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Check the source port ID ``CP12`` of VNF1:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack port list -c ID -c Name | grep CP12
|
||||||
|
| d4940639-764a-4a62-9b21-6ba2e86498eb | VNF1_4ffb436f-7f2c-4df1-96c4-38e9208261fd-CP12-pj3nwzbv2wt2 |
|
||||||
|
|
||||||
|
|
||||||
|
Create and update `tosca-vnffgd-sample.yaml <https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffgd-sample.yaml>`_:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
(Before)
|
||||||
|
network_src_port_id: 14ad4f29-629f-4b97-8bc8-86e96cb49974
|
||||||
|
|
||||||
|
(After)
|
||||||
|
network_src_port_id: <ID: d4940639-764a-4a62-9b21-6ba2e86498eb>
|
||||||
|
|
||||||
|
|
||||||
|
.. note:: The appropriate port ID should be used according to your environment.
|
||||||
|
|
||||||
|
Create the VNFFGD:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor create --vnffgd-file \
|
||||||
|
tosca-vnffgd-sample.yaml <NAME: tosca-vnffgd-sample>
|
||||||
|
|
||||||
|
|
||||||
|
Create the VNFFG:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph create --vnffgd-name <VNFFGD: tosca-vnffgd-sample> \
|
||||||
|
<NAME: tosca-vnffg-sample>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+------------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "vnffgd": { |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0", |
|
||||||
|
| | "description": "Sample VNFFG template", |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "Forwarding_path1": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.FP.TackerV2", |
|
||||||
|
| | "description": "creates path (CP12->CP22)", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "id": 51, |
|
||||||
|
| | "policy": { |
|
||||||
|
| | "type": "ACL", |
|
||||||
|
| | "criteria": [ |
|
||||||
|
| | { |
|
||||||
|
| | "name": "block_tcp", |
|
||||||
|
| | "classifier": { |
|
||||||
|
| | "network_src_port_id": "d4940639-764a-4a62-9b21-6ba2e86498eb", |
|
||||||
|
| | "destination_port_range": "80-1024", |
|
||||||
|
| | "ip_proto": 6, |
|
||||||
|
| | "ip_dst_prefix": "10.10.0.5/24" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "path": [ |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD1", |
|
||||||
|
| | "capability": "CP12", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD2", |
|
||||||
|
| | "capability": "CP22", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "groups": { |
|
||||||
|
| | "VNFFG1": { |
|
||||||
|
| | "type": "tosca.groups.nfv.VNFFG", |
|
||||||
|
| | "description": "HTTP to Corporate Net", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "vendor": "tacker", |
|
||||||
|
| | "version": 1.0, |
|
||||||
|
| | "number_of_endpoints": 2, |
|
||||||
|
| | "dependent_virtual_link": [ |
|
||||||
|
| | "VL12", |
|
||||||
|
| | "VL22" |
|
||||||
|
| | ], |
|
||||||
|
| | "connection_point": [ |
|
||||||
|
| | "CP12", |
|
||||||
|
| | "CP22" |
|
||||||
|
| | ], |
|
||||||
|
| | "constituent_vnfs": [ |
|
||||||
|
| | "VNFD1", |
|
||||||
|
| | "VNFD2" |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "members": [ |
|
||||||
|
| | "Forwarding_path1" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml", |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| description | Sample VNFFG template |
|
||||||
|
| forwarding_paths | fc518827-eb74-4cd5-972b-943f80720065 |
|
||||||
|
| id | b6669b6a-1a3c-40b6-a8c2-28ce3f0bd9bb |
|
||||||
|
| name | tosca-vnffg-sample |
|
||||||
|
| ns_id | None |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | PENDING_CREATE |
|
||||||
|
| vnf_mapping | VNFD1=4ffb436f-7f2c-4df1-96c4-38e9208261fd, VNFD2=83fb8124-b475-400f-b0eb-f2b6741eeedc |
|
||||||
|
| vnffgd_id | f19a36f9-3768-4846-8972-84960d328156 |
|
||||||
|
+------------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph create --help
|
||||||
|
usage: openstack vnf graph create [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty] [--tenant-id TENANT_ID]
|
||||||
|
(--vnffgd-id VNFFGD_ID | --vnffgd-name VNFFGD_NAME | --vnffgd-template VNFFGD_TEMPLATE)
|
||||||
|
[--vnf-mapping VNF_MAPPING] [--symmetrical]
|
||||||
|
[--param-file PARAM_FILE]
|
||||||
|
[--description DESCRIPTION]
|
||||||
|
NAME
|
||||||
|
|
||||||
|
Create a new VNFFG.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
NAME Set a name for the VNFFG
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID
|
||||||
|
--vnffgd-id VNFFGD_ID
|
||||||
|
VNFFGD ID to use as template to create VNFFG
|
||||||
|
--vnffgd-name VNFFGD_NAME
|
||||||
|
VNFFGD Name to use as template to create VNFFG
|
||||||
|
--vnffgd-template VNFFGD_TEMPLATE
|
||||||
|
VNFFGD file to create VNFFG
|
||||||
|
--vnf-mapping VNF_MAPPING
|
||||||
|
List of logical VNFD name to VNF instance name
|
||||||
|
mapping. Example: VNF1:my_vnf1,VNF2:my_vnf2
|
||||||
|
--symmetrical Should a reverse path be created for the NFP (True or
|
||||||
|
False)
|
||||||
|
--param-file PARAM_FILE
|
||||||
|
YAML file with specific VNFFG parameters
|
||||||
|
--description DESCRIPTION
|
||||||
|
Set a description for the VNFFG
|
||||||
|
|
||||||
|
|
||||||
|
2. List VNF Forwarding Graphs
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+--------------------+-------+--------------------------------------+--------+
|
||||||
|
| ID | Name | NS ID | VNFFGD ID | Status |
|
||||||
|
+--------------------------------------+--------------------+-------+--------------------------------------+--------+
|
||||||
|
| b6669b6a-1a3c-40b6-a8c2-28ce3f0bd9bb | tosca-vnffg-sample | None | f19a36f9-3768-4846-8972-84960d328156 | ACTIVE |
|
||||||
|
+--------------------------------------+--------------------+-------+--------------------------------------+--------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph list --help
|
||||||
|
usage: openstack vnf graph list [-h] [-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent] [--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN] [--long]
|
||||||
|
|
||||||
|
List VNFFG(s) that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--long List additional fields in output
|
||||||
|
|
||||||
|
output formatters:
|
||||||
|
output formatter options
|
||||||
|
|
||||||
|
-f {csv,json,table,value,yaml}, --format {csv,json,table,value,yaml}
|
||||||
|
the output format, defaults to table
|
||||||
|
-c COLUMN, --column COLUMN
|
||||||
|
specify the column(s) to include, can be repeated to
|
||||||
|
show multiple columns
|
||||||
|
--sort-column SORT_COLUMN
|
||||||
|
specify the column(s) to sort the data (columns
|
||||||
|
specified first have a priority, non-existing columns
|
||||||
|
are ignored), can be repeated
|
||||||
|
|
||||||
|
|
||||||
|
3. Show VNF Forwarding Graph
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph show <VNFFG: tosca-vnffg-sample>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+------------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+------------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| attributes | { |
|
||||||
|
| | "vnffgd": { |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0", |
|
||||||
|
| | "description": "Sample VNFFG template", |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "Forwarding_path1": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.FP.TackerV2", |
|
||||||
|
| | "description": "creates path (CP12->CP22)", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "id": 51, |
|
||||||
|
| | "policy": { |
|
||||||
|
| | "type": "ACL", |
|
||||||
|
| | "criteria": [ |
|
||||||
|
| | { |
|
||||||
|
| | "name": "block_tcp", |
|
||||||
|
| | "classifier": { |
|
||||||
|
| | "network_src_port_id": "d4940639-764a-4a62-9b21-6ba2e86498eb", |
|
||||||
|
| | "destination_port_range": "80-1024", |
|
||||||
|
| | "ip_proto": 6, |
|
||||||
|
| | "ip_dst_prefix": "10.10.0.5/24" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "path": [ |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD1", |
|
||||||
|
| | "capability": "CP12", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD2", |
|
||||||
|
| | "capability": "CP22", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "groups": { |
|
||||||
|
| | "VNFFG1": { |
|
||||||
|
| | "type": "tosca.groups.nfv.VNFFG", |
|
||||||
|
| | "description": "HTTP to Corporate Net", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "vendor": "tacker", |
|
||||||
|
| | "version": 1.0, |
|
||||||
|
| | "number_of_endpoints": 2, |
|
||||||
|
| | "dependent_virtual_link": [ |
|
||||||
|
| | "VL12", |
|
||||||
|
| | "VL22" |
|
||||||
|
| | ], |
|
||||||
|
| | "connection_point": [ |
|
||||||
|
| | "CP12", |
|
||||||
|
| | "CP22" |
|
||||||
|
| | ], |
|
||||||
|
| | "constituent_vnfs": [ |
|
||||||
|
| | "VNFD1", |
|
||||||
|
| | "VNFD2" |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "members": [ |
|
||||||
|
| | "Forwarding_path1" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml", |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| description | Sample VNFFG template |
|
||||||
|
| forwarding_paths | fc518827-eb74-4cd5-972b-943f80720065 |
|
||||||
|
| id | b6669b6a-1a3c-40b6-a8c2-28ce3f0bd9bb |
|
||||||
|
| name | tosca-vnffg-sample |
|
||||||
|
| ns_id | None |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| status | ACTIVE |
|
||||||
|
| vnf_mapping | VNFD1=4ffb436f-7f2c-4df1-96c4-38e9208261fd, VNFD2=83fb8124-b475-400f-b0eb-f2b6741eeedc |
|
||||||
|
| vnffgd_id | f19a36f9-3768-4846-8972-84960d328156 |
|
||||||
|
+------------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph show --help
|
||||||
|
usage: openstack vnf graph show [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<VNFFG>
|
||||||
|
|
||||||
|
Display VNFFG details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFFG> VNFFG to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
4. Update VNF Forwarding Graph
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Create a new VNF ``VNF3`` according to :doc:`./cli-legacy-vnfd` with the
|
||||||
|
following template:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
|
||||||
|
|
||||||
|
description: Demo example
|
||||||
|
|
||||||
|
metadata:
|
||||||
|
template_name: sample-tosca-vnfd3
|
||||||
|
|
||||||
|
topology_template:
|
||||||
|
node_templates:
|
||||||
|
VDU1:
|
||||||
|
type: tosca.nodes.nfv.VDU.Tacker
|
||||||
|
capabilities:
|
||||||
|
nfv_compute:
|
||||||
|
properties:
|
||||||
|
num_cpus: 1
|
||||||
|
mem_size: 512 MB
|
||||||
|
disk_size: 1 GB
|
||||||
|
properties:
|
||||||
|
image: cirros-0.4.0-x86_64-disk
|
||||||
|
availability_zone: nova
|
||||||
|
mgmt_driver: noop
|
||||||
|
config: |
|
||||||
|
param0: key1
|
||||||
|
param1: key2
|
||||||
|
user_data_format: RAW
|
||||||
|
user_data: |
|
||||||
|
#!/bin/sh
|
||||||
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||||
|
cat << EOF >> /etc/network/interfaces
|
||||||
|
auto eth1
|
||||||
|
iface eth1 inet dhcp
|
||||||
|
auto eth2
|
||||||
|
iface eth2 inet dhcp
|
||||||
|
EOF
|
||||||
|
ifup eth1
|
||||||
|
ifup eth2
|
||||||
|
|
||||||
|
CP31:
|
||||||
|
type: tosca.nodes.nfv.CP.Tacker
|
||||||
|
properties:
|
||||||
|
management: true
|
||||||
|
order: 0
|
||||||
|
anti_spoofing_protection: false
|
||||||
|
requirements:
|
||||||
|
- virtualLink:
|
||||||
|
node: VL31
|
||||||
|
- virtualBinding:
|
||||||
|
node: VDU1
|
||||||
|
|
||||||
|
CP32:
|
||||||
|
type: tosca.nodes.nfv.CP.Tacker
|
||||||
|
properties:
|
||||||
|
order: 1
|
||||||
|
anti_spoofing_protection: false
|
||||||
|
requirements:
|
||||||
|
- virtualLink:
|
||||||
|
node: VL32
|
||||||
|
- virtualBinding:
|
||||||
|
node: VDU1
|
||||||
|
|
||||||
|
CP33:
|
||||||
|
type: tosca.nodes.nfv.CP.Tacker
|
||||||
|
properties:
|
||||||
|
order: 2
|
||||||
|
anti_spoofing_protection: false
|
||||||
|
requirements:
|
||||||
|
- virtualLink:
|
||||||
|
node: VL33
|
||||||
|
- virtualBinding:
|
||||||
|
node: VDU1
|
||||||
|
|
||||||
|
VL31:
|
||||||
|
type: tosca.nodes.nfv.VL
|
||||||
|
properties:
|
||||||
|
network_name: net_mgmt
|
||||||
|
vendor: Tacker
|
||||||
|
|
||||||
|
VL32:
|
||||||
|
type: tosca.nodes.nfv.VL
|
||||||
|
properties:
|
||||||
|
network_name: net0
|
||||||
|
vendor: Tacker
|
||||||
|
|
||||||
|
VL33:
|
||||||
|
type: tosca.nodes.nfv.VL
|
||||||
|
properties:
|
||||||
|
network_name: net1
|
||||||
|
vendor: Tacker
|
||||||
|
|
||||||
|
|
||||||
|
Create the VNFD and VNF:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
openstack vnf descriptor create --vnfd-file tosca-vnffg-vnfd2.yaml VNFD3
|
||||||
|
openstack vnf create --vnfd-name VNFD3 VNF3
|
||||||
|
|
||||||
|
Create the updated VNFD file ``tosca-vnffgd-sample-update.yaml``:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
VNFD2 -> VNFD3
|
||||||
|
CP22 -> CP32
|
||||||
|
VL22 -> VL32
|
||||||
|
|
||||||
|
|
||||||
|
Update the VNFFG:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph set --vnffgd-template tosca-vnffgd-sample-update.yaml \
|
||||||
|
--description <DESCRIPTION: 'New description for Sample VNFFG template'> \
|
||||||
|
<VNFFG: tosca-vnffg-sample>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
'Namespace' object has no attribute 'param_file'
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph set --help
|
||||||
|
usage: openstack vnf graph set [-h] [-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent] [--prefix PREFIX]
|
||||||
|
[--max-width <integer>] [--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
[--vnffgd-template VNFFGD_TEMPLATE]
|
||||||
|
[--vnf-mapping VNF_MAPPING] [--symmetrical]
|
||||||
|
[--description DESCRIPTION]
|
||||||
|
<VNFFG>
|
||||||
|
|
||||||
|
Update VNFFG.
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFFG> VNFFG to update (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--vnffgd-template VNFFGD_TEMPLATE
|
||||||
|
VNFFGD file to update VNFFG
|
||||||
|
--vnf-mapping VNF_MAPPING
|
||||||
|
List of logical VNFD name to VNF instance name
|
||||||
|
mapping. Example: VNF1:my_vnf1,VNF2:my_vnf2
|
||||||
|
--symmetrical Should a reverse path be created for the NFP
|
||||||
|
--description DESCRIPTION
|
||||||
|
Set a description for the VNFFG
|
||||||
|
|
||||||
|
|
||||||
|
5. Delete VNF Forwarding Graph
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph delete <VNFFG: tosca-vnffg-sample>
|
||||||
|
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
All specified vnffg(s) deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph delete --help
|
||||||
|
usage: openstack vnf graph delete [-h] <VNFFG> [<VNFFG> ...]
|
||||||
|
|
||||||
|
Delete VNFFG(s).
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFFG> VNFFG(s) to delete (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
460
doc/source/cli/cli-legacy-vnffgd.rst
Normal file
460
doc/source/cli/cli-legacy-vnffgd.rst
Normal file
@@ -0,0 +1,460 @@
|
|||||||
|
===================================================
|
||||||
|
VNF Forwarding Graph Descriptor (VNFFGD) Management
|
||||||
|
===================================================
|
||||||
|
|
||||||
|
VNF Forwarding Graph (VNFFG) feature in Tacker is used to orchestrate and
|
||||||
|
manage traffic through VNFs. In short, abstract VNFFG TOSCA definitions are
|
||||||
|
rendered into Service Function Chains (SFCs) and Classifiers. The SFC makes up
|
||||||
|
an ordered list of VNFs for traffic to traverse, while the classifier decides
|
||||||
|
which traffic should go through them. Similar to how VNFs are described by
|
||||||
|
VNFDs, VNFFGs are described by VNF Forwarding Graph Descriptors (VNFFGD).
|
||||||
|
|
||||||
|
This document describes how to manage VNFFGD with CLI in Tacker.
|
||||||
|
|
||||||
|
Prerequisites
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The following packages should be installed:
|
||||||
|
|
||||||
|
* tacker
|
||||||
|
* python-tackerclient
|
||||||
|
|
||||||
|
CLI reference for VNFFGD Management
|
||||||
|
-----------------------------------
|
||||||
|
|
||||||
|
1. Create VNF Forwarding Graph Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Create ``tosca-vnffgd-sample.yaml`` file:
|
||||||
|
|
||||||
|
* https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnffgd/tosca-vnffgd-sample.yaml
|
||||||
|
|
||||||
|
Create a VNFFGD:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor create --vnffgd-file \
|
||||||
|
tosca-vnffgd-sample.yaml <NAME: tosca-vnffgd-sample>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| description | Sample VNFFG template |
|
||||||
|
| id | 81d9cc7a-674d-463d-ad3d-95640e388b20 |
|
||||||
|
| name | tosca-vnffgd-sample |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| template | { |
|
||||||
|
| | "vnffgd": { |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0", |
|
||||||
|
| | "description": "Sample VNFFG template", |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "Forwarding_path1": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.FP.TackerV2", |
|
||||||
|
| | "description": "creates path (CP12->CP22)", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "id": 51, |
|
||||||
|
| | "policy": { |
|
||||||
|
| | "type": "ACL", |
|
||||||
|
| | "criteria": [ |
|
||||||
|
| | { |
|
||||||
|
| | "name": "block_tcp", |
|
||||||
|
| | "classifier": { |
|
||||||
|
| | "network_src_port_id": "14ad4f29-629f-4b97-8bc8-86e96cb49974", |
|
||||||
|
| | "destination_port_range": "80-1024", |
|
||||||
|
| | "ip_proto": 6, |
|
||||||
|
| | "ip_dst_prefix": "10.10.0.5/24" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "path": [ |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD1", |
|
||||||
|
| | "capability": "CP12", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD2", |
|
||||||
|
| | "capability": "CP22", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "groups": { |
|
||||||
|
| | "VNFFG1": { |
|
||||||
|
| | "type": "tosca.groups.nfv.VNFFG", |
|
||||||
|
| | "description": "HTTP to Corporate Net", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "vendor": "tacker", |
|
||||||
|
| | "version": 1.0, |
|
||||||
|
| | "number_of_endpoints": 2, |
|
||||||
|
| | "dependent_virtual_link": [ |
|
||||||
|
| | "VL12", |
|
||||||
|
| | "VL22" |
|
||||||
|
| | ], |
|
||||||
|
| | "connection_point": [ |
|
||||||
|
| | "CP12", |
|
||||||
|
| | "CP22" |
|
||||||
|
| | ], |
|
||||||
|
| | "constituent_vnfs": [ |
|
||||||
|
| | "VNFD1", |
|
||||||
|
| | "VNFD2" |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "members": [ |
|
||||||
|
| | "Forwarding_path1" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml", |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| template_source | onboarded |
|
||||||
|
+-----------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor create --help
|
||||||
|
usage: openstack vnf graph descriptor create [-h]
|
||||||
|
[-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--tenant-id TENANT_ID]
|
||||||
|
--vnffgd-file VNFFGD_FILE
|
||||||
|
[--description DESCRIPTION]
|
||||||
|
NAME
|
||||||
|
|
||||||
|
Create a new VNFFGD
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
NAME Name for VNFFGD
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--tenant-id TENANT_ID
|
||||||
|
The owner tenant ID or project ID
|
||||||
|
--vnffgd-file VNFFGD_FILE
|
||||||
|
YAML file with VNFFGD parameters
|
||||||
|
--description DESCRIPTION
|
||||||
|
Set a description for the VNFFGD
|
||||||
|
|
||||||
|
|
||||||
|
2. List VNF Forwarding Graph Descriptors
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor list
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+--------------------------------------+---------------------+-----------------+-----------------------+
|
||||||
|
| ID | Name | Template_Source | Description |
|
||||||
|
+--------------------------------------+---------------------+-----------------+-----------------------+
|
||||||
|
| 81d9cc7a-674d-463d-ad3d-95640e388b20 | tosca-vnffgd-sample | onboarded | Sample VNFFG template |
|
||||||
|
+--------------------------------------+---------------------+-----------------+-----------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor list --help
|
||||||
|
usage: openstack vnf graph descriptor list [-h]
|
||||||
|
[-f {csv,json,table,value,yaml}]
|
||||||
|
[-c COLUMN]
|
||||||
|
[--quote {all,minimal,none,nonnumeric}]
|
||||||
|
[--noindent]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
[--sort-column SORT_COLUMN]
|
||||||
|
[--template-source TEMPLATE_SOURCE]
|
||||||
|
|
||||||
|
List (VNFFGD)s that belong to a given tenant.
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--template-source TEMPLATE_SOURCE
|
||||||
|
List VNFFGD with specified template source. Available
|
||||||
|
options are 'onboarded' (default), 'inline' or 'all'
|
||||||
|
|
||||||
|
|
||||||
|
3. Show VNF Forwarding Graph Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor show <VNFFGD: tosca-vnffgd-sample>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+-----------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+-----------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| description | Sample VNFFG template |
|
||||||
|
| id | 81d9cc7a-674d-463d-ad3d-95640e388b20 |
|
||||||
|
| name | tosca-vnffgd-sample |
|
||||||
|
| project_id | e77397d2a02c4af1b7d79cef2a406396 |
|
||||||
|
| template | { |
|
||||||
|
| | "vnffgd": { |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0", |
|
||||||
|
| | "description": "Sample VNFFG template", |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "Forwarding_path1": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.FP.TackerV2", |
|
||||||
|
| | "description": "creates path (CP12->CP22)", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "id": 51, |
|
||||||
|
| | "policy": { |
|
||||||
|
| | "type": "ACL", |
|
||||||
|
| | "criteria": [ |
|
||||||
|
| | { |
|
||||||
|
| | "name": "block_tcp", |
|
||||||
|
| | "classifier": { |
|
||||||
|
| | "network_src_port_id": "14ad4f29-629f-4b97-8bc8-86e96cb49974", |
|
||||||
|
| | "destination_port_range": "80-1024", |
|
||||||
|
| | "ip_proto": 6, |
|
||||||
|
| | "ip_dst_prefix": "10.10.0.5/24" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "path": [ |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD1", |
|
||||||
|
| | "capability": "CP12", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD2", |
|
||||||
|
| | "capability": "CP22", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "groups": { |
|
||||||
|
| | "VNFFG1": { |
|
||||||
|
| | "type": "tosca.groups.nfv.VNFFG", |
|
||||||
|
| | "description": "HTTP to Corporate Net", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "vendor": "tacker", |
|
||||||
|
| | "version": 1.0, |
|
||||||
|
| | "number_of_endpoints": 2, |
|
||||||
|
| | "dependent_virtual_link": [ |
|
||||||
|
| | "VL12", |
|
||||||
|
| | "VL22" |
|
||||||
|
| | ], |
|
||||||
|
| | "connection_point": [ |
|
||||||
|
| | "CP12", |
|
||||||
|
| | "CP22" |
|
||||||
|
| | ], |
|
||||||
|
| | "constituent_vnfs": [ |
|
||||||
|
| | "VNFD1", |
|
||||||
|
| | "VNFD2" |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "members": [ |
|
||||||
|
| | "Forwarding_path1" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml", |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| template_source | onboarded |
|
||||||
|
+-----------------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor show --help
|
||||||
|
usage: openstack vnf graph descriptor show [-h]
|
||||||
|
[-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width] [--print-empty]
|
||||||
|
<VNFFGD>
|
||||||
|
|
||||||
|
Display VNFFGD details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFFGD> VNFFGD to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
4. Show template VNF Forwarding Graph Descriptor
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor template show <VNFFGD: tosca-vnffgd-sample>
|
||||||
|
|
||||||
|
|
||||||
|
Result:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
+----------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| Field | Value |
|
||||||
|
+----------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
| template | { |
|
||||||
|
| | "vnffgd": { |
|
||||||
|
| | "tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0", |
|
||||||
|
| | "description": "Sample VNFFG template", |
|
||||||
|
| | "topology_template": { |
|
||||||
|
| | "node_templates": { |
|
||||||
|
| | "Forwarding_path1": { |
|
||||||
|
| | "type": "tosca.nodes.nfv.FP.TackerV2", |
|
||||||
|
| | "description": "creates path (CP12->CP22)", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "id": 51, |
|
||||||
|
| | "policy": { |
|
||||||
|
| | "type": "ACL", |
|
||||||
|
| | "criteria": [ |
|
||||||
|
| | { |
|
||||||
|
| | "name": "block_tcp", |
|
||||||
|
| | "classifier": { |
|
||||||
|
| | "network_src_port_id": "14ad4f29-629f-4b97-8bc8-86e96cb49974", |
|
||||||
|
| | "destination_port_range": "80-1024", |
|
||||||
|
| | "ip_proto": 6, |
|
||||||
|
| | "ip_dst_prefix": "10.10.0.5/24" |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "path": [ |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD1", |
|
||||||
|
| | "capability": "CP12", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | }, |
|
||||||
|
| | { |
|
||||||
|
| | "forwarder": "VNFD2", |
|
||||||
|
| | "capability": "CP22", |
|
||||||
|
| | "sfc_encap": true |
|
||||||
|
| | } |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "groups": { |
|
||||||
|
| | "VNFFG1": { |
|
||||||
|
| | "type": "tosca.groups.nfv.VNFFG", |
|
||||||
|
| | "description": "HTTP to Corporate Net", |
|
||||||
|
| | "properties": { |
|
||||||
|
| | "vendor": "tacker", |
|
||||||
|
| | "version": 1.0, |
|
||||||
|
| | "number_of_endpoints": 2, |
|
||||||
|
| | "dependent_virtual_link": [ |
|
||||||
|
| | "VL12", |
|
||||||
|
| | "VL22" |
|
||||||
|
| | ], |
|
||||||
|
| | "connection_point": [ |
|
||||||
|
| | "CP12", |
|
||||||
|
| | "CP22" |
|
||||||
|
| | ], |
|
||||||
|
| | "constituent_vnfs": [ |
|
||||||
|
| | "VNFD1", |
|
||||||
|
| | "VNFD2" |
|
||||||
|
| | ] |
|
||||||
|
| | }, |
|
||||||
|
| | "members": [ |
|
||||||
|
| | "Forwarding_path1" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
| | }, |
|
||||||
|
| | "imports": [ |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml", |
|
||||||
|
| | "/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml" |
|
||||||
|
| | ] |
|
||||||
|
| | } |
|
||||||
|
| | } |
|
||||||
|
+----------+--------------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor template show --help
|
||||||
|
usage: openstack vnf graph descriptor template show [-h]
|
||||||
|
[-f {json,shell,table,value,yaml}]
|
||||||
|
[-c COLUMN] [--noindent]
|
||||||
|
[--prefix PREFIX]
|
||||||
|
[--max-width <integer>]
|
||||||
|
[--fit-width]
|
||||||
|
[--print-empty]
|
||||||
|
<VNFFGD>
|
||||||
|
|
||||||
|
Display VNFFGD Template details
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFFGD> VNFFGD to display (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
|
||||||
|
|
||||||
|
5. Delete VNF Forwarding Graph Descriptors
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor delete <VNFFGD: tosca-vnffgd-sample>
|
||||||
|
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
All specified vnffgd(s) deleted successfully
|
||||||
|
|
||||||
|
|
||||||
|
Help:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ openstack vnf graph descriptor delete --help
|
||||||
|
usage: openstack vnf graph descriptor delete [-h] <VNFFGD> [<VNFFGD> ...]
|
||||||
|
|
||||||
|
Delete VNFFGD(s).
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
<VNFFGD> VNFFGD(s) to delete (name or ID)
|
||||||
|
|
||||||
|
optional arguments:
|
||||||
|
-h, --help show this help message and exit
|
||||||
@@ -12,14 +12,46 @@
|
|||||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
License for the specific language governing permissions and limitations
|
License for the specific language governing permissions and limitations
|
||||||
under the License.
|
|
||||||
|
|
||||||
========================
|
================================
|
||||||
Tacker CLI Documentation
|
Command-Line Interface Reference
|
||||||
========================
|
================================
|
||||||
|
|
||||||
In this section you will find information on Tacker’s command line
|
Operations for ETSI NFV-SOL implementation
|
||||||
interface.
|
------------------------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
cli-etsi-vnfpkgm
|
||||||
|
cli-etsi-vnflcm
|
||||||
|
|
||||||
|
|
||||||
|
Operations for Legacy implementation
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
cli-legacy-vim
|
||||||
|
cli-legacy-vnfd
|
||||||
|
cli-legacy-vnf
|
||||||
|
cli-legacy-vnffgd
|
||||||
|
cli-legacy-vnffg
|
||||||
|
cli-legacy-sfc
|
||||||
|
cli-legacy-fc
|
||||||
|
cli-legacy-nfp
|
||||||
|
cli-legacy-nsd
|
||||||
|
cli-legacy-event
|
||||||
|
|
||||||
|
.. TODO(yoshito-ito): update vnffg after fixing CLI bug:
|
||||||
|
* https://bugs.launchpad.net/python-tackerclient/+bug/1892152
|
||||||
|
cli-legacy-vnffg
|
||||||
|
|
||||||
|
.. TODO(yoshito-ito): add ns after confirming ns operations
|
||||||
|
* https://bugs.launchpad.net/tacker/+bug/1892144
|
||||||
|
cli-legacy-ns
|
||||||
|
|
||||||
|
Other operations
|
||||||
|
----------------
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|||||||
Reference in New Issue
Block a user