Remove legacy documentation and tools

This patch removes documentation for the following legacy features.
- Extensions
- Virtualized Network Function Descriptors (VNFDs)
- Virtualized Network Functions (VNFs)
- Events
- VNF Forwarding Graph Descriptors (VNFFGDs)
- VNF Forwarding Graphs (VNFFGs)
- Network Forwarding Paths (NFPs)
- Service Function Chains (SFCs)
- Classifiers
- Network Service Descriptors (NSD)
- Network Services (NSs)

And also remove the following tools that are currently not in use.
- tools/vnfc/build_image.sh
- tools/check_i18n_test_case.txt
- tools/check_i18n.py
- tools/i18n_cfg.py
- tools/clean.sh
- tools/prepare_function_test.sh
- tools/test-setup.sh
- tools/install_venv_common.py
- tools/install_venv.py
- tools/with_venv.sh

For the following tools used in FT, move them under
`tacker/tests/functional/tools`.
- tools/test-setup-default-vim.sh
- tools/test-setup-k8s-vim.sh
- tools/test-setup-mgmt.sh
- tools/test-setup-fake-prometheus-server.sh

Implements: blueprint deprecate-legacy-apis
Change-Id: Iea89c32f69ccbe47badcfddcf77430abda98362b
This commit is contained in:
Ai Hamano 2023-10-18 09:27:20 +09:00
parent 73b41001a5
commit ccb8dadb55
132 changed files with 92 additions and 14895 deletions

View File

@ -1,96 +0,0 @@
.. -*- rst -*-
===========
Classifiers
===========
Lists classifiers and shows information of a given classifier.
The classifier is a component of a NFP and defines policies to
distinguish which traffic should enter the related SFC.
List classifiers
================
.. rest_method:: GET /v1.0/classifiers
Lists classifiers.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- classifiers: classifiers
- status: classifier_status
- nfp_id: classifier_nfp_id
- tenant_id: tenant_id
- chain_id: classifier_chain_id
- instance_id: classifier_instance_id
- id: classifier_id
- match: classifier_match
Response Example
----------------
.. literalinclude:: samples/classifiers/classifiers-list-response.json
:language: javascript
Show classifier
===============
.. rest_method:: GET /v1.0/classifiers/{sfc_id}
Shows information of a given classifier.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- sfc_id: sfc_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- classifiers: classifiers
- status: classifier_status
- nfp_id: classifier_nfp_id
- tenant_id: tenant_id
- chain_id: classifier_chain_id
- instance_id: classifier_instance_id
- id: classifier_id
- match: classifier_match
Response Example
----------------
.. literalinclude:: samples/classifiers/classifiers-show-response.json
:language: javascript

View File

@ -1,98 +0,0 @@
.. -*- rst -*-
==========
Events
==========
Lists and shows captured events.
Tacker currently supports events for following resource types:
- VNFD
- VNF
- VIM
List events
===========
.. rest_method:: GET /v1.0/events
Lists events of resources.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- events: events
- resource_id: event_resource_id
- timestamp: event_timestamp
- event_details: event_details
- resource_state: event_resource_state
- id: event_id
- resource_type: event_resource_type
Response Example
----------------
.. literalinclude:: samples/events/events-list-response.json
:language: javascript
Show event
==========
.. rest_method:: GET /v1.0/events/{event_id}
Shows information of a given event.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- event_id: event_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- event: event
- resource_id: event_resource_id
- timestamp: event_timestamp
- event_details: event_details
- resource_state: event_resource_state
- id: event_id
- resource_type: event_resource_type
Response Example
----------------
.. literalinclude:: samples/events/events-show-response.json
:language: javascript

View File

@ -1,91 +0,0 @@
.. -*- rst -*-
==========
Extensions
==========
Lists extensions and shows information of a given extension.
Extensions introduce features to the API.
List extensions
===============
.. rest_method:: GET /v1.0/extensions
Lists available extensions.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- extensions: extensions
- updated: extension_updated_at
- name: name
- links: links
- alias: alias
- description: description
Response Example
----------------
.. literalinclude:: samples/extensions/extensions-list-response.json
:language: javascript
Show extension
==============
.. rest_method:: GET /v1.0/extensions/{alias}
Shows information of a given extension.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- alias: alias_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- extension: extensions
- updated: extension_updated_at
- name: name
- links: links
- alias: alias
- description: description
Response Example
----------------
.. literalinclude:: samples/extensions/extensions-show-response.json
:language: javascript

View File

@ -4,23 +4,7 @@
Legacy Tacker API
#################
.. warning::
Legacy APIs excluding VIM feature are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
.. rest_expand_all::
.. include:: versions.inc
.. include:: extensions.inc
.. include:: vnfds.inc
.. include:: vnfs.inc
.. include:: vims.inc
.. include:: events.inc
.. include:: vnffgds.inc
.. include:: vnffgs.inc
.. include:: nfps.inc
.. include:: sfcs.inc
.. include:: classifiers.inc
.. include:: nsds.inc
.. include:: nss.inc

View File

@ -1,98 +0,0 @@
.. -*- rst -*-
===============================
Network Forwarding Paths (NFPs)
===============================
Lists Network Forwarding Paths (NFPs) and shows information of a given NFP.
The NFP is a component of VNFFG and contains a Service Function Chain (SFC)
and a classifier.
List NFPs
=========
.. rest_method:: GET /v1.0/nfps
Lists NFPs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nfps: nfps
- status: nfp_status
- name: name
- tenant_id: tenant_id
- chain_id: sfc_id
- path_id: sfc_path_id
- symmetrical: symmetrical
- classifier_id: classifier_id
- id: nfp_id
Response Example
----------------
.. literalinclude:: samples/nfps/nfps-list-response.json
:language: javascript
Show NFP
========
.. rest_method:: GET /v1.0/nfps/{nfp_id}
Shows information of a given NFP.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- nfp_id: nfp_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nfp: nfp
- status: nfp_status
- name: name
- tenant_id: tenant_id
- chain_id: sfc_id
- path_id: sfc_path_id
- symmetrical: symmetrical
- classifier_id: classifier_id
- id: nfp_id
Response Example
----------------
.. literalinclude:: samples/nfps/nfps-show-response.json
:language: javascript

View File

@ -1,183 +0,0 @@
.. -*- rst -*-
==================================
Network Service Descriptors (NSD)
==================================
Manages Network Service Descriptors.
NSD is a TOSCA template that describes the deployment and behaviour of a
Network Service (NS) using a collection of VNFs. For more information, see
`NSD Usage Guide
<https://docs.openstack.org/tacker/latest/user/nsd_usage_guide.html>`_.
Create NSD
===========
.. rest_method:: POST /v1.0/nsds
Creates a NSD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- name: name
- description: description_opt
- attributes: nsd_attributes
Request Example
---------------
.. literalinclude:: samples/nsds/nsds-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nsd: nsd
- name: name
- id: nsd_id
- tenant_id: tenant_id
- description: description
- created_at: created_at
- updated_at: updated_at
- attributes: nsd_attributes
Response Example
----------------
.. literalinclude:: samples/nsds/nsds-create-response.json
:language: javascript
List NSDs
==========
.. rest_method:: GET /v1.0/nsds
Lists NSDs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nsds: nsds
- name: name
- id: nsd_id
- tenant_id: tenant_id
- description: description
- created_at: created_at
- updated_at: updated_at
- attributes: nsd_attributes
Response Example
----------------
.. literalinclude:: samples/nsds/nsds-list-response.json
:language: javascript
Show NSD
=========
.. rest_method:: GET /v1.0/nsds/{nsd_id}
Shows information of a given NSD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- nsd_id: nsd_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nsds: nsds
- name: name
- id: nsd_id
- tenant_id: tenant_id
- description: description
- created_at: created_at
- updated_at: updated_at
- attributes: nsd_attributes
Response Example
----------------
.. literalinclude:: samples/nsds/nsds-show-response.json
:language: javascript
Delete NSD
===========
.. rest_method:: DELETE /v1.0/nsds/{nsd_id}
Deletes a given NSD.
Only a NSD without any associated NSs can be deleted.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- nsd_id: nsd_id_path

View File

@ -1,174 +0,0 @@
.. -*- rst -*-
====================================
Network Services (NSs)
====================================
Manages Network Servicess (NSs) and their resources.
NS resources are instantiations of network services described in the
associated NSD TOSCA template.
Create NS
==========
.. rest_method:: POST /v1.0/nss
Creates a NS.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- ns: ns
- name: name
- description: description_opt
- nsd_id: nsd_id
- vim_id: vim_id_opt
- tenant_id: tenant_id_opt
- attributes: ns_attributes_opt
Request Example
---------------
.. literalinclude:: samples/nss/nss-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- ns: ns
- name: name
- description: description
- status: ns_status
- id: ns_id
- nsd_id: nsd_id
- vnf_ids: vnf_ids
- tenant_id: tenant_id
- created_at: ns_created_at
- updated_at: ns_updated_at
- mgmt_ip_address: ns_mgmt_ip_address
- vim_id: vim_id
- error_reason: ns_error_reason
- attributes: ns_attributes
Response Example
----------------
.. literalinclude:: samples/nss/nss-create-response.json
:language: javascript
List NSs
=========
.. rest_method:: GET /v1.0/nss
Lists NSs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- nss: nss
- name: name
- description: description
- status: ns_status
- id: ns_id
- nsd_id: nsd_id
- vnf_ids: vnf_ids
- tenant_id: tenant_id
- created_at: ns_created_at
- updated_at: ns_updated_at
- mgmt_ip_address: ns_mgmt_ip_address
- vim_id: vim_id
- error_reason: ns_error_reason
- attributes: ns_attributes
Response Example
----------------
.. literalinclude:: samples/nss/nss-list-response.json
:language: javascript
Show NS
========
.. rest_method:: GET /v1.0/nss/{ns_id}
Shows information of a given NS.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- ns_id: ns_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- ns: ns
- name: name
- description: description
- status: ns_status
- id: ns_id
- nsd_id: nsd_id
- vnf_ids: vnf_ids
- tenant_id: tenant_id
- created_at: ns_created_at
- updated_at: ns_updated_at
- mgmt_ip_address: ns_mgmt_ip_address
- vim_id: vim_id
- error_reason: ns_error_reason
- attributes: ns_attributes
Response Example
----------------
.. literalinclude:: samples/nss/nss-show-response.json
:language: javascript

View File

