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:
parent
73b41001a5
commit
ccb8dadb55
@ -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
|
@ -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
|
@ -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
|
@ -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
|
||||
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
@ -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"
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -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"
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -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"
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
@ -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",
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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",
|
||||
}
|
||||
]
|
||||
}
|
@ -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",
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"vnfd": {
|
||||
"name": "vnfd-sample-updated",
|
||||
"description": "Updated sample"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"scale": {
|
||||
"policy": "SP1",
|
||||
"type": "out"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"scale": {
|
||||
"policy": "SP1",
|
||||
"type": "out"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"vnf": {
|
||||
"attributes": {
|
||||
"force": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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"}}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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"
|
||||
}
|
||||
}
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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}
|
||||
|
@ -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
|
@ -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.
|
||||
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
||||
----------------
|
||||
|
@ -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]).
|
||||
|
@ -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.
|
@ -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
|
||||