@ -1,147 +1,16 @@
# variables in header
# variables in path
alias_path:
description: |
The alias of the extension.
in: path
required: true
type: string
classifier_id_path:
description: |
The UUID of the classifier.
in: path
required: true
type: string
event_id_path:
description: |
The ID of the event.
in: path
required: true
type: string
nfp_id_path:
description: |
The UUID of the NFP.
in: path
required: true
type: string
ns_id_path:
description: |
The UUID of the NS.
in: path
required: true
type: string
nsd_id_path:
description: |
The UUID of the VNFD.
in: path
required: true
type: string
sfc_id_path:
description: |
The UUID of the SFC.
in: path
required: true
type: string
vim_id_path:
description: |
The UUID of the VIM.
in: path
required: true
type: string
vnf_id_path:
description: |
The UUID of the VNF.
in: path
required: true
type: string
vnfd_id_path:
description: |
The UUID of the VNFD.
in: path
required: true
type: string
vnffg_id_path:
description: |
The UUID of the VNFFG.
in: path
required: true
type: string
vnffgd_id_path:
description: |
The UUID of the VNFFGD.
in: path
required: true
type: string
# variables in query
# variables in body
alias:
description: |
The alias for the extension. For example,
"Commonservices", "NFVO" or "VNFM".
in: body
required: true
type: string
classifier:
description: |
A ``classifier`` object.
in: body
required: true
type: object
classifier_chain_id:
description: |
The UUID of the SFC which the classifier is related to.
in: body
required: true
type: string
classifier_id:
description: |
The UUID of the Classifier.
in: body
required: true
type: string
classifier_instance_id:
description: |
The UUID information to uniquely identify the classifier instance.
A classifier is instantiated as a Neutron Flow Classifier when
using OpenStack VIM Driver.
in: body
required: true
type: string
classifier_match:
description: |
A match policy object that will be used to distinguish which
traffic should enter the related SFC.
in: body
required: true
type: object
classifier_nfp_id:
description: |
The UUID of the NFP which the classifier belongs to.
in: body
required: true
type: string
classifier_status:
description: |
Status of the classifier.
in: body
required: true
type: string
classifiers:
description: |
A list of ``classifier`` objects.
in: body
required: true
type: array
created_at:
description: |
The date and time when the resource was created. The format is
``YYYY-MM-DD hh:mm:ss``. For example, ``2016-09-23 09:57:35``.
in: body
required: true
type: string
description:
description: |
Human-readable description for the resource.
@ -154,82 +23,6 @@ description_opt:
in: body
required: false
type: string
event:
description: |
An ``event`` object.
in: body
required: true
type: object
event_details:
description: |
The detailed information for the event, if any.
in: body
required: true
type: string
event_id:
description: |
The ID of the event.
in: body
required: true
type: integer
event_resource_id:
description: |
The UUID of the resource that is related to the event.
in: body
required: true
type: string
event_resource_state:
description: |
The state of the resource that is related to the event.
in: body
required: true
type: string
event_resource_type:
description: |
The type of the resource that is related to the event.
in: body
required: true
type: string
event_timestamp:
description: |
The date and time when the event was created. The format is
``YYYY-MM-DD hh:mm:ss``. For example, ``2016-09-23 09:57:35``.
in: body
required: true
type: string
events:
description: |
A list of ``event`` objects.
in: body
required: true
type: array
extension:
description: |
An ``extension`` object.
in: body
required: true
type: object
extension_updated_at:
description: |
The date and time when the resource was updated. The format is
`ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
``YYYY-MM-DDThh:mm:ss±hh:mm``. For example, ``2016-09-23 09:59:27-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset from UTC.
in: body
required: true
type: string
extensions:
description: |
A list of ``extension`` objects.
in: body
required: true
type: array
links:
description: |
A list of links related to the extension.
in: body
required: true
type: array
name:
description: |
Human-readable name for the resource.
@ -242,197 +35,6 @@ name_opt:
in: body
required: false
type: string
nfp:
description: |
A ``nfp`` object.
in: body
required: true
type: object
nfp_id:
description: |
The UUID of the Network Forwarding Path (NFP).
in: body
required: true
type: string
nfp_status:
description: |
Status of the NFP.
in: body
required: true
type: string
nfps:
description: |
A list of ``nfp`` objects.
in: body
required: true
type: array
ns:
description: |
A ``ns`` object.
in: body
required: true
type: object
ns_attributes:
description: |
NS attributes object.
in: body
required: true
type: object
ns_attributes_opt:
description: |
NS attributes object. This object can contain ``param_values``.
in: body
required: false
type: object
ns_created_at:
description: |
The date and time when the NS was created.
The format is ``YYYY-MM-DD hh:mm:ss.ssssss``.
For example, ``2016-09-23 09:59:27.392759``.
in: body
required: true
type: string
ns_error_reason:
description: |
Reason for NS error, if any.
in: body
required: true
type: string
ns_id:
description: |
The UUID of the NS.
in: body
required: true
type: string
ns_mgmt_ip_address:
description: |
Management ip address for the NS.
in: body
required: true
type: string
ns_status:
description: |
Status of the NS.
in: body
required: true
type: string
ns_updated_at:
description: |
The date and time when the NS was updated.
The format is ``YYYY-MM-DD hh:mm:ss.ssssss``.
For example, ``2016-09-23 09:59:27.392759``.
in: body
required: true
type: string
nsd:
description: |
A ``nsd`` object.
in: body
required: true
type: object
nsd_attributes:
description: |
Attributes necessary for spinning up NS.
in: body
required: true
type: object
nsd_id:
description: |
The UUID of the NSD.
in: body
required: true
type: string
nsds:
description: |
A list of ``nsd`` objects.
in: body
required: true
type: array
nss:
description: |
A list of ``ns`` objects.
in: body
required: true
type: array
service_types:
description: |
A list of service type.
in: body
required: true
type: array
sfc:
description: |
A ``sfc`` object.
in: body
required: true
type: object
sfc_chain:
description: |
A ordered list of node objects to traverse. Each node includes
a list of CPs and correspondent VNF name. Up to 2 CPs may be
listed per node. If 2 CPs are listed, the first will be
considered the ingress port for traffic and the second will be
the egress. If there's only one CP, then it will be considered
both the ingress and egress port for traffic.
in: body
required: true
type: array
sfc_id:
description: |
The UUID of the Service Function Chain (SFC).
in: body
required: true
type: string
sfc_instance_id:
description: |
The UUID information to uniquely identify the SFC instance.
A SFC is instantiated as a Neutron Port Chain when using
OpenStack VIM Driver.
in: body
required: true
type: string
sfc_nfp_id:
description: |
The UUID of the NFP which the SFC belongs to.
in: body
required: true
type: string
sfc_path_id:
description: |
The ID of the path. It will be used in future implementations of
Network Service Header (NSH) to identify paths via the Service
Path Identifier (SPI) attribute.
in: body
required: true
type: string
sfc_status:
description: |
Status of the SFC.
in: body
required: true
type: string
sfcs:
description: |
A list of ``sfc`` objects.
in: body
required: true
type: array
symmetrical:
description: |
Indicate whether reverse traffic should also flow through the path.
Enabling ``symmetrical`` is not currently supported by the OpenStack
VIM driver.
in: body
required: true
type: boolean
symmetrical_opt:
description: |
Indicate whether reverse traffic should also flow through the path.
Enabling ``symmetrical`` is not currently supported by the OpenStack
VIM driver.
in: body
required: false
type: boolean
tenant_id:
description: |
The UUID of the tenant. A tenant is also known as a project.
@ -445,14 +47,6 @@ tenant_id_opt:
in: body
required: false
type: string
updated_at:
description: |
The date and time when the resource was updated.
The format is ``YYYY-MM-DD hh:mm:ss.ssssss``.
For example, ``2016-09-23 09:59:27.392759``.
in: body
required: true
type: string
version_href:
description: |
Link to the API.
@ -533,12 +127,6 @@ vim_id:
in: body
required: true
type: string
vim_id_opt:
description: |
The UUID of the VIM.
in: body
required: false
type: string
vim_is_default:
description: |
Indicate whether the VIM is used as default.
@ -601,307 +189,3 @@ vims:
in: body
required: true
type: array
vnf:
description: |
A ``vnf`` object.
in: body
required: true
type: object
vnf_attributes:
description: |
VNF attributes object. This object can contain ``config``,
``param_values``, ``monitoring_policy``, and ``heat_template``.
in: body
required: true
type: object
vnf_attributes_opt:
description: |
VNF attributes object. This object can contain ``config`` and
``param_values``.
in: body
required: false
type: object
vnf_attributes_put:
description: |
VNF attributes object. This object can contain ``config`` object.
in: body
required: false
type: object
vnf_config:
description: |
VNF configuration object.
in: body
required: true
type: string
vnf_config_opt:
description: |
VNF configuration object.
in: body
required: false
type: object
vnf_created_at:
description: |
The date and time when the VNF was created.
The format is ``YYYY-MM-DD hh:mm:ss.ssssss``.
For example, ``2016-09-23 09:59:27.392759``.
in: body
required: true
type: string
vnf_error_reason:
description: |
Reason for VNF error, if any.
in: body
required: true
type: string
vnf_force_delete_flag:
description: |
VNF attributes object with ``force`` key which can contain true/false value.
in: body
required: false
type: object
vnf_heat_template:
description: |
Heat template which is translated from the VNFD template.
in: body
required: true
type: string
vnf_id:
description: |
The UUID of the VNF.
in: body
required: true
type: string
vnf_ids:
description: |
A list of ``vnf_id`` objects.
in: body
required: true
type: array
vnf_instance_id:
description: |
A UUID information to uniquely identify the instance of VNF.
This instance is equivalent to a Heat stack when using
"openstack" type VIM.
in: body
required: true
type: string
vnf_mapping:
description: |
A ``vnf_mapping`` object which contains mappings from VNFD name
to VNF instance ID.
in: body
required: true
type: object
vnf_mapping_opt:
description: |
A ``vnf_mapping`` object which contains mappings from VNFD name
to VNF instance ID. This is used to declare which exact VNF
instance to be used for each VNFD in the Forwarding Path definition.
If no vnf mappings are provided, then Tacker attempts to search
for VNF instance derived from each VNFDs.
in: body
required: false
type: object
vnf_mgmt_ip_address:
description: |
Management ip address for the VNF.
in: body
required: true
type: string
vnf_monitoring_policy:
description: |
Monitoring policy which is derived from the VNFD template.
in: body
required: true
type: string
vnf_param_values:
description: |
VNF parameter object. These parameters will be substituted for VNF
if the VNFD template is appropriately parameterized.
See `VNFD Template Parameterization
<https://docs.openstack.org/tacker/latest/contributor/vnfd_template_parameterization.html>`_
for more information.
in: body
required: true
type: string
vnf_param_values_opt:
description: |
VNF parameter object. These parameters will be substituted for VNF
if the VNFD template is appropriately parameterized.
See `VNFD Template Parameterization
<https://docs.openstack.org/tacker/latest/contributor/vnfd_template_parameterization.html>`_
for more information.
in: body
required: false
type: object
vnf_placement_attr:
description: |
VNF placement information object. This object includes ``region_name``
and ``vim_name``.
in: body
required: true
type: object
vnf_placement_attr_opt:
description: |
VNF placement information object. This object includes ``region_name``.
in: body
required: false
type: object
vnf_resource_id:
description: |
The UUID of the VNF resource. This is equivalent to Heat stack resource ID.
in: body
required: true
type: string
vnf_resource_name:
description: |
The name of the VNF resource. This is equivalent to Heat stack resource name.
in: body
required: true
type: string
vnf_resource_type:
description: |
The type of the VNF resource. This is equivalent to Heat stack resource type.
in: body
required: true
type: string
vnf_resources:
description: |
A list of VNF ``resource`` objects.
in: body
required: true
type: array
vnf_scale:
description: |
A VNF ``scale`` object, which contains ``policy`` and ``type``.
in: body
required: true
type: object
vnf_scale_policy:
description: |
Scaling policy defined in VNFD template. For more information, see
`VNFD scaling
<https://docs.openstack.org/tacker/latest/contributor/vnfd_template_parameterization.html>`_.
in: body
required: true
type: string
vnf_scale_type:
description: |
Scaling type, which is either ``in`` or ``out``.
in: body
required: true
type: string
vnf_status:
description: |
Status of the VNF.
in: body
required: true
type: string
vnf_updated_at:
description: |
The date and time when the VNF was updated.
The format is ``YYYY-MM-DD hh:mm:ss.ssssss``.
For example, ``2016-09-23 09:59:27.392759``.
in: body
required: true
type: string
vnfd:
description: |
A ``vnfd`` object.
in: body
required: true
type: object
vnfd_attributes:
description: |
Attributes necessary for spinning up VNF.
in: body
required: true
type: object
vnfd_id:
description: |
The UUID of the VNFD.
in: body
required: false
type: string
vnfd_template:
description: |
Template to create VNF.
in: body
required: false
type: object
vnfd_template_source:
description: |
Source of VNFD.
in: body
required: false
type: string
vnfds:
description: |
A list of ``vnfd`` objects.
in: body
required: true
type: array
vnffg:
description: |
A ``vnffg`` object.
in: body
required: true
type: object
vnffg_forwarding_paths:
description: |
The UUID of the Network Forwarding Path (NFP) on which
the VNFFG relies.
in: body
required: true
type: string
vnffg_id:
description: |
The UUID of the VNFFG.
in: body
required: true
type: string
vnffg_status:
description: |
Status of the VNFFG.
in: body
required: true
type: string
vnffgd:
description: |
A ``vnffgd`` object.
in: body
required: true
type: object
vnffgd_id:
description: |
The UUID of the VNFFGD.
in: body
required: true
type: string
vnffgd_template:
description: |
A template object which includes behavioral and deployment
information of VNFFGs. For more information, see
`VNFFG Descriptor Template Guide
<https://docs.openstack.org/tacker/latest/contributor/vnffgd_template_description.html>`_.
in: body
required: true
type: object
vnffgds:
description: |
A list of ``vnffgd`` objects.
in: body
required: true
type: array
vnffgs:
description: |
A list of ``vnffg`` objects.
in: body
required: true
type: array
vnfs:
description: |
A list of ``vnf`` objects.
in: body
required: true
type: array

View File

@ -1,19 +0,0 @@
{
"classifiers": [
{
"status": "ACTIVE",
"nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
"instance_id": "5a5e2cd6-c0d9-4768-8361-99ac9e2c8fae",
"id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
"match": {
"ip_proto": 6,
"network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958",
"ip_dst_prefix": "10.10.0.10/24",
"destination_port_min": 80,
"destination_port_max": 1024
}
}
]
}

View File

@ -1,17 +0,0 @@
{
"classifier": {
"status": "ACTIVE",
"nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
"instance_id": "5a5e2cd6-c0d9-4768-8361-99ac9e2c8fae",
"id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
"match": {
"ip_proto": 6,
"network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958",
"ip_dst_prefix": "10.10.0.10/24",
"destination_port_min": 80,
"destination_port_max": 1024
}
}
}

View File

@ -1,31 +0,0 @@
{
"events": [
{
"event_type": "CREATE",
"resource_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"timestamp": "2016-09-23 09:57:35",
"event_details": "",
"resource_state": "PENDING",
"id": 1,
"resource_type": "vim"
},
{
"event_type": "MONITOR",
"resource_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"timestamp": "2016-09-23 09:57:35",
"event_details": "",
"resource_state": "REACHABLE",
"id": 2,
"resource_type": "vim"
},
{
"event_type": "CREATE",
"resource_id": "31ea84d0-ce43-44d9-9e16-fc38e9636892",
"timestamp": "2016-09-28 05:41:12",
"event_details": "",
"resource_state": "Not Applicable",
"id": 3,
"resource_type": "vnfd"
}
]
}

View File

@ -1,11 +0,0 @@
{
"event": {
"event_type": "MONITOR",
"resource_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"timestamp": "2016-09-23 09:57:35",
"event_details": "",
"resource_state": "REACHABLE",
"id": 2,
"resource_type": "vim"
}
}

View File

@ -1,28 +0,0 @@
{
"extensions": [
{
"updated": "2013-11-19T10:00:00-00:00",
"name": "VNF Manager",
"links": [],
"namespace": "http://wiki.openstack.org/Tacker",
"alias": "VNFM",
"description": "Extension for VNF Manager"
},
{
"updated": "2016-06-06T13:00:00-00:00",
"name": "COMMONSERVICES",
"links": [],
"namespace": "http://wiki.openstack.org/Tacker",
"alias": "Commonservices",
"description": "Extension for CommonServices"
},
{
"updated": "2015-12-21T10:00:00-00:00",
"name": "NFV Orchestrator",
"links": [],
"namespace": "http://wiki.openstack.org/Tacker",
"alias": "NFVO",
"description": "Extension for NFV Orchestrator"
}
]
}

View File

@ -1,10 +0,0 @@
{
"extension": {
"updated": "2013-11-19T10:00:00-00:00",
"name": "VNF Manager",
"links": [],
"namespace": "http://wiki.openstack.org/Tacker",
"alias": "VNFM",
"description": "Extension for VNF Manager"
}
}

View File

@ -1,14 +0,0 @@
{
"nfps": [
{
"status": "ACTIVE",
"name": "Forwarding_path1",
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
"path_id": "51",
"symmetrical": false,
"classifier_id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
"id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015"
}
]
}

View File

@ -1,12 +0,0 @@
{
"nfp": {
"status": "ACTIVE",
"name": "Forwarding_path1",
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"chain_id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2",
"path_id": "51",
"symmetrical": false,
"classifier_id": "b742746d-b09e-4da7-8535-9fc066a71cf1",
"id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015"
}
}

View File

@ -1,60 +0,0 @@
{
"nsd": {
"tenant_id": "689708956b2d4ae0a27120d3aca6a593",
"name": "sample-nsd",
"description": "Sample nsd",
"attributes": {
"nsd": {
"imports": [
"vnf1",
"vnf2"
],
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
"topology_template": {
"inputs": {
"vl2_name": {
"default": "net0", "type": "string",
"description": "name of VL2 virtuallink"
},
"vl1_name": {
"default": "net_mgmt",
"type": "string",
"description": "name of VL1 virtuallink"
}
},
"node_templates": {
"VL1": {
"type": "tosca.nodes.nfv.VL",
"properties": {
"network_name": {
"get_input": "vl1_name"
},
"vendor": "tacker"
}
},
"VNF1": {
"type": "tosca.nodes.nfv.VNF1",
"requirements": [
{
"virtualLink1": "VL1"
},
{
"virtualLink2": "VL2"
}
]
},
"VL2": {
"type": "tosca.nodes.nfv.VL",
"properties": {
"network_name": {
"get_input": "vl2_name"
},
"vendor": "tacker"
}
}
}
}
}
},
}
}

View File

@ -1,14 +0,0 @@
{
"nsd": {
"name": "nsd1"
"description": "nsd-sample",
"id": "99b2851e-a6a7-4467-9554-0eb50633f012",
"tenant_id": "a81900a92bda40588c52699e1873a92f",
"created_at": "2017-01-30 07:10:29.809127",
"updated_at": null,
"attributes": {
"nsd": "imports: [vnf1, vnf2]\ntopology_template:\n inputs:\n vl1_name: {default: net_mgmt, description: name of VL1 virtuallink, type: string}\n vl2_name: {default: net0, description: name of VL2 virtuallink, type: string}\n node_templates:\n VL1:\n properties:\n network_name: {get_input: vl1_name}\n vendor: tacker\n type: tosca.nodes.nfv.VL\n VL2:\n properties:\n network_name: {get_input: vl2_name}\n vendor: tacker\n type: tosca.nodes.nfv.VL\n VNF1:\n requirements:\n - {virtualLink1: VL1}\n - {virtualLink2: VL2}\n type: tosca.nodes.nfv.VNF1\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
},
}
}

View File

@ -1,16 +0,0 @@
{
"nsd": [
{
"name": "nsd1"
"description": "nsd-sample",
"id": "99b2851e-a6a7-4467-9554-0eb50633f012",
"tenant_id": "a81900a92bda40588c52699e1873a92f",
"created_at": "2017-01-30 07:10:29.809127",
"updated_at": null,
"attributes": {
"nsd": "imports: [vnf1, vnf2]\ntopology_template:\n inputs:\n vl1_name: {default: net_mgmt, description: name of VL1 virtuallink, type: string}\n vl2_name: {default: net0, description: name of VL2 virtuallink, type: string}\n node_templates:\n VL1:\n properties:\n network_name: {get_input: vl1_name}\n vendor: tacker\n type: tosca.nodes.nfv.VL\n VL2:\n properties:\n network_name: {get_input: vl2_name}\n vendor: tacker\n type: tosca.nodes.nfv.VL\n VNF1:\n requirements:\n - {virtualLink1: VL1}\n - {virtualLink2: VL2}\n type: tosca.nodes.nfv.VNF1\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
},
}
]
}

View File

@ -1,14 +0,0 @@
{
"nsd": {
"name": "nsd_sample"
"description": "nsd-sample",
"id": "99b2851e-a6a7-5467-9954-0e8a0633f941",
"tenant_id": "a81900a92bda40588c52699e1873a92f",
"created_at": "2017-01-30 07:11:37.807045",
"updated_at": null,
"attributes": {
"nsd": "imports: [vnf1, vnf2]\ntopology_template:\n inputs:\n vl1_name: {default: net_mgmt, description: name of VL1 virtuallink, type: string}\n vl2_name: {default: net0, description: name of VL2 virtuallink, type: string}\n node_templates:\n VL1:\n properties:\n network_name: {get_input: vl1_name}\n vendor: tacker\n type: tosca.nodes.nfv.VL\n VL2:\n properties:\n network_name: {get_input: vl2_name}\n vendor: tacker\n type: tosca.nodes.nfv.VL\n VNF1:\n requirements:\n - {virtualLink1: VL1}\n - {virtualLink2: VL2}\n type: tosca.nodes.nfv.VNF1\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
},
}
}

View File

@ -1,17 +0,0 @@
{
"ns": {
"name": "ns_test",
"nsd_id": "2e581b27-aa72-4a81-8efd-6c0e58533c9b"
"description:": "sample NS",
"tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
"vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
"attributes": {
"param_values": {
"nsd": {
"vl2_name": "net0",
"vl1_name": "net_mgmt"
}
}
},
}
}

View File

@ -1,16 +0,0 @@
{
"ns": {
"name": "network_service"
"description": "sample-ns",
"status": "PENDING_CREATE",
"created_at": "2017-01-30 20:23:49.566482",
"tenant_id": "a81900a92bda40588c52699e1873a92f",
"vim_id": "96025dd5-ca16-49f3-9823-958eb04260c4",
"updated_at": null,
"mgmt_ip_addresses": null,
"vnf_ids": null,
"error_reason": null,
"nsd_id": "99b2851e-a6a7-4467-9554-0eb50633f012",
"id": "076d8bcb-5ad4-4036-a692-fe488d24f77d",
}
}

View File

@ -1,81 +0,0 @@
{
"ns": {
"name": "ns_test",
"description": "sample NS",
"tenant_id": "058079ca392749bfa58831e0467a5439",
"attributes": {
"param_values": {
"nsd": {
"vl2_name": "net0",
"vl1_name": "net_mgmt"
}
}
},
"nsd_template": {
"imports": [
"VNFD1",
"VNFD2"
],
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
"topology_template": {
"inputs": {
"vl2_name": {
"default": "net0",
"type": "string",
"description": "name of VL2 virtuallink"
},
"vl1_name": {
"default": "net_mgmt",
"type": "string",
"description": "name of VL1 virtuallink"
}
},
"node_templates": {
"VNF1": {
"type": "tosca.nodes.nfv.VNF1",
"requirements": [
{
"virtualLink1": "VL1"
},
{
"virtualLink2": "VL2"
}
]
},
"VNF2": {
"type": "tosca.nodes.nfv.VNF2"
},
"VL1": {
"type": "tosca.nodes.nfv.VL",
"properties": {
"network_name": {
"get_input": "vl1_name"
},
"vendor": "tacker"
}
},
"VNF1": {
"type": "tosca.nodes.nfv.VNF1",
"requirements": [
{
"virtualLink1": "VL1"
},
{
"virtualLink2": "VL2"
}
]
},
"VL2": {
"type": "tosca.nodes.nfv.VL",
"properties": {
"network_name": {
"get_input": "vl2_name"
},
"vendor": "tacker"
}
}
}
}
}
}
}

View File

@ -1,16 +0,0 @@
{
"ns": {
"status": "PENDING_CREATE",
"created_at": "2017-07-14 17:03:33.596454",
"description": "sample NS",
"tenant_id": "058079ca392749bfa58831e0467a5439",
"vim_id": "0e70ec23-6f32-420a-a039-2cdb2c20c329",
"updated_at": null,
"mgmt_ip_addresses": null,
"vnf_ids": null,
"error_reason": null,
"nsd_id": "be18005d-5656-4d81-b499-6af4d4d8437f",
"id": "ff35e3f0-0a11-4071-bce6-279fdf1c8bf9",
"name": "ns_test"
}
}

View File

@ -1,18 +0,0 @@
{
"ns": [
{
"name": "network_service"
"description": "sample-ns",
"status": "PENDING_CREATE",
"created_at": "2017-01-30 20:23:49.566482",
"tenant_id": "a81900a92bda40588c52699e1873a92f",
"vim_id": "96025dd5-ca16-49f3-9823-958eb04260c4",
"updated_at": null,
"mgmt_ip_addresses": null,
"vnf_ids": null,
"error_reason": null,
"nsd_id": "99b2851e-a6a7-4467-9554-0eb50633f012",
"id": "076d8bcb-5ad4-4036-a692-fe488d24f77d",
}
]
}

View File

@ -1,16 +0,0 @@
{
"ns": {
"name": "network_service"
"description": "sample-ns",
"status": "PENDING_CREATE",
"created_at": "2017-01-30 20:23:49.566482",
"tenant_id": "a81900a92bda40588c52699e1873a92f",
"vim_id": "96025dd5-ca16-49f3-9823-958eb04260c4",
"updated_at": null,
"mgmt_ip_addresses": null,
"vnf_ids": null,
"error_reason": null,
"nsd_id": "99b2851e-a6a7-4467-9554-0eb50633f012",
"id": "076d8bcb-5ad4-4036-a692-fe488d24f77d",
}
}

View File

@ -1,27 +0,0 @@
{
"sfcs": [
{
"status": "ACTIVE",
"path_id": "51",
"nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
"chain": [
{
"connection_points": [
"e48cd49d-3bf7-4c8d-b6a7-3e2846b01c7c"
],
"name": "my-vnf1"
},
{
"connection_points": [
"4b0b3a8f-07ca-46c3-b8fa-90caeaada031"
],
"name": "my-vnf2"
}
],
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"instance_id": "2645eea6-3744-40f6-aacc-09a784db5d89",
"symmetrical": false,
"id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2"
}
]
}

View File

@ -1,25 +0,0 @@
{
"sfc": {
"status": "ACTIVE",
"path_id": "51",
"nfp_id": "ac4a4a7e-ccb5-4014-8125-966ba42cc015",
"chain": [
{
"connection_points": [
"e48cd49d-3bf7-4c8d-b6a7-3e2846b01c7c"
],
"name": "my-vnf1"
},
{
"connection_points": [
"4b0b3a8f-07ca-46c3-b8fa-90caeaada031"
],
"name": "my-vnf2"
}
],
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"instance_id": "2645eea6-3744-40f6-aacc-09a784db5d89",
"symmetrical": false,
"id": "b9370af2-0e5f-49b1-a980-0f9a08f216b2"
}
}

View File

@ -1,67 +0,0 @@
{
"vnfd": {
"tenant_id": "689708956a2d4ae0a27120d3aca6a560",
"name": "vnfd-sample",
"description": "Sample",
"service_types": [
{
"service_type": "vnfd"
}
],
"attributes": {
"vnfd": {
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
"description": "Demo example",
"metadata": {
"template_name": "sample-tosca-vnfd"
},
"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.5.2-x86_64-disk"
}
},
"CP1": {
"type": "tosca.nodes.nfv.CP.Tacker",
"properties": {
"order": 0,
"management": true,
"anti_spoofing_protection": false
},
"requirements": [
{
"virtualLink": {
"node": "VL1"
}
},
{
"virtualBinding": {
"node": "VDU1"
}
}
]
},
"VL1": {
"type": "tosca.nodes.nfv.VL",
"properties": {
"vendor": "Tacker",
"network_name": "net_mgmt"
}
}
}
}
}
}
}
}

View File

@ -1,19 +0,0 @@
{
"vnfd": {
"service_types": [
{
"service_type": "vnfd",
"id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
}
],
"description": "Sample",
"tenant_id": "689708956a2d4ae0a27120d3aca6a560",
"created_at": "2016-10-20 07:38:54.600003",
"updated_at": null,
"attributes": {
"vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n node_templates:\n CP1:\n properties: {anti_spoofing_protection: false, management: true, order: 0}\n requirements:\n - virtualLink: {node: VL1}\n - virtualBinding: {node: VDU1}\n type: tosca.nodes.nfv.CP.Tacker\n VDU1:\n capabilities:\n nfv_compute:\n properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n properties: {image: cirros-0.5.2-x86_64-disk}\n type: tosca.nodes.nfv.VDU.Tacker\n VL1:\n properties: {network_name: net_mgmt, vendor: Tacker}\n type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
},
"id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
"name": "vnfd-sample"
}
}

View File

@ -1,22 +0,0 @@
{
"vnfds": [
{
"service_types": [
{
"service_type": "vnfd",
"id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
}
],
"description": "Sample",
"tenant_id": "689708956a2d4ae0a27120d3aca6a560",
"created_at": "2016-10-20 07:38:54",
"updated_at": null,
"attributes": {
"vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n node_templates:\n CP1:\n properties: {anti_spoofing_protection: false, management: true, order: 0}\n requirements:\n - virtualLink: {node: VL1}\n - virtualBinding: {node: VDU1}\n type: tosca.nodes.nfv.CP.Tacker\n VDU1:\n capabilities:\n nfv_compute:\n properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n properties: {image: cirros-0.5.2-x86_64-disk}\n type: tosca.nodes.nfv.VDU.Tacker\n VL1:\n properties: {network_name: net_mgmt, vendor: Tacker}\n type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
},
"id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
"name": "vnfd-sample",
"template_source": "onboarded or inline"
}
]
}

View File

@ -1,20 +0,0 @@
{
"vnfd": {
"service_types": [
{
"service_type": "vnfd",
"id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
}
],
"description": "Sample",
"tenant_id": "689708956a2d4ae0a27120d3aca6a560",
"created_at": "2016-10-20 07:38:54",
"updated_at": null,
"attributes": {
"vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n node_templates:\n CP1:\n properties: {anti_spoofing_protection: false, management: true, order: 0}\n requirements:\n - virtualLink: {node: VL1}\n - virtualBinding: {node: VDU1}\n type: tosca.nodes.nfv.CP.Tacker\n VDU1:\n capabilities:\n nfv_compute:\n properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n properties: {image: cirros-0.5.2-x86_64-disk}\n type: tosca.nodes.nfv.VDU.Tacker\n VL1:\n properties: {network_name: net_mgmt, vendor: Tacker}\n type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
},
"id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
"name": "vnfd-sample",
"template_source": "onboarded or inline"
}
}

View File

@ -1,6 +0,0 @@
{
"vnfd": {
"name": "vnfd-sample-updated",
"description": "Updated sample"
}
}

View File

@ -1,19 +0,0 @@
{
"vnfd": {
"service_types": [
{
"service_type": "vnfd",
"id": "ca0d8667-ce35-4f7a-9744-ac4bc7d5579d"
}
],
"description": "Updated sample",
"tenant_id": "689708956a2d4ae0a27120d3aca6a560",
"created_at": "2016-10-20 07:38:54",
"updated_at": "2016-10-20 07:41:27.392759",
"attributes": {
"vnfd": "description: Demo example\nmetadata: {template_name: sample-tosca-vnfd}\ntopology_template:\n node_templates:\n CP1:\n properties: {anti_spoofing_protection: false, management: true, order: 0}\n requirements:\n - virtualLink: {node: VL1}\n - virtualBinding: {node: VDU1}\n type: tosca.nodes.nfv.CP.Tacker\n VDU1:\n capabilities:\n nfv_compute:\n properties: {disk_size: 1 GB, mem_size: 512 MB, num_cpus: 1}\n properties: {image: cirros-0.5.2-x86_64-disk}\n type: tosca.nodes.nfv.VDU.Tacker\n VL1:\n properties: {network_name: net_mgmt, vendor: Tacker}\n type: tosca.nodes.nfv.VL\ntosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0\n"
},
"id": "0fb827e7-32b0-4e5b-b300-e1b1dce8a831",
"name": "vnfd-sample-updated"
}
}

View File

@ -1,78 +0,0 @@
{
"vnffgd": {
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"name": "vnffgd1",
"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.Tacker",
"description": "creates path (CP12->CP22)",
"properties": {
"policy": {
"type": "ACL",
"criteria": [
{
"network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
},
{
"destination_port_range": "80-1024"
},
{
"ip_proto": 6
},
{
"ip_dst_prefix": "10.10.0.10/24"
}
]
},
"path": [
{
"capability": "CP12",
"forwarder": "VNFD1"
},
{
"capability": "CP22",
"forwarder": "VNFD2"
}
],
"id": 51
}
}
},
"description": "Sample VNFFG template",
"groups": {
"VNFFG1": {
"type": "tosca.groups.nfv.VNFFG",
"description": "HTTP to Corporate Net",
"members": [
"Forwarding_path1"
],
"properties": {
"vendor": "tacker",
"connection_point": [
"CP12",
"CP22"
],
"version": 1.0,
"constituent_vnfs": [
"VNFD1",
"VNFD2"
],
"number_of_endpoints": 2,
"dependent_virtual_link": [
"VL12",
"VL22"
]
}
}
}
}
}
},
"description": "sample vnffgd"
}
}

View File

@ -1,83 +0,0 @@
{
"vnffgd": {
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"name": "vnffgd1",
"description": "sample vnffgd",
"template": {
"vnffgd": {
"imports": [
"/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml",
"/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml"
],
"description": "Sample VNFFG template",
"topology_template": {
"node_templates": {
"Forwarding_path1": {
"type": "tosca.nodes.nfv.FP.Tacker",
"description": "creates path (CP12->CP22)",
"properties": {
"policy": {
"type": "ACL",
"criteria": [
{
"network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
},
{
"destination_port_range": "80-1024"
},
{
"ip_proto": 6
},
{
"ip_dst_prefix": "10.10.0.10/24"
}
]
},
"path": [
{
"capability": "CP12",
"forwarder": "VNFD1"
},
{
"capability": "CP22",
"forwarder": "VNFD2"
}
],
"id": 51
}
}
},
"description": "Sample VNFFG template",
"groups": {
"VNFFG1": {
"type": "tosca.groups.nfv.VNFFG",
"description": "HTTP to Corporate Net",
"members": [
"Forwarding_path1"
],
"properties": {
"vendor": "tacker",
"connection_point": [
"CP12",
"CP22"
],
"version": 1.0,
"constituent_vnfs": [
"VNFD1",
"VNFD2"
],
"number_of_endpoints": 2,
"dependent_virtual_link": [
"VL12",
"VL22"
]
}
}
}
},
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0"
}
},
"id": "60b8e717-11a7-4395-8438-a21d2eeeb855"
}
}

View File

@ -1,85 +0,0 @@
{
"vnffgds": [
{
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"name": "vnffgd1",
"description": "sample vnffgd",
"template": {
"vnffgd": {
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
"imports": [
"/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml",
"/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml"
],
"description": "Sample VNFFG template",
"topology_template": {
"node_templates": {
"Forwarding_path1": {
"type": "tosca.nodes.nfv.FP.Tacker",
"description": "creates path (CP12->CP22)",
"properties": {
"policy": {
"type": "ACL",
"criteria": [
{
"network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
},
{
"destination_port_range": "80-1024"
},
{
"ip_proto": 6
},
{
"ip_dst_prefix": "10.10.0.10/24"
}
]
},
"path": [
{
"capability": "CP12",
"forwarder": "VNFD1"
},
{
"capability": "CP22",
"forwarder": "VNFD2"
}
],
"id": 51
}
}
},
"description": "Sample VNFFG template",
"groups": {
"VNFFG1": {
"type": "tosca.groups.nfv.VNFFG",
"description": "HTTP to Corporate Net",
"members": [
"Forwarding_path1"
],
"properties": {
"vendor": "tacker",
"connection_point": [
"CP12",
"CP22"
],
"version": 1.0,
"constituent_vnfs": [
"VNFD1",
"VNFD2"
],
"number_of_endpoints": 2,
"dependent_virtual_link": [
"VL12",
"VL22"
]
}
}
}
}
}
},
"id": "60b8e717-11a7-4395-8438-a21d2eeeb855"
}
]
}

View File

@ -1,83 +0,0 @@
{
"vnffgd": {
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"name": "vnffgd1",
"description": "sample vnffgd",
"template": {
"vnffgd": {
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
"imports": [
"/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml",
"/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml"
],
"description": "Sample VNFFG template",
"topology_template": {
"node_templates": {
"Forwarding_path1": {
"type": "tosca.nodes.nfv.FP.Tacker",
"description": "creates path (CP12->CP22)",
"properties": {
"policy": {
"type": "ACL",
"criteria": [
{
"network_src_port_id": "5fad003e-95c0-46b3-a137-4d423b6ab958"
},
{
"destination_port_range": "80-1024"
},
{
"ip_proto": 6
},
{
"ip_dst_prefix": "10.10.0.10/24"
}
]
},
"path": [
{
"capability": "CP12",
"forwarder": "VNFD1"
},
{
"capability": "CP22",
"forwarder": "VNFD2"
}
],
"id": 51
}
}
},
"description": "Sample VNFFG template",
"groups": {
"VNFFG1": {
"type": "tosca.groups.nfv.VNFFG",
"description": "HTTP to Corporate Net",
"members": [
"Forwarding_path1"
],
"properties": {
"vendor": "tacker",
"connection_point": [
"CP12",
"CP22"
],
"version": 1.0,
"constituent_vnfs": [
"VNFD1",
"VNFD2"
],
"number_of_endpoints": 2,
"dependent_virtual_link": [
"VL12",
"VL22"
]
}
}
}
}
}
},
"id": "60b8e717-11a7-4395-8438-a21d2eeeb855"
}
}

View File

@ -1,12 +0,0 @@
{
"vnffg": {
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
"name": "vnffg1",
"vnf_mapping": {
"VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
"VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
},
"symmetrical": false
}
}

View File

@ -1,15 +0,0 @@
{
"vnffg": {
"forwarding_paths": "476e2882-45d1-45cb-9856-45cf603f7d9a",
"status": "PENDING_CREATE",
"description": "sample vnffgd",
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
"vnf_mapping": {
"VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
"VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
},
"id": "8cc66ad5-8513-4afe-a2f2-1e13543348fe",
"name": "vnffg1"
}
}

View File

@ -1,74 +0,0 @@
{
"vnffg": {
"tenant_id": "058079ca392749bfa58831e0467a5439",
"name": "vnffg1",
"vnf_mapping": {
"VNFD2": "e40f29eb-b3e5-4c47-ab05-567be3a63fdb",
"VNFD1": "e759aa4c-ae09-403a-8c04-90c77abfae56"
},
"symmetrical": false,
"vnffgd_template": {
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
"description": "Sample VNFFG template",
"topology_template": {
"description": "Sample VNFFG template",
"node_templates": {
"Forwarding_path1": {
"type": "tosca.nodes.nfv.FP.Tacker",
"description": "creates path (CP12->CP22)",
"properties": {
"id": 51,
"policy": {
"type": "ACL",
"criteria": [
{
"network_src_port_id": "92011ca7-565d-408d-af67-09f21cdf9107"
},
{
"ip_proto": 1
}
]
},
"path": [
{
"forwarder": "VNFD1",
"capability": "CP12"
},
{
"forwarder": "VNFD2",
"capability": "CP22"
}
]
}
}
},
"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"
]
}
}
}
}
}
}

View File

@ -1,84 +0,0 @@
{
"vnffg": {
"forwarding_paths": "a2d2d1dd-433f-47b7-89f8-be3cd6b2086a",
"status": "PENDING_CREATE",
"description": "",
"tenant_id": "058079ca392749bfa58831e0467a5439",
"vnffgd_id": "5263b036-8d11-410c-9417-6e0300456160",
"vnf_mapping": {
"VNFD2": "af76238b-75db-4f70-9ad7-bd286bb0f88a",
"VNFD1": "dcda3482-1e75-4b37-8bdd-77c018a59cd7"
},
"attributes": {
"vnffgd": {
"imports": [
"/opt/stack/tacker/tacker/tosca/lib/tacker_defs.yaml",
"/opt/stack/tacker/tacker/tosca/lib/tacker_nfv_defs.yaml"
],
"description": "Sample VNFFG template",
"topology_template": {
"node_templates": {
"Forwarding_path1": {
"type": "tosca.nodes.nfv.FP.Tacker",
"description": "creates path (CP12->CP22)",
"properties": {
"policy": {
"type": "ACL",
"criteria": [
{
"network_src_port_id": "9ec6bef0-5da9-4b04-bdc7-c57bc26bcdea"
},
{
"ip_proto": 1
}
]
},
"path": [
{
"capability": "CP12",
"forwarder": "VNFD1"
},
{
"capability": "CP22",
"forwarder": "VNFD2"
}
],
"id": 51
}
}
},
"description": "Sample VNFFG template",
"groups": {
"VNFFG1": {
"type": "tosca.groups.nfv.VNFFG",
"description": "HTTP to Corporate Net",
"members": [
"Forwarding_path1"
],
"properties": {
"vendor": "tacker",
"connection_point": [
"CP12",
"CP22"
],
"version": 1,
"constituent_vnfs": [
"VNFD1",
"VNFD2"
],
"number_of_endpoints": 2,
"dependent_virtual_link": [
"VL12",
"VL22"
]
}
}
}
},
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0"
}
},
"id": "d86b2e7c-6e88-4d6e-ac1a-9a9ad56b48f5",
"name": "vnffg1"
}
}

View File

@ -1,17 +0,0 @@
{
"vnffgs": [
{
"forwarding_paths": "476e2882-45d1-45cb-9856-45cf603f7d9a",
"status": "ACTIVE",
"description": "sample vnffgd",
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
"vnf_mapping": {
"VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
"VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
},
"id": "8cc66ad5-8513-4afe-a2f2-1e13543348fe",
"name": "vnffg1"
}
]
}

View File

@ -1,15 +0,0 @@
{
"vnffg": {
"forwarding_paths": "476e2882-45d1-45cb-9856-45cf603f7d9a",
"status": "ACTIVE",
"description": "sample vnffgd",
"tenant_id": "e8935dc5484345a1aff7a1043e88c8b1",
"vnffgd_id": "ec81d6b9-da96-4eed-80f8-0dadcebda926",
"vnf_mapping": {
"VNFD2": "0918d77d-f353-4e52-be42-9e078ca8c443",
"VNFD1": "86f3f4c5-ffb9-43a0-b5b8-7767f75100ac"
},
"id": "8cc66ad5-8513-4afe-a2f2-1e13543348fe",
"name": "vnffg1"
}
}

View File

@ -1,6 +0,0 @@
{
"scale": {
"policy": "SP1",
"type": "out"
}
}

View File

@ -1,6 +0,0 @@
{
"scale": {
"policy": "SP1",
"type": "out"
}
}

View File

@ -1,32 +0,0 @@
{
"vnf": {
"tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
"vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
"vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"name": "OpenWRT",
"description": "OpenWRT VNF",
"attributes": {
"config": {
"vdus": {
"vdu1": {
"config": {
"firewall": "package firewall\n"
}
}
}
},
"param_values": {
"vdus": {
"vdu1": {
"param": {
"vdu-name": "openwrt_vdu1"
}
}
}
}
},
"placement_attr": {
"region_name": "RegionOne"
}
}
}

View File

@ -1,27 +0,0 @@
{
"vnf": {
"status": "PENDING_CREATE",
"description": "OpenWRT VNFD with parameterized VDU name",
"vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
"tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
"created_at": "2016-10-25 10:15:06.959431",
"updated_at": null,
"instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
"mgmt_ip_address": null,
"vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"placement_attr": {
"region_name": "RegionOne",
"vim_name": "VIM0"
},
"error_reason": null,
"attributes": {
"config": "vdus:\n vdu1:\n config: {firewall: 'package firewall\n\n '}\n",
"heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n '\nparameters:\n vdu-name:\n type: string\n description: Vdu name\n default: test-vdu\nresources:\n CP1:\n type: OS::Neutron::Port\n properties:\n network: net_mgmt\n port_security_enabled: false\n CP2:\n type: OS::Neutron::Port\n properties:\n network: net0\n port_security_enabled: false\n CP3:\n type: OS::Neutron::Port\n properties:\n network: net1\n port_security_enabled: false\n VDU1:\n type: OS::Nova::Server\n properties:\n config_drive: false\n flavor: {get_resource: VDU1_flavor}\n image: OpenWRT\n name:\n get_param: vdu-name\n networks:\n - port:\n get_resource: CP1\n - port:\n get_resource: CP2\n - port:\n get_resource: CP3\n user_data_format: SOFTWARE_CONFIG\n VDU1_flavor:\n properties: {disk: 1, ram: 512, vcpus: 1}\n type: OS::Nova::Flavor\noutputs:\n mgmt_ip-VDU1:\n value:\n get_attr: [CP1, fixed_ips, 0, ip_address]\n",
"param_values": "vdus:\n vdu1:\n param: {vdu-name: openwrt_vdu1}\n",
"monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}"
},
"id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
"name": "OpenWRT"
}
}

View File

@ -1,8 +0,0 @@
{
"vnf": {
"attributes": {
"force": true
}
}
}

View File

@ -1,66 +0,0 @@
{
"vnf": {
"tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
"vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"name": "OpenWRT",
"description": "OpenWRT VNF",
"attributes": {
"config": {
"vdus": {
"vdu1": {
"config": {
"firewall": "package firewall\n"
}
}
}
},
"param_values": {
"vdus": {
"vdu1": {
"param": {
"vdu-name": "openwrt_vdu1"
}
}
}
}
},
"placement_attr": {
"region_name": "RegionOne"
},
"vnfd_template": {
"tosca_definitions_version": "tosca_simple_profile_for_nfv_1_0_0",
"description": "Demo example",
"metadata": {
"template_name": "sample-tosca-vnfd"},
"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.5.2-x86_64-disk"}},
"CP1": {
"type": "tosca.nodes.nfv.CP.Tacker",
"properties": {
"order": 0,
"management": true,
"anti_spoofing_protection": false},
"requirements": [
{"virtualLink": {
"node": "VL1"}},
{"virtualBinding": {
"node": "VDU1"}}]},
"VL1": {
"type": "tosca.nodes.nfv.VL",
"properties": {
"vendor": "Tacker",
"network_name": "net_mgmt"}}
}
}
}
}
}

View File

@ -1,28 +0,0 @@
{
"vnfs": [
{
"status": "ACTIVE",
"description": "OpenWRT VNFD with parameterized VDU name",
"vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
"tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
"created_at": "2016-10-25 10:15:06",
"updated_at": null,
"instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
"mgmt_ip_address": "{\"VDU1\": \"192.168.120.3\"}",
"vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"placement_attr": {
"region_name": "RegionOne",
"vim_name": "VIM0"
},
"error_reason": null,
"attributes": {
"config": "vdus:\n vdu1:\n config: {firewall: 'package firewall\n\n '}\n",
"monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}",
"param_values": "vdus:\n vdu1:\n param: {vdu-name: openwrt_vdu1}\n",
"heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n '\nparameters:\n vdu-name:\n type: string\n description: Vdu name\n default: test-vdu\nresources:\n CP1:\n type: OS::Neutron::Port\n properties:\n network: net_mgmt\n port_security_enabled: false\n CP2:\n type: OS::Neutron::Port\n properties:\n network: net0\n port_security_enabled: false\n CP3:\n type: OS::Neutron::Port\n properties:\n network: net1\n port_security_enabled: false\n VDU1:\n type: OS::Nova::Server\n properties:\n config_drive: false\n flavor: {get_resource: VDU1_flavor}\n image: OpenWRT\n name:\n get_param: vdu-name\n networks:\n - port:\n get_resource: CP1\n - port:\n get_resource: CP2\n - port:\n get_resource: CP3\n user_data_format: SOFTWARE_CONFIG\n VDU1_flavor:\n properties: {disk: 1, ram: 512, vcpus: 1}\n type: OS::Nova::Flavor\noutputs:\n mgmt_ip-VDU1:\n value:\n get_attr: [CP1, fixed_ips, 0, ip_address]\n"
},
"id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
"name": "OpenWRT"
}
]
}

View File

@ -1,29 +0,0 @@
{
"resources": [
{
"type": "OS::Nova::Server",
"name": "VDU1",
"id": "94c19bcf-6c89-4129-98fe-759e37e2f8c7"
},
{
"type": "OS::Neutron::Port",
"name": "CP1",
"id": "20602131-03f9-4cb2-b9fe-24bf56f1bb4f"
},
{
"type": "OS::Neutron::Port",
"name": "CP2",
"id": "ff641e7d-35f9-4095-a1f7-c3f6fb2fa294"
},
{
"type": "OS::Neutron::Port",
"name": "CP3",
"id": "ebe816df-3bc0-48a8-9278-140809d1d953"
},
{
"type": "OS::Nova::Flavor",
"name": "VDU1_flavor",
"id": "0f5e0bf2-f1a9-4474-aff9-cfffad22c5f8"
}
]
}

View File

@ -1,26 +0,0 @@
{
"vnf": {
"status": "ACTIVE",
"description": "OpenWRT VNFD with parameterized VDU name",
"vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
"tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
"created_at": "2016-10-25 10:15:06",
"updated_at": "2016-10-25 10:16:43",
"instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
"mgmt_ip_address": "{\"VDU1\": \"192.168.120.3\"}",
"vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"placement_attr": {
"region_name": "RegionOne",
"vim_name": "VIM0"
},
"error_reason": null,
"attributes": {
"config": "vdus:\n vdu1:\n config: {firewall: 'package firewall\n\n '}\n",
"monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}",
"param_values": "vdus:\n vdu1:\n param: {vdu-name: openwrt_vdu1}\n",
"heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n '\nparameters:\n vdu-name:\n type: string\n description: Vdu name\n default: test-vdu\nresources:\n CP1:\n type: OS::Neutron::Port\n properties:\n network: net_mgmt\n port_security_enabled: false\n CP2:\n type: OS::Neutron::Port\n properties:\n network: net0\n port_security_enabled: false\n CP3:\n type: OS::Neutron::Port\n properties:\n network: net1\n port_security_enabled: false\n VDU1:\n type: OS::Nova::Server\n properties:\n config_drive: false\n flavor: {get_resource: VDU1_flavor}\n image: OpenWRT\n name:\n get_param: vdu-name\n networks:\n - port:\n get_resource: CP1\n - port:\n get_resource: CP2\n - port:\n get_resource: CP3\n user_data_format: SOFTWARE_CONFIG\n VDU1_flavor:\n properties: {disk: 1, ram: 512, vcpus: 1}\n type: OS::Nova::Flavor\noutputs:\n mgmt_ip-VDU1:\n value:\n get_attr: [CP1, fixed_ips, 0, ip_address]\n"
},
"id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
"name": "OpenWRT"
}
}

View File

@ -1,15 +0,0 @@
{
"vnf": {
"attributes": {
"config": {
"vdus": {
"VDU1": {
"config": {
"firewall": "package firewall\n\nconfig defaults\n option syn_flood 1\n option input ACCEPT\n option output ACCEPT\n option forward REJECT\n"
}
}
}
}
}
}
}

View File

@ -1,26 +0,0 @@
{
"vnf": {
"status": "PENDING_UPDATE",
"description": "OpenWRT VNFD with parameterized VDU name",
"vnfd_id": "a04b47d1-e8ad-4ef9-8341-eafec398ce02",
"tenant_id": "6673e4d4e13340acb0b847f9ecde613b",
"created_at": "2016-10-25 10:15:06",
"updated_at": "2016-10-25 10:16:43",
"instance_id": "178d3186-5b5f-483c-b2f5-75b484ec793e",
"mgmt_ip_address": "{\"VDU1\": \"192.168.120.3\"}",
"vim_id": "f6bd6f24-7a0e-4111-8994-e108c5ee2ff2",
"placement_attr": {
"region_name": "RegionOne",
"vim_name": "VIM0"
},
"error_reason": null,
"attributes": {
"config": "vdus:\n VDU1:\n config: {firewall: \"package firewall\\n\\nconfig defaults\\n option syn_flood\\\n \\ 1\\n option input ACCEPT\\n option output ACCEPT\\n option forward\\\n \\ REJECT\\n\"}\n vdu1:\n config: {firewall: 'package firewall\n\n '}\n",
"monitoring_policy": "{\"vdus\": {\"VDU1\": {\"ping\": {\"actions\": {\"failure\": \"respawn\"}, \"name\": \"ping\", \"parameters\": {\"count\": 3, \"interval\": 10}, \"monitoring_params\": {\"count\": 3, \"interval\": 10}}}}}",
"param_values": "vdus:\n vdu1:\n param: {vdu-name: openwrt_vdu1}\n",
"heat_template": "heat_template_version: 2013-05-23\ndescription: 'OpenWRT with services\n\n '\nparameters:\n vdu-name:\n type: string\n description: Vdu name\n default: test-vdu\nresources:\n CP1:\n type: OS::Neutron::Port\n properties:\n network: net_mgmt\n port_security_enabled: false\n CP2:\n type: OS::Neutron::Port\n properties:\n network: net0\n port_security_enabled: false\n CP3:\n type: OS::Neutron::Port\n properties:\n network: net1\n port_security_enabled: false\n VDU1:\n type: OS::Nova::Server\n properties:\n config_drive: false\n flavor: {get_resource: VDU1_flavor}\n image: OpenWRT\n name:\n get_param: vdu-name\n networks:\n - port:\n get_resource: CP1\n - port:\n get_resource: CP2\n - port:\n get_resource: CP3\n user_data_format: SOFTWARE_CONFIG\n VDU1_flavor:\n properties: {disk: 1, ram: 512, vcpus: 1}\n type: OS::Nova::Flavor\noutputs:\n mgmt_ip-VDU1:\n value:\n get_attr: [CP1, fixed_ips, 0, ip_address]\n"
},
"id": "2b85ac49-e59e-4f22-89b8-42c3e27115ef",
"name": "OpenWRT"
}
}

View File

@ -1,97 +0,0 @@
.. -*- rst -*-
==============================
Service Function Chains (SFCs)
==============================
Lists Service Function Chains (SFCs) and shows information of a given SFC.
The SFC is a component of a NFP and forms a path which traffics flow through.
List SFCs
=========
.. rest_method:: GET /v1.0/sfcs
Lists SFCs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- sfcs: sfcs
- status: sfc_status
- path_id: sfc_path_id
- nfp_id: sfc_nfp_id
- chain: sfc_chain
- tenant_id: tenant_id
- instance_id: sfc_instance_id
- symmetrical: symmetrical
- id: sfc_id
Response Example
----------------
.. literalinclude:: samples/sfcs/sfcs-list-response.json
:language: javascript
Show SFC
========
.. rest_method:: GET /v1.0/sfcs/{sfc_id}
Shows information of a given SFC.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- sfc_id: sfc_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- sfc: sfc
- status: sfc_status
- path_id: sfc_path_id
- nfp_id: sfc_nfp_id
- chain: sfc_chain
- tenant_id: tenant_id
- instance_id: sfc_instance_id
- symmetrical: symmetrical
- id: sfc_id
Response Example
----------------
.. literalinclude:: samples/sfcs/sfcs-show-response.json
:language: javascript

View File

@ -1,248 +0,0 @@
.. -*- rst -*-
================================================
Virtualized Network Function Descriptors (VNFDs)
================================================
Manages Virtualized Network Function Descriptors (VNFDs).
The VNFD is a template which describes information about deployment
and behavior of Virtualized Network Functions (VNFs). For more information, see
`VNF Descriptor Template Guide
<https://docs.openstack.org/tacker/latest/contributor/vnfd_template_description.html>`_.
Create VNFD
===========
.. rest_method:: POST /v1.0/vnfds
Creates a VNFD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id_opt
- name: name
- description: description_opt
- service_types: service_types
- attributes: vnfd_attributes
Request Example
---------------
.. literalinclude:: samples/vnfds/vnfds-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfd: vnfd
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-create-response.json
:language: javascript
List VNFDs
==========
.. rest_method:: GET /v1.0/vnfds
Lists VNFDs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfds: vnfds
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
- template_source: vnfd_template_source
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-list-response.json
:language: javascript
Show VNFD
=========
.. rest_method:: GET /v1.0/vnfds/{vnfd_id}
Shows information of a given VNFD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnfd_id: vnfd_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfd: vnfd
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
- template_source: vnfd_template_source
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-show-response.json
:language: javascript
Update VNFD
===========
.. rest_method:: PUT /v1.0/vnfds/{vnfd_id}
Updates a given VNFD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnfd_id: vnfd_id_path
- name: name_opt
- description: description_opt
Request Example
---------------
.. literalinclude:: samples/vnfds/vnfds-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfd: vnfd
- service_types: service_types
- description: description
- tenant_id: tenant_id
- created_at: created_at
- updated_at: updated_at
- attributes: vnfd_attributes
- id: vnfd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfds/vnfds-update-response.json
:language: javascript
Delete VNFD
===========
.. rest_method:: DELETE /v1.0/vnfds/{vnfd_id}
Deletes a given VNFD.
Only a VNFD without any associated VNFs can be deleted.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnfd_id: vnfd_id_path

View File

@ -1,176 +0,0 @@
.. -*- rst -*-
==========================================
VNF Forwarding Graph Descriptors (VNFFGDs)
==========================================
Manages VNF Forwarding Graph Descriptors (VNFFGDs).
The VNFFGD is a template which describes information about deployment and
behavior of VNF Forwarding Graphs (VNFFGs). For more information, see
`VNFFG Descriptor Template Guide
<https://docs.openstack.org/tacker/latest/contributor/vnffgd_template_description.html>`_.
Create VNFFGD
=============
.. rest_method:: POST /v1.0/vnffgds
Creates a VNFFGD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id_opt
- name: name
- template: vnffgd_template
- description: description_opt
Request Example
---------------
.. literalinclude:: samples/vnffgds/vnffgds-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgd: vnffgd
- tenant_id: tenant_id
- name: name
- template: vnffgd_template
- description: description
Response Example
----------------
.. literalinclude:: samples/vnffgds/vnffgds-create-response.json
:language: javascript
List VNFFGDs
============
.. rest_method:: GET /v1.0/vnffgds
Lists VNFFGDs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgds: vnffgds
- description: description
- tenant_id: tenant_id
- id: vnffgd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgds/vnffgds-list-response.json
:language: javascript
Show VNFFGD
===========
.. rest_method:: GET /v1.0/vnffgds/{vnffgd_id}
Shows information of a given VNFFGD.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffgd_id: vnffgd_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgd: vnffgd
- description: description
- tenant_id: tenant_id
- id: vnffgd_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgds/vnffgds-show-response.json
:language: javascript
Delete VNFFGD
=============
.. rest_method:: DELETE /v1.0/vnffgds/{vnffgd_id}
Deletes a given VNFFGD.
Only a VNFFGD without any associated VNFFGs can be deleted.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffgd_id: vnffgd_id_path

View File

@ -1,187 +0,0 @@
.. -*- rst -*-
==============================
VNF Forwarding Graphs (VNFFGs)
==============================
Manages VNF Forwarding Graphs (VNFFGs).
The VNFFG feature is used to orchestrate and manage traffic through VNFs.
For more information about VNFFG, see
`VNF Forwarding Graph
<https://docs.openstack.org/tacker/latest/user/vnffg_usage_guide.html>`_.
Create VNFFG
============
.. rest_method:: POST /v1.0/vnffgs
Creates a VNFFG.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id_opt
- vnffgd_id: vnffgd_id
- name: name
- vnf_mapping: vnf_mapping_opt
- symmetrical: symmetrical_opt
Request Example
---------------
.. literalinclude:: samples/vnffgs/vnffgs-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffg: vnffg
- forwarding_paths: vnffg_forwarding_paths
- status: vnffg_status
- description: description
- tenant_id: tenant_id
- vnffgd_id: vnffgd_id
- vnf_mapping: vnf_mapping
- id: vnffg_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgs/vnffgs-create-response.json
:language: javascript
List VNFFGs
===========
.. rest_method:: GET /v1.0/vnffgs
Lists VNFFGs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffgs: vnffgs
- forwarding_paths: vnffg_forwarding_paths
- status: vnffg_status
- description: description
- tenant_id: tenant_id
- vnffgd_id: vnffgd_id
- vnf_mapping: vnf_mapping
- id: vnffg_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgs/vnffgs-list-response.json
:language: javascript
Show VNFFG
==========
.. rest_method:: GET /v1.0/vnffgs/{vnffg_id}
Shows information of a given VNFFG.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffg_id: vnffg_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnffg: vnffg
- forwarding_paths: vnffg_forwarding_paths
- status: vnffg_status
- description: description
- tenant_id: tenant_id
- vnffgd_id: vnffgd_id
- vnf_mapping: vnf_mapping
- id: vnffg_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnffgs/vnffgs-show-response.json
:language: javascript
Delete VNFFG
============
.. rest_method:: DELETE /v1.0/vnffgs/{vnffg_id}
Deletes a given VNFFG.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnffg_id: vnffg_id_path

View File

@ -1,397 +0,0 @@
.. -*- rst -*-
====================================
Virtualized Network Functions (VNFs)
====================================
Manages Virtualized Network Functions (VNFs) and their resources.
The VNF takes on the responsibility for handling specific network functions.
Create VNF
==========
.. rest_method:: POST /v1.0/vnfs
Creates a VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- tenant_id: tenant_id_opt
- vnfd_id: vnfd_id
- vim_id: vim_id_opt
- name: name
- description: description_opt
- attributes: vnf_attributes_opt
- config: vnf_config_opt
- param_values: vnf_param_values_opt
- placement_attr: vnf_placement_attr_opt
- vnfd_template: vnfd_template
Request Example
---------------
.. literalinclude:: samples/vnfs/vnfs-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_ip_address: vnf_mgmt_ip_address
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-create-response.json
:language: javascript
List VNFs
=========
.. rest_method:: GET /v1.0/vnfs
Lists VNFs.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 500
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnfs: vnfs
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_ip_address: vnf_mgmt_ip_address
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-list-response.json
:language: javascript
Show VNF
========
.. rest_method:: GET /v1.0/vnfs/{vnf_id}
Shows information of a given VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_ip_address: vnf_mgmt_ip_address
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-show-response.json
:language: javascript
Update VNF
===========
.. rest_method:: PUT /v1.0/vnfs/{vnf_id}
Updates a given VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
- attributes: vnf_attributes_put
- config: vnf_config_opt
Request Example
---------------
.. literalinclude:: samples/vnfs/vnfs-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vnf: vnf
- status: vnf_status
- description: description
- vnfd_id: vnfd_id
- tenant_id: tenant_id
- created_at: vnf_created_at
- updated_at: vnf_updated_at
- instance_id: vnf_instance_id
- mgmt_ip_address: vnf_mgmt_ip_address
- vim_id: vim_id
- placement_attr: vnf_placement_attr
- error_reason: vnf_error_reason
- attributes: vnf_attributes
- config: vnf_config
- param_values: vnf_param_values
- monitoring_policy: vnf_monitoring_policy
- heat_template: vnf_heat_template
- id: vnf_id
- name: name
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-update-response.json
:language: javascript
Delete VNF
==========
.. rest_method:: DELETE /v1.0/vnfs/{vnf_id}
Deletes a given VNF.
.. note::
Non-admin users are not allowed to delete a VNF in ``PENDING_CREATE`` and
``PENDING_DELETE`` status. In this case, it would return 409 error. Admin
users can delete a VNF in any status with force flag true.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 204
.. rest_status_code:: error status.yaml
- 401
- 404
- 409
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
- attributes: vnf_force_delete_flag
Request Example
---------------
Admin user can request to delete VNF forcefully.
.. literalinclude:: samples/vnfs/vnfs-delete-request.json
:language: javascript
List VNF resources
==================
.. rest_method:: GET /v1.0/vnfs/{vnf_id}/resources
Lists resources, such as VDU/CP, of a given VNF.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- resources: vnf_resources
- type: vnf_resource_type
- name: vnf_resource_name
- id: vnf_resource_id
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-resources-list-response.json
:language: javascript
Trigger VNF scaling
===================
.. rest_method:: POST /v1.0/vnfs/{vnf_id}/actions
Triggers VNF scaling action.
Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 404
- 500
Request Parameters
------------------
.. rest_parameters:: parameters.yaml
- vnf_id: vnf_id_path
- scale: vnf_scale
- policy: vnf_scale_policy
- type: vnf_scale_type
Request Example
---------------
.. literalinclude:: samples/vnfs/vnfs-actions-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- scale: vnf_scale
- policy: vnf_scale_policy
- type: vnf_scale_type
Response Example
----------------
.. literalinclude:: samples/vnfs/vnfs-actions-create-response.json
:language: javascript

View File

@ -83,8 +83,6 @@ TACKER_NOVA_API_INSECURE=${TACKER_NOVA_API_INSECURE:-False}
CEILOMETER_CONF_DIR=/etc/ceilometer
source ${TACKER_DIR}/tacker/tests/contrib/post_test_hook_lib.sh
VNF_PACKAGE_CSAR_PATH=${VNF_PACKAGE_CSAR_PATH:=$TACKER_DATA_DIR/vnfpackage}
FILESYSTEM_STORE_DATA_DIR=${FILESYSTEM_STORE_DATA_DIR:=$TACKER_DATA_DIR/csar_files}
GLANCE_DEFAULT_BACKEND=${GLANCE_DEFAULT_BACKEND:=file}

View File

@ -1,24 +0,0 @@
redirectmatch 301 ^/tacker/([^/]+)/devref/vnfd_template_description.html$ ^/tacker/$1/contributor/vnfd_template_description.html
redirectmatch 301 ^/tacker/([^/]+)/devref/vnffg_usage_guide.html$ ^/tacker/$1/user/vnffg_usage_guide.html
redirectmatch 301 ^/tacker/([^/]+)/devref/api_extensions.html$ ^/tacker/$1/contributor/api/api_extensions.html
redirectmatch 301 ^/tacker/([^/]+)/devref/api_layer.html$ ^/tacker/$1/contributor/api/api_layer.html
redirectmatch 301 ^/tacker/([^/]+)/devref/mano_api.html$ ^/tacker/$1/contributor/api/mano_api.html
redirectmatch 301 ^/tacker/([^/]+)/devref/dashboards.html$ ^/tacker/$1/contributor/dashboards.html
redirectmatch 301 ^/tacker/([^/]+)/devref/development.environment.html$ ^/tacker/$1/contributor/development.environment.html
redirectmatch 301 ^/tacker/([^/]+)/devref/encrypt_vim_auth_with_barbican.html$ ^/tacker/$1/contributor/encrypt_vim_auth_with_barbican.html
redirectmatch 301 ^/tacker/([^/]+)/devref/event_logging.html$ ^/tacker/$1/contributor/event_logging.html
redirectmatch 301 ^/tacker/([^/]+)/devref/monitor-api.html$ ^/tacker/$1/contributor/monitor-api.html
redirectmatch 301 ^/tacker/([^/]+)/devref/policy_actions_framework.html$ ^/tacker/$1/contributor/policy_actions_framework.html
redirectmatch 301 ^/tacker/([^/]+)/devref/tacker_conductor.html$ ^/tacker/$1/contributor/tacker_conductor.html
redirectmatch 301 ^/tacker/([^/]+)/devref/tacker_functional_test.html$ ^/tacker/$1/contributor/tacker_functional_test.html
redirectmatch 301 ^/tacker/([^/]+)/devref/tacker_vim_monitoring.html$ ^/tacker/$1/contributor/tacker_vim_monitoring.html
redirectmatch 301 ^/tacker/([^/]+)/devref/vnfd_template_parameterization.html$ ^/tacker/$1/contributor/vnfd_template_parameterization.html
redirectmatch 301 ^/tacker/([^/]+)/devref/vnffgd_template_description.html$ ^/tacker/$1/contributor/vnffgd_template_description.html
redirectmatch 301 ^/tacker/([^/]+)/devref/vnfm_usage_guide.html$ ^/tacker/$1/user/vnfm_usage_guide.html
redirectmatch 301 ^/tacker/([^/]+)/policies/dev-process.html$ ^/tacker/$1/contributor/dev-process.html
redirectmatch 301 ^/tacker/([^/]+)/devref/alarm_monitoring_usage_guide.html$ ^/tacker/$1/user/alarm_monitoring_usage_guide.html
redirectmatch 301 ^/tacker/([^/]+)/devref/enhanced_placement_awareness_usage_guide.html$ ^/tacker/$1/user/enhanced_placement_awareness_usage_guide.html
redirectmatch 301 ^/tacker/([^/]+)/devref/multisite_vim_usage_guide.html$ ^/tacker/$1/user/multisite_vim_usage_guide.html
redirectmatch 301 ^/tacker/([^/]+)/devref/nsd_usage_guide.html$ ^/tacker/$1/user/nsd_usage_guide.html
redirectmatch 301 ^/tacker/([^/]+)/devref/scale_usage_guide.html$ ^/tacker/$1/user/scale_usage_guide.html
redirectmatch 301 ^/tacker/([^/]+)/devref/vnf_component_usage_guide.html$ ^/tacker/$1/user/vnf_component_usage_guide.html

View File

@ -24,54 +24,83 @@ The following list covers the commands for Tacker services available in
These commands can be referenced by doing **openstack help** and the detail
of individual command can be referred by **openstack help <command-name>**.
.. warning::
Legacy commands excluding VIM feature are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
.. code-block:: console
openstack vnf create Create a VNF.
openstack vnf delete Delete given VNF(s).
openstack vnf list List VNF(s) that belong to a given tenant.
openstack vnf resource list List resources of a VNF like VDU, CP, etc.
openstack vnf scale Scale a VNF.
openstack vnf show Show information of a given VNF.
openstack vnf set Update a given VNF.
openstack vnf descriptor create Create a VNFD.
openstack vnf descriptor delete Delete given VNFD(s).
openstack vnf descriptor list List VNFD(s) that belong to a given tenant.
openstack vnf descriptor show Show information of a given VNFD.
openstack vnf descriptor template show Show template of a given VNFD.
openstack vim list List VIM(s) that belong to a given tenant.
openstack vim register Create a VIM.
openstack vim show Show information of a given VIM.
openstack vim set Update a given VIM.
openstack vim delete Delete given VIM(s).
openstack ns create Create a NS.
openstack ns delete Delete given NS(s).
openstack ns list List NS that belong to a given tenant.
openstack ns show Show information of a given NS.
openstack ns descriptor create Create a NSD.
openstack ns descriptor delete Delete a given NSD.
openstack ns descriptor list List NSD(s) that belong to a given tenant.
openstack ns descriptor show Show information of a given NSD.
openstack ns descriptor template show Show template of a given NSD.
openstack vnf graph create Create a VNFFG.
openstack vnf graph delete Delete a given VNFFG.
openstack vnf graph list List VNFFG(s) that belong to a given tenant.
openstack vnf graph show Show information of a given VNFFG.
openstack vnf graph set Update a given VNFFG.
openstack vnf graph descriptor create Create a VNFFGD.
openstack vnf graph descriptor delete Delete a given VNFFGD.
openstack vnf graph descriptor list List VNFFGD(s) that belong to a given tenant.
openstack vnf graph descriptor show Show information of a given VNFFGD.
openstack vnf graph descriptor template show Show template of a given VNFFGD.
openstack vnf chain list List SFC(s) that belong to a given tenant.
openstack vnf chain show Show information of a given SFC.
openstack vnf classifier list List FC(s) that belong to a given tenant.
openstack vnf classifier show Show information of a given FC.
openstack vnf network forwarding path list List NFP(s) that belong to a given tenant.
openstack vnf network forwarding path show Show information of a given NFP.
openstack nfv event show Show event given the event id.
openstack nfv event list List events of resources.
[legacy]
openstack vim delete Delete given VIM(s).
openstack vim list List VIM(s) in a given tenant.
openstack vim register Create a VIM.
openstack vim set Update a given VIM.
openstack vim show Show information of a given VIM.
[v1] --os-tacker-api-version 1
openstack vnf package artifact download Download VNF package artifact.
openstack vnf package create Create a new VNF Package.
openstack vnf package delete Delete VNF Package.
openstack vnf package download Download VNF package.
openstack vnf package list List VNF Packages.
openstack vnf package show Show VNF Package Details.
openstack vnf package update Update a VNF package.
openstack vnf package upload Upload VNF Package.
openstack vnflcm change-ext-conn Change External VNF Connectivity.
openstack vnflcm create Create a new VNF Instance.
openstack vnflcm delete Delete VNF Instance(s).
openstack vnflcm heal Heal VNF Instance.
openstack vnflcm instantiate Instantiate a VNF Instance.
openstack vnflcm list List VNF Instance.
openstack vnflcm op cancel Cancel VNF Instance.
openstack vnflcm op fail Fail VNF Instance.
openstack vnflcm op list List LCM Operation Occurrences.
openstack vnflcm op retry Retry VNF Instance.
openstack vnflcm op rollback Rollback VNF Instance.
openstack vnflcm op show Display Operation Occurrence details.
openstack vnflcm scale Scale a VNF Instance.
openstack vnflcm show Display VNF instance details.
openstack vnflcm subsc create Create a new Lccn Subscription.
openstack vnflcm subsc delete Delete Lccn Subscription(s).
openstack vnflcm subsc list List Lccn Subscriptions.
openstack vnflcm subsc show Display Lccn Subscription details.
openstack vnflcm terminate Terminate a VNF instance.
openstack vnflcm update Update VNF Instance.
openstack vnflcm versions Show VnfLcm Api versions.
[v2] --os-tacker-api-version 2
openstack vnflcm change-ext-conn Change External VNF Connectivity.
openstack vnflcm change-vnfpkg Change Current VNF Package.
openstack vnflcm create Create a new VNF Instance.
openstack vnflcm delete Delete VNF Instance(s)
openstack vnflcm heal Heal VNF Instance
openstack vnflcm instantiate Instantiate a VNF Instance.
openstack vnflcm list List VNF Instance.
openstack vnflcm op fail Fail VNF Instance.
openstack vnflcm op list List LCM Operation Occurrences.
openstack vnflcm op retry Retry VNF Instance.
openstack vnflcm op rollback Rollback VNF Instance.
openstack vnflcm op show Display Operation Occurrence details.
openstack vnflcm scale Scale a VNF Instance.
openstack vnflcm show Display VNF instance details.
openstack vnflcm subsc create Create a new Lccn Subscription.
openstack vnflcm subsc delete Delete Lccn Subscription(s).
openstack vnflcm subsc list List Lccn Subscriptions.
openstack vnflcm subsc show Display Lccn Subscription details.
openstack vnflcm terminate Terminate a VNF instance.
openstack vnflcm update Update VNF Instance.
openstack vnflcm versions Show VnfLcm Api versions.
openstack vnffm alarm listn List VNF FM alarms.
openstack vnffm alarm show Display VNF FM alarm details.
openstack vnffm alarm update Update a VNF FM alarm information.
openstack vnffm sub create Create a new VNF FM subscription.
openstack vnffm sub delete Delete VNF FM subscription(s).
openstack vnffm sub list List VNF FM subs.
openstack vnffm sub show Display VNF FM subscription details.
openstack vnfpm job create Create a new VNF PM job.
openstack vnfpm job delete Delete VNF PM job.
openstack vnfpm job list List VNF PM jobs.
openstack vnfpm job show Display VNF PM job details.
openstack vnfpm job update Update a VNF PM job information.
openstack vnfpm report show Display VNF PM report details.
openstack vnfpm threshold create Create a new VNF PM threshold.
openstack vnfpm threshold delete Delete VNF PM threshold.
openstack vnfpm threshold list List VNF PM thresholds.
openstack vnfpm threshold show Display VNF PM threshold details.
openstack vnfpm threshold update Update a VNF PM threshold information.

View File

@ -1,123 +0,0 @@
================
Event Management
================
.. warning::
Event Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
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

View File

@ -1,144 +0,0 @@
==========================
Flow Classifier Management
==========================
.. warning::
Flow Classifier Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
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

View File

@ -1,141 +0,0 @@
==================================
Network Forwarding Path Management
==================================
.. warning::
Network Forwarding Path Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
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

View File

@ -1,417 +0,0 @@
=====================================
Network Service Descriptor Management
=====================================
.. warning::
Network Service Descriptor Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
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

View File

@ -1,147 +0,0 @@
=======================================
Service Function Chain (SFC) Management
=======================================
.. warning::
Service Function Chain (SFC) Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
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

View File

@ -1,939 +0,0 @@
==============
VNF Management
==============
.. warning::
VNF Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
.. 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.5.2-x86_64-disk", |
| | "mgmt_driver": "noop" |
| | }, |
| | "type": "tosca.nodes.nfv.VDU.Tacker" |
| | }, |
| | "VDU2": { |
| | "properties": { |
| | "availability_zone": "nova", |
| | "flavor": "m1.tiny", |
| | "image": "cirros-0.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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.5.2-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

View File

@ -1,575 +0,0 @@
================================
VNF Descriptor (VNFD) Management
================================
.. warning::
VNF Descriptor (VNFD) Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
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.5.2-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.5.2-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.5.2-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

View File

@ -1,578 +0,0 @@
=======================================
VNF Forwarding Graph (VNFFG) Management
=======================================
.. warning::
VNF Forwarding Graph (VNFFG) Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
.. 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.5.2-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

View File

@ -1,465 +0,0 @@
===================================================
VNF Forwarding Graph Descriptor (VNFFGD) Management
===================================================
.. warning::
VNF Forwarding Graph Descriptor (VNFFGD) Management commands are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
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

View File

@ -31,31 +31,10 @@ Operations for ETSI NFV-SOL implementation
Operations for Legacy implementation
------------------------------------
.. warning::
Legacy CLI excluding VIM feature are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
.. 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
----------------

View File

@ -88,10 +88,6 @@ html_theme = 'openstackdocs'
# Output file base name for HTML help builder.
htmlhelp_basename = '%sdoc' % project
# Add any paths that contain "extra" files, such as .htaccess or
# robots.txt.
html_extra_path = ['_extra']
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass
# [howto/manual]).

View File

@ -1,219 +0,0 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
Tacker Resource Events Usage Guide
==================================
.. warning::
Legacy Tacker features excluding VIM feature are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
Overview
--------
OpenStack Tacker supports capturing resource event information when the
tacker resources undergo create, update, delete, scale and monitor
operations. This information becomes useful to an admin for audit purposes.
Tacker Resources Supporting Events
----------------------------------
As of Newton release, events information is captured for below:
- VNF
- VNFD
- VIM
Tacker Supported Event Types
----------------------------
Below are the event types that are currently supported:
- CREATE
- DELETE
- MONITOR
- SCALE
- UPDATE
The above can be used as filters when listing events using tacker client.
Accessing Events
----------------
Tacker supports display of events to an end user via
- Horizon UI - a separate events tab per resource displays associated events.
- OpenStackClient CLI - supports below commands:
- openstack nfv event show: Show detailed info for a given event ID.
- openstack nfv event list: Lists all events for all resources.
NOTE: For more details on the syntax of these CLIs, refer to
`OpenStackClient CLI reference guide <https://docs.openstack.org/tacker/latest/admin/index.html>`_
OpenStackClient CLI Usage Examples to Access Resource Lifecycle Events
----------------------------------------------------------------------
1. The following command displays all the state transitions that occurred on
a long running VNF. The sample output illustrates a VNF that has
successfully gone through a scale out operation. Note, the <VNF Resource ID>
here is VNF's uuid.
.. code-block:: console
openstack nfv event list --resource-id <VNF Resource ID>
+----+---------------+-------------------+-------------------+------------+-------------------+---------------------+
| ID | Resource Type | Resource ID | Resource State | Event Type | Timestamp | Event Details |
+----+---------------+-------------------+-------------------+------------+-------------------+---------------------+
| 13 | vnf | 9dd7b2f1-e91e-418 | PENDING_CREATE | CREATE | 2016-09-21 | VNF UUID assigned. |
| | | 3-bcbe- | | | 20:12:37 | |
| | | 34b80bdb18fb | | | | |
| 14 | vnf | 9dd7b2f1-e91e-418 | PENDING_CREATE | CREATE | 2016-09-21 | Infra Instance ID |
| | | 3-bcbe- | | | 20:13:09 | created: 3bd369e4-9 |
| | | 34b80bdb18fb | | | | ee3-4e58-86e3-8acbb |
| | | | | | | dccedb5 and Mgmt |
| | | | | | | URL set: {"VDU1": |
| | | | | | | ["10.0.0.9", |
| | | | | | | "10.0.0.2"], |
| | | | | | | "VDU2": |
| | | | | | | ["10.0.0.4", |
| | | | | | | "10.0.0.5"]} |
| 15 | vnf | 9dd7b2f1-e91e-418 | ACTIVE | CREATE | 2016-09-21 | VNF status updated |
| | | 3-bcbe- | | | 20:13:09 | |
| | | 34b80bdb18fb | | | | |
| 16 | vnf | 9dd7b2f1-e91e-418 | PENDING_SCALE_OUT | SCALE | 2016-09-21 | |
| | | 3-bcbe- | | | 20:23:58 | |
| | | 34b80bdb18fb | | | | |
| 17 | vnf | 9dd7b2f1-e91e-418 | ACTIVE | SCALE | 2016-09-21 | |
| | | 3-bcbe- | | | 20:24:45 | |
| | | 34b80bdb18fb | | | | |
+----+---------------+-------------------+-------------------+------------+-------------------+---------------------+
2. The following command displays any reachability issues related to a VIM
site. The sample output illustrates a VIM that is reachable. Note, the
<VIM Resource ID> here is a VIM uuid.
.. code-block:: console
openstack nfv event list --resource-id <VIM Resource ID>
+----+---------------+---------------------+----------------+------------+---------------------+---------------+
| ID | Resource Type | Resource ID | Resource State | Event Type | Timestamp | Event Details |
+----+---------------+---------------------+----------------+------------+---------------------+---------------+
| 1 | vim | d8c11a53-876c-454a- | PENDING | CREATE | 2016-09-20 23:07:42 | |
| | | bad1-cb13ad057595 | | | | |
| 2 | vim | d8c11a53-876c-454a- | REACHABLE | MONITOR | 2016-09-20 23:07:42 | |
| | | bad1-cb13ad057595 | | | | |
+----+---------------+---------------------+----------------+------------+---------------------+---------------+
Miscellaneous Events Command Examples:
--------------------------------------
1. List all events for all resources from the beginning
.. code-block:: console
openstack nfv event list
+----+---------------+-----------------+----------------+------------+-----------------+-----------------+
| ID | Resource Type | Resource ID | Resource State | Event Type | Timestamp | Event Details |
+----+---------------+-----------------+----------------+------------+-----------------+-----------------+
| 1 | vim | c89e5d9d-6d55-4 | PENDING | CREATE | 2016-09-10 | |
| | | db1-bd67-30982f | | | 20:32:46 | |
| | | 01133e | | | | |
| 2 | vim | c89e5d9d-6d55-4 | REACHABLE | MONITOR | 2016-09-10 | |
| | | db1-bd67-30982f | | | 20:32:46 | |
| | | 01133e | | | | |
| 3 | vnfd | afc0c662-5117-4 | Not Applicable | CREATE | 2016-09-14 | |
| | | 7a7-8088-02e9f8 | | | 05:17:30 | |
| | | a3532b | | | | |
| 4 | vnf | 52adaae4-36b5 | PENDING_CREATE | CREATE | 2016-09-14 | VNF UUID |
| | | -41cf-acb5-32ab | | | 17:49:24 | assigned. |
| | | 8c109265 | | | | |
| 5 | vnf | 52adaae4-36b5 | PENDING_CREATE | CREATE | 2016-09-14 | Infra Instance |
| | | -41cf-acb5-32ab | | | 17:49:51 | ID created: |
| | | 8c109265 | | | | 046dcb04-318d-4 |
| | | | | | | ec9-8a23-19d9c1 |
| | | | | | | f8c21d and Mgmt |
| | | | | | | URL set: |
| | | | | | | {"VDU1": "192.1 |
| | | | | | | 68.120.8"} |
| 6 | vnf | 52adaae4-36b5 | ACTIVE | CREATE | 2016-09-14 | VNF status |
| | | -41cf-acb5-32ab | | | 17:49:51 | updated |
| | | 8c109265 | | | | |
+----+---------------+-----------------+----------------+------------+-----------------+-----------------+
2. List all events for all resources given a certain event type
.. code-block:: console
openstack nfv event list --event-type CREATE
+----+---------------+-----------------+----------------+------------+-----------------+-----------------+
| ID | Resource Type | Resource ID | Resource State | Event Type | Timestamp | Event Details |
+----+---------------+-----------------+----------------+------------+-----------------+-----------------+
| 1 | vim | c89e5d9d-6d55-4 | PENDING | CREATE | 2016-09-10 | |
| | | db1-bd67-30982f | | | 20:32:46 | |
| | | 01133e | | | | |
| 3 | vnfd | afc0c662-5117-4 | ACTIVE | CREATE | 2016-09-14 | |
| | | 7a7-8088-02e9f8 | | | 05:17:30 | |
| | | a3532b | | | | |
| 4 | vnf | 52adaae4-36b5 | PENDING_CREATE | CREATE | 2016-09-14 | VNF UUID |
| | | -41cf-acb5-32ab | | | 17:49:24 | assigned. |
| | | 8c109265 | | | | |
| 5 | vnf | 52adaae4-36b5 | PENDING_CREATE | CREATE | 2016-09-14 | Infra Instance |
| | | -41cf-acb5-32ab | | | 17:49:51 | ID created: |
| | | 8c109265 | | | | 046dcb04-318d-4 |
| | | | | | | ec9-8a23-19d9c1 |
| | | | | | | f8c21d and Mgmt |
| | | | | | | URL set: |
| | | | | | | {"VDU1": "192.1 |
| | | | | | | 68.120.8"} |
| 6 | vnf | 52adaae4-36b5 | ACTIVE | CREATE | 2016-09-14 | VNF status |
| | | -41cf-acb5-32ab | | | 17:49:51 | updated |
| | | 8c109265 | | | | |
+----+---------------+-----------------+----------------+------------+-----------------+-----------------+
3. List details for a specific event
.. code-block:: console
openstack nfv event show 5
+----------------+------------------------------------------------------------------------------------------+
| Field | Value |
+----------------+------------------------------------------------------------------------------------------+
| event_details | Infra Instance ID created: 046dcb04-318d-4ec9-8a23-19d9c1f8c21d and Mgmt IP address set: |
| | {"VDU1": "192.168.120.8"} |
| event_type | CREATE |
| id | 5 |
| resource_id | 52adaae4-36b5-41cf-acb5-32ab8c109265 |
| resource_state | PENDING_CREATE |
| resource_type | vnf |
| timestamp | 2016-09-14 17:49:51 |
+----------------+------------------------------------------------------------------------------------------+
Note for Tacker Developers
--------------------------
If as a developer, you are creating new resources and would like to capture
event information for resource operations such as create, update, delete,
scale and monitor, you would need to :
- Import the module tacker.db.common_services.common_services_db to use the
create_event() method for logging events.
- Make edits in the file tacker/plugins/common/constants.py if you would need
to create new event types.

View File

@ -1,159 +0,0 @@
Tacker Monitoring Framework
============================
.. warning::
Legacy Tacker features excluding VIM feature are deprecated
and will be removed in the first major release after the Tacker server
version 9.0.0 (2023.1 Antelope release).
This section will introduce tacker monitoring framework and describes the
various actions that a user can take when a specific event occurs.
* Introduction
* How to write a new monitor driver
* Events
* Actions
* How to write TOSCA template to monitor VNF entities
Introduction
-------------
Tacker monitoring framework provides the NFV operators and VNF vendors to
write a pluggable driver that monitors the various status conditions of the
VNF entities it deploys and manages.
How to write a new monitor driver
----------------------------------
A monitor driver for tacker is a python module which contains a class that
inherits from
"tacker.vnfm.monitor_drivers.abstract_driver.VNFMonitorAbstractDriver". If the
driver depends/imports more than one module, then create a new python package