Merge "Update User Guide"

This commit is contained in:
Zuul 2021-07-26 17:18:15 +00:00 committed by Gerrit Code Review
commit f49e232126
25 changed files with 434 additions and 388 deletions

View File

@ -14,7 +14,7 @@ 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
Tacker Resources Supporting Events
----------------------------------
As of Newton release, events information is captured for below:
@ -24,7 +24,7 @@ As of Newton release, events information is captured for below:
- VIM
Tacker supported event types
Tacker Supported Event Types
----------------------------
Below are the event types that are currently supported:
@ -54,7 +54,7 @@ Tacker supports display of events to an end user via
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
OpenStackClient CLI Usage Examples to Access Resource Lifecycle Events
----------------------------------------------------------------------
1. The following command displays all the state transitions that occurred on
@ -111,7 +111,7 @@ site. The sample output illustrates a VIM that is reachable. Note, the
+----+---------------+---------------------+----------------+------------+---------------------+---------------+
Miscellaneous events command examples:
Miscellaneous Events Command Examples:
--------------------------------------
1. List all events for all resources from the beginning
@ -200,7 +200,7 @@ Miscellaneous events command examples:
+----------------+------------------------------------------------------------------------------------------+
Note for Tacker developers
Note for Tacker Developers
--------------------------
If as a developer, you are creating new resources and would like to capture

View File

@ -1,70 +0,0 @@
..
Copyright 2014-2015 OpenStack Foundation
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
================
Tacker conductor
================
Tacker conductor is a component which is used to communicate with other
components via message RPC. In the conductor, the RPC server sides can
access the tacker base on behalf of them.
To start
==============
Tacker conductor can be started via python console entry script
'tacker-conductor':
.. code-block:: console
tacker-conductor --config-file /etc/tacker/tacker.conf
..
we can easily start many tacker-conductor instances with different 'host' value
in the configuration file:
.. code-block:: console
test@ubuntu64:~/devstack$ grep 'host = secondinstance' /etc/tacker/tacker2.conf
host = secondinstance
..
and then start the second instance:
.. code-block:: console
tacker-conductor --config-file /etc/tacker/tacker2.conf
..
Rabbitmq queues
===============
Tacker conductor is listening on three queues:
.. code-block:: console
test@ubuntu64:~/tacker$ sudo rabbitmqctl list_queues | grep CONDUCTOR
TACKER_CONDUCTOR 0
TACKER_CONDUCTOR.ubuntu64 0
TACKER_CONDUCTOR_fanout_0ea005c0b666488485a7b3689eb70168 0
..
But only TACKER_CONDUCTOR queue without host suffix is used.

View File

@ -1,5 +1,5 @@
VNF Descriptor Template Guide
=============================
VNF Descriptor (VNFD) Template Guide
====================================
Overview
--------
@ -44,7 +44,7 @@ Each VNFD template will have below fields:
For examples, please refer sample VNFD templates available at `GitHub <https:
//github.com/openstack/tacker/tree/master/samples/tosca-templates/vnfd>`_.
Node types
Node Types
----------
A VNF includes **VDU/s**, **connection point/s** and **virtual link/s**. Hence
a valid VNFD must have these 3 components. Each component is referred as a
@ -69,7 +69,7 @@ network function.
lib/tacker_nfv_defs.yaml>`_ under **properties** section of
**tosca.nodes.nfv.VDU.Tacker** field
Specifying VDU properties
Specifying VDU Properties
^^^^^^^^^^^^^^^^^^^^^^^^^
A very simple VDU with 10 GB disk, 2 GB RAM, 2 CPUs, cirros image and in nova
availability zone can be described as:
@ -90,7 +90,7 @@ availability zone can be described as:
mem_size: 2048 MB
num_cpus: 2
Using Nova flavors for VDU
Using Nova Flavors for VDU
^^^^^^^^^^^^^^^^^^^^^^^^^^
OpenStack specific **flavors** can also be used to describe VDU configuration.
@ -150,7 +150,7 @@ monitoring. The VDUs can be re-spawned in case of failure. See
actions:
failure: respawn
Providing user data
Providing User Data
"""""""""""""""""""
Custom commands to be run on VDU once it is spawned can be specified in a VNFD
template as user data.
@ -173,7 +173,7 @@ section in VNFD template. A sample template configuring a VDU as a firewall
can be viewed in a `sample file <https://opendev.org/openstack/tacker/src/branch/
master/samples/tosca-templates/vnfd/tosca-config-openwrt-firewall.yaml>`_.
Specifying external image
Specifying External Image
"""""""""""""""""""""""""
:artifacts:
To specify an image via a file or an external link
@ -296,7 +296,7 @@ This describes the granular CPU allocation requirements for VDUs.
|thread_count |Integer| None |Number of threads per core |
+-----------------+-------+------------+-------------------------------------+
NUMA architecture
NUMA Architecture
"""""""""""""""""
Following code snippet describes symmetric NUMA topology requirements for VDUs.
@ -547,7 +547,7 @@ An example of assign floating ip to VDU
| |.network.Linkable |.network.LinksTo |to connect to |
+------+-------------------+--------------------+-------------------+
Multiple nodes
Multiple Nodes
--------------
Multiple node types can be defined in a VNFD.

View File

@ -1,5 +1,5 @@
VNFD Template Parameterization
==============================
VNF Descriptor (VNFD) Template Parameterization
===============================================
Overview
--------
@ -13,7 +13,7 @@ non-parameterized template that has fixed IP addresses specified for network
interface a second time without deleting the first instance of VNF would lead
to an error.
Non-parameterized VNFD template
Non-parameterized VNFD Template
-------------------------------
Find below an example of a non-parameterized VNFD where the text italicized
@ -97,7 +97,7 @@ Here is the sample template:
vendor: Tacker
Parameterized VNFD template
Parameterized VNFD Template
---------------------------
This section will walk through parameterizing the template in above section
for re-use and allow for deploying multiple VNFs with the same template.
@ -228,7 +228,7 @@ Here is the sample template:
vendor: {get_input: vendor}
Parameter values file at VNF deploy
Parameter Values File at VNF Deploy
-----------------------------------
The below illustrates the parameters value file to be supplied containing the
values to be substituted for the above parameterized template above during

View File

@ -1,5 +1,5 @@
VNFFG Descriptor Template Guide
===============================
VNF Forwarding Graph Descriptor (VNFFGD) Template Guide
=======================================================
Overview
--------
@ -9,7 +9,7 @@ on TOSCA standards V1.0 [#f1]_.
For VNFFG usage, please refer to the document available at [#f6]_.
The behavioural and deployment information of a VNFFG in Tacker is defined in a
template known as VNFFG Descriptor (VNFFGD). The template is based on TOSCA
template known as VNFFGD. The template is based on TOSCA
standards and is written in YAML. It is on-boarded in a VNFFG catalog.
Each VNFFGD template will have below fields:
@ -45,7 +45,7 @@ Each VNFFGD template will have below fields:
For examples, please refer sample VNFFGD templates available at GitHub [#f2]_.
Node types
Node Types
----------
For Tacker purposes a VNFFGD only includes **Forwarding Path**. In a full
Network Services Descriptor (NSD), it would include information about each
@ -68,7 +68,7 @@ through a set of VNFs.
supported by Tacker are listed here [#f3]_ under **properties** section of
**tosca.nodes.nfv.FP.TackerV2** field.
Specifying FP properties
Specifying FP Properties
^^^^^^^^^^^^^^^^^^^^^^^^
An example FP shown below:
@ -180,7 +180,7 @@ section.
A list of Forwarding Paths which belong to this VNFFG. At the moment
only one is supported.
Specifying VNFFG properties and members
Specifying VNFFG Properties and Members
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An example VNFFG shown below:

View File

@ -1,177 +0,0 @@
..
Copyright 2014-2015 OpenStack Foundation
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
========================
Deploying OpenWRT as VNF
========================
Once the tacker is installed successfully, follow the steps given below to
deploy OpenWRT as VNF:
#. Ensure Glance already contains OpenWRT image.
If the tacker is installed using devstack, it tries to add the OpenWRT image
to Glance during installation.
Make sure that the OpenWRT image has been successfully added to Glance by
running following command:
``openstack image list``
.. code-block:: console
:emphasize-lines: 5
$ openstack image list
+--------------------------------------+--------------------------+--------+
| ID | Name | Status |
+--------------------------------------+--------------------------+--------+
| 8cc2aaa8-5218-49e7-9a57-ddb97dc68d98 | OpenWRT | active |
| 32f875b0-9e24-4971-b82d-84d6ec620136 | cirros-0.4.0-x86_64-disk | active |
| ab0abeb8-f73c-467b-9743-b17083c02093 | cirros-0.5.1-x86_64-disk | active |
+--------------------------------------+--------------------------+--------+
If OpenWRT image does not exist in the output of ``openstack image list``,
you can get the customized image of OpenWRT 15.05.1 in your tacker repository,
or download the image from [#f1]_.
After downloading the image file, execute following steps:
* First Unzip it by using following commands:
.. code-block:: console
$ cd /path/to/tacker/samples/images/
$ gunzip openwrt-x86-kvm_guest-combined-ext4.img.gz
* Then upload the image into Glance by using following command:
.. code-block:: console
$ openstack image create OpenWRT --disk-format qcow2 \
--container-format bare \
--file /path/to/openwrt-x86-kvm_guest-combined-ext4.img \
--public
#. Configure OpenWRT
The example below shows how to create the OpenWRT-based Firewall VNF.
We have a yaml template which contains the configuration of OpenWRT as
shown below:
*tosca-vnfd-openwrt.yaml* [#f2]_
.. literalinclude:: ../../../samples/tosca-templates/vnfd/tosca-vnfd-openwrt.yaml
:language: yaml
We also have another configuration yaml template with some firewall
rules of OpenWRT.
*tosca-config-openwrt-firewall.yaml* [#f3]_
.. literalinclude:: ../../../samples/tosca-templates/vnfd/tosca-config-openwrt-firewall.yaml
:language: yaml
In this template file, we specify the ``mgmt_driver: openwrt``, which means
this VNFD is managed by openwrt driver [#f4]_.
This driver can inject firewall rules defined in VNFD to OpenWRT instance
by using SSH protocol.
We can run ``cat /etc/config/firewall`` to confirm if firewall rules are
injected successfully.
#. Create a sample vnfd
.. code-block:: console
$ openstack vnf descriptor create \
--vnfd-file tosca-vnfd-openwrt.yaml <VNFD_NAME>
#. Create a VNF
.. code-block:: console
$ openstack vnf create --vnfd-name <VNFD_NAME> \
--config-file tosca-config-openwrt-firewall.yaml <NAME>
#. Check the status
.. code-block:: console
$ openstack vnf list
$ openstack vnf show <VNF_ID>
We can replace the configuration files containing firewall rules with
tosca-config-openwrt-vrouter.yaml [#f5]_, tosca-config-openwrt-dnsmasq.yaml
[#f6]_, or tosca-config-openwrt-qos.yaml [#f7]_ to deploy the router, DHCP,
DNS, or QoS VNFs.
The OpenWRT VNFM management driver will follow same way to inject the
desired service rules into the OpenWRT instance.
We can run the following commands to check if firewall rules are
injected successfully or not:
.. code-block:: console
$ cat /etc/config/network # to check vrouter.
$ cat /etc/config/dhcp # to check DHCP and DNS.
$ cat /etc/config/qos # to check the QoS rules.
#. Notes
#. OpenWRT user and password
The user account is 'root' and password is '', which means there is no
password for root account.
#. Procedure to customize the OpenWRT image
The OpenWRT is modified based on KVM OpenWRT 15.05.1 to be suitable
for Tacker. Following is the procedure:
.. code-block:: console
$ cd ~
$ wget https://archive.openwrt.org/chaos_calmer/15.05.1/x86/kvm_guest/openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz \
-O openwrt-x86-kvm_guest-combined-ext4.img.gz
$ gunzip openwrt-x86-kvm_guest-combined-ext4.img.gz
$ mkdir -p imgroot
$ sudo kpartx -av openwrt-x86-kvm_guest-combined-ext4.img
# Replace the loopXp2 with the result of above command, e.g., loop0p2
$ sudo mount -o loop /dev/mapper/loopXp2 imgroot
$ sudo chroot imgroot /bin/ash
# Set password of this image to blank, type follow command and then enter two times
$ passwd
# Set DHCP for the network of OpenWRT so that the VNF can be ping
$ uci set network.lan.proto=dhcp; uci commit
$ exit
$ sudo umount imgroot
$ sudo kpartx -dv openwrt-x86-kvm_guest-combined-ext4.img
.. rubric:: Footnotes
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/images/openwrt-x86-kvm_guest-combined-ext4.img.gz
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-vnfd-openwrt.yaml
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-config-openwrt-firewall.yaml
.. [#] https://opendev.org/openstack/tacker/src/branch/master/tacker/vnfm/mgmt_drivers/openwrt/openwrt.py
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-config-openwrt-vrouter.yaml
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-config-openwrt-dnsmasq.yaml
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-config-openwrt-qos.yaml

View File

@ -14,15 +14,15 @@
License for the specific language governing permissions and limitations
under the License.
===============
Getting Started
===============
==================================
Getting Started with Legacy Tacker
==================================
Once Tacker is installed successfully, follow the steps given below to get
started with Tacker and validate the installation.
Registering default OpenStack VIM
Registering Default OpenStack VIM
---------------------------------
#. Get one account on the OpenStack VIM
@ -31,14 +31,14 @@ Registering default OpenStack VIM
is also called as VIM. Get one account on your OpenStack, such as ``admin``
if you deploy your OpenStack via devstack. Here is an example of a user
named as ``nfv_user`` and has a project ``nfv`` on OpenStack for
VIM configuration. It is described in ``vim_config.yaml`` [1]_:
VIM configuration. It is described in ``vim_config.yaml`` [#f1]_:
.. literalinclude:: ../../../samples/vim/vim_config.yaml
:language: yaml
.. note::
In Keystone, port ``5000`` is enabled for authentication service [2]_,
In Keystone, port ``5000`` is enabled for authentication service [#f2]_,
so the end users can use ``auth_url: 'http://127.0.0.1:5000/v3'`` instead
of ``auth_url: 'http://127.0.0.1/identity'`` as above mention.
@ -57,7 +57,7 @@ Registering default OpenStack VIM
--description 'my first vim' --is-default hellovim
Onboarding sample VNF
Onboarding Sample VNF
---------------------
#. Create a ``sample-vnfd.yaml`` file with the following template
@ -109,7 +109,7 @@ Onboarding sample VNF
.. note::
You can find several samples of tosca template for VNFD at [3]_.
You can find several samples of tosca template for VNFD at [#f3]_.
#. Create a sample VNFD
@ -146,6 +146,8 @@ Onboarding sample VNF
References
----------
.. [1] https://opendev.org/openstack/tacker/src/branch/master/samples/vim/vim_config.yaml
.. [2] https://docs.openstack.org/keystoneauth/latest/using-sessions.html#sessions-for-users
.. [3] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd
.. rubric:: Footnotes
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/vim/vim_config.yaml
.. [#] https://docs.openstack.org/keystoneauth/latest/using-sessions.html#sessions-for-users
.. [#] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd

View File

@ -1,5 +1,5 @@
===================
Tacker architecture
Tacker Architecture
===================
Tacker design can be described by the following diagram:
@ -50,8 +50,8 @@ NFV-SOL based API operations and communicates with OpenStack or Kubernetes
VIM by the infra drivers. Heat client or Kubernetes python client provides the
IF to operate or manage resources for each VIM.
ETSI NFV-SOL based implementation
---------------------------------
ETSI NFV-SOL Tacker Implementation
----------------------------------
Tacker ETSI NFV-SOL based implementation is described as the following:
@ -84,8 +84,8 @@ available.
.. note:: VIM related operations such as "Register VIM" and "Update VIM" are
not defined in ETSI NFV-SOL. Users may need to use legacy Tacker.
Legacy implementation
---------------------
Legacy Tacker Implementation
----------------------------
Legacy Tacker implementation is described as the following:

View File

@ -16,6 +16,8 @@
A Use Case of VNFFG Update
==========================
.. TODO(h-asahina): check this use case still works.
This guide walks you through a specific usecase in which you can leverage
the Zabbix monitoring software to create a dynamic VNF Forwarding Graph
(VNFFG) or Service Function Chaining (SFC). You can check out the video
@ -190,9 +192,8 @@ Zabbix agent to the devstack VM.
After the VNF instance has been deployed successfully, SSH to it and
configure as in [#f6]_.
- The second one is OpenWrt with the configuration is the same as it is
described in the Tacker docs [#f7]_, use the VNFD template here [#f8]_
and param file here [#f9]_.
- The second one is OpenWrt with the VNFD template here [#f8]_ and param file
here [#f7]_.
**5.** Create a VNFFG with a chain (IDS, Openwrt) and no classifier
@ -295,6 +296,5 @@ mitigated.
.. [#f4] https://opendev.org/openstack/tacker/src/branch/master/devstack/local.conf.example
.. [#f5] https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-zabbix-to-securely-monitor-remote-servers-on-ubuntu-16-04
.. [#f6] https://blog.rapid7.com/2017/02/14/how-to-install-suricata-nids-on-ubuntu-linux/
.. [#f7] https://docs.openstack.org/tacker/latest/install/deploy_openwrt.html
.. [#f8] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-vnfd-openwrt.yaml
.. [#f9] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-config-openwrt-firewall.yaml
.. [#f7] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-vnfd-openwrt.yaml
.. [#f8] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/vnfd/tosca-config-openwrt-firewall.yaml

View File

@ -18,7 +18,7 @@ The procedure of prepare for healing operation that from "register VIM" to
This procedure uses an example using the sample VNF package.
How to create VNF package for healing
How to Create VNF Package for Healing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using `tacker/tests/etc/samples/etsi/nfv/test_cnf_heal`_,
describe how to create VNF package for healing.
@ -143,7 +143,7 @@ includes path of Kubernetes resource definition file and that
$ openstack vnflcm instantiate 92cf0ccb-e575-46e2-9c0d-30c67e75aaf6 instance_kubernetes.json
Instantiate request for VNF Instance 92cf0ccb-e575-46e2-9c0d-30c67e75aaf6 has been accepted.
CNF healing procedure
CNF Healing Procedure
---------------------
As mentioned in Prerequisites and Healing target VNF instance, the VNF must be
@ -169,7 +169,7 @@ There are two main methods for CNF healing.
.. _labelCapHealingtargetVNFinstance:
Healing target VNF instance
Healing Target VNF Instance
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Assuming that the following VNF instance exists. VNF Instance is made by using
@ -252,7 +252,7 @@ Result:
| VNFD Version | 1.0 |
+--------------------------+-------------------------------------------------------------------------------------------+
How to heal of the entire VNF
How to Heal of the Entire VNF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Execute Heal of the entire CNF with CLI command and check the name and age of
@ -369,7 +369,7 @@ Result:
+--------------------------+-------------------------------------------------------------------------------------------+
How to heal specified with VNFC instances
How to Heal Specified with VNFC Instances
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Execute Heal of the partial CNF CLI command and check the name and age of pod
information before and after healing.

View File

@ -18,7 +18,7 @@ The procedure of prepare for scaling operation that from "register VIM" to
This procedure uses an example using the sample VNF package.
How to create VNF package for scaling
How to Create VNF Package for Scaling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using `tacker/tests/etc/samples/etsi/nfv/test_cnf_scale`_,
describe how to create VNF package for scaling.
@ -143,7 +143,7 @@ includes path of Kubernetes resource definition file and that
$ openstack vnflcm instantiate 92cf0ccb-e575-46e2-9c0d-30c67e75aaf6 instance_kubernetes.json
Instantiate request for VNF Instance 92cf0ccb-e575-46e2-9c0d-30c67e75aaf6 has been accepted.
CNF scaling procedure
CNF Scaling Procedure
---------------------
As mentioned in Prerequisites, the VNF must be instantiated before performing
@ -163,7 +163,7 @@ There are two main methods for CNF scaling.
* Scale out CNF
* Scale in CNF
How to identify ASPECT_ID
How to Identify ASPECT_ID
~~~~~~~~~~~~~~~~~~~~~~~~~
In order to execute scaling, it is necessary to specify ``ASPECT_ID``, which is
@ -250,7 +250,7 @@ In the following VNFD excerpt, **vdu1_aspect** corresponds to ``ASPECT_ID``.
.. note:: See `NFV-SOL001 v2.6.1`_ annex A.6 for details about ``ASPECT_ID``.
How to scale out CNF
How to Scale Out CNF
~~~~~~~~~~~~~~~~~~~~
Execute Scale CLI command and check the number of replicas before and after
@ -286,7 +286,7 @@ Replicas information after scale-out:
NAME READY UP-TO-DATE AVAILABLE AGE
vdu1 2/2 2 2 2d
How to scale in CNF
How to Scale in CNF
~~~~~~~~~~~~~~~~~~~
Execute Scale CLI command and check the number of replicas before and after

View File

@ -7,7 +7,7 @@ in Tacker using Kubernetes VIM.
Prepare Kubernetes VIM
=======================
1. Create a config file
1. Create a Config File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Before register a Kubernetes VIM to tacker, we should create config file.
@ -125,7 +125,7 @@ Also we can check if the status of VIM is REACHABLE by
Prepare VNF Package
===================
1. Create directories of VNF Package
1. Create Directories of VNF Package
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TOSCA YAML CSAR file is an archive file using the ZIP file format whose
structure complies with the TOSCA Simple Profile YAML v1.2 Specification.
@ -135,7 +135,7 @@ Here is a sample of building a VNF Package CSAR directory:
$ mkdir -p deployment/{TOSCA-Metadata,Definitions,Files/kubernetes}
2. Create a Kubernetes object file
2. Create a Kubernetes Object File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A CSAR VNF package shall have a object file that defines Kubernetes resources
to be deployed.
@ -191,7 +191,7 @@ The following is a simple example of `deployment` resource.
`topology_template.node_templates.VDU1.properties.name`
in the helloworld3_df_simple.yaml file.
3. Create a TOSCA.meta file
3. Create a TOSCA.meta File
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The TOSCA.Meta file contains version information for the TOSCA.Meta file, CSAR,
Definitions file, and artifact file.
@ -212,7 +212,7 @@ Here is an example of a TOSCA.meta file:
Algorithm: SHA-256
Hash: 6a40dfb06764394fb604ae807d1198bc2e2ee8aece3b9483dfde48e53f316a58
4. Download ETSI Definition file
4. Download ETSI Definition File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Download official documents.
ETSI GS NFV-SOL 001 [i.4] specifies the structure and format of the VNFD based
@ -457,7 +457,7 @@ Following commands are an example of compressing a VNF Package:
$ ls deployment
deployment.zip Definitions Files TOSCA-Metadata
Create and upload VNF Package
Create and Upload VNF Package
=============================
We need to create an empty VNF package object in tacker and upload compressed
VNF package created in previous section.
@ -577,7 +577,7 @@ Here is an example of checking VNFD-ID value:
| VNFD Version | 1.0 |
+----------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
2. Execute Create VNF command
2. Execute Create VNF Command
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We could create VNF by running `openstack vnflcm create <VNFD ID>`.
After the command is executed, the generated ID is `VNF instance ID`.
@ -609,7 +609,7 @@ After the command is executed, the generated ID is `VNF instance ID`.
Instantiate VNF
===============
1. Set the value to the request parameter file
1. Set the Value to the Request Parameter File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get the ID of target VIM.
@ -650,7 +650,7 @@ vimId and vimType.
]
}
2. Execute the instantiation command
2. Execute the Instantiation Command
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Run `openstack vnflcm instantiate <VNF instance ID> <json file>` to instantiate
a VNF.
@ -731,7 +731,7 @@ successful.
| VNFD Version | 1.0 |
+--------------------------+-------------------------------------------------------------------------------------------+
4. Check the deployment in Kubernetes
4. Check the Deployment in Kubernetes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To test a containerized VNF is running in target Kubernetes VIM environment,
we can check by running the following command.

View File

@ -0,0 +1,104 @@
=============================
ETSI NFV-SOL Tacker Use Cases
=============================
VNF
___
Deploy
^^^^^^
VM
~~
.. toctree::
:maxdepth: 1
etsi_vnf_deployment_as_vm_with_tosca
etsi_vnf_deployment_as_vm_with_user_data
Container
~~~~~~~~~
.. toctree::
:maxdepth: 1
etsi_containerized_vnf_usage_guide
Scale
^^^^^
VM
~~
.. toctree::
:maxdepth: 1
etsi_vnf_scaling
Container
~~~~~~~~~
.. toctree::
:maxdepth: 1
etsi_cnf_scaling
Heal
^^^^
VM
~~
.. toctree::
:maxdepth: 1
etsi_vnf_healing
Container
~~~~~~~~~
.. toctree::
:maxdepth: 1
etsi_cnf_healing
Change External VNF Connectivity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
VM
~~
.. toctree::
:maxdepth: 1
etsi_vnf_change_external_vnf_connectivity
Error Handling
^^^^^^^^^^^^^^
VM
~~
.. toctree::
:maxdepth: 1
etsi_vnf_error_handling
.. TODO(h-asahina): add `Action Driver`
* https://etherpad.opendev.org/p/tacker-wallaby-revise-docs
Management Driver
^^^^^^^^^^^^^^^^^
.. TODO(h-asahina): add `Overview`
* https://etherpad.opendev.org/p/tacker-wallaby-revise-docs
Kubernetes Cluster VNF
~~~~~~~~~~~~~~~~~~~~~~
.. toctree::
:maxdepth: 1
mgmt_driver_deploy_k8s_usage_guide

View File

@ -95,7 +95,7 @@ definition file before running command for changing the connectivity.
if no setting is contained, it is treated as a change in information.
How to change the specific port setting
How to Change the Specific Port Setting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Execute Change External VNF Connectivity CLI command and check 'ID' and

View File

@ -21,7 +21,7 @@ The VNF Package(sample_vnf_pkg.zip) used below is prepared
by referring to :doc:`./vnf-package`.
VNF deployment procedure as VM
VNF Deployment Procedure as VM
------------------------------
In order to deploy VNF as VM, it is necessary to execute

View File

@ -1,5 +1,5 @@
==============================================================
ETSI NFV-SOL VNF Deployment as VM with LCM operation user data
ETSI NFV-SOL VNF Deployment as VM with LCM Operation User Data
==============================================================
This document describes how to deploy VNF as VM with
@ -33,7 +33,7 @@ by referring to :doc:`./vnf-package`.
which are optional in :doc:`./vnf-package`.
VNF deployment procedure as VM
VNF Deployment Procedure as VM
------------------------------
In order to deploy VNF as a VM, it is necessary to execute

View File

@ -23,7 +23,7 @@ Execute up to "Instantiate VNF" in the procedure of
In other words, the procedure after "Terminate VNF" is not executed.
Healing target VNF instance
Healing Target VNF Instance
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Assuming that the following VNF instance exists,
@ -224,7 +224,7 @@ Result:
In this manual, it corresponds to **vnf-9e086f34-b3c9-4986-b5e5-609a5ac4c1f9**.
VNF healing procedure
VNF Healing Procedure
---------------------
As mentioned in **Prerequisites** and **Healing target VNF instance**,
@ -244,7 +244,7 @@ There are two main methods for VNF healing.
For more information on VNFC, see `NFV-SOL002 v2.6.1`_.
How to heal of the entire VNF
How to Heal of the Entire VNF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When healing of the entire VNF, the following APIs are executed
@ -316,7 +316,7 @@ Result:
'Stack Status' transitions to CREATE_COMPLETE.
How to heal specified with VNFC instances
How to Heal Specified with VNFC Instances
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Extract the value of vnfcResourceInfo -> id from 'Instantiated Vnf Info'

View File

@ -24,7 +24,7 @@ Execute up to "Instantiate VNF" in the procedure of
In other words, the procedure after "Terminate VNF" is not executed.
VNF scaling procedure
VNF Scaling Procedure
---------------------
As mentioned in Prerequisites, the VNF must be instantiated
@ -39,7 +39,7 @@ There are two main methods for VNF scaling.
* Scale in VNF
How to identify ASPECT_ID
How to Identify ASPECT_ID
~~~~~~~~~~~~~~~~~~~~~~~~~
In order to execute scaling, it is necessary to specify
@ -139,7 +139,7 @@ corresponds to ASPECT_ID.
.. note:: See `NFV-SOL001 v2.6.1`_ annex A.6 for details about ASPECT_ID.
How to scale out VNF
How to Scale Out VNF
~~~~~~~~~~~~~~~~~~~~
Execute Scale CLI command and check the number of stacks
@ -236,7 +236,7 @@ with the parent-stack (ID: b96169b5-d692-4b5c-81b2-86010775180e)
is increased by the scaling out operation.
How to scale in VNF
How to Scale in VNF
~~~~~~~~~~~~~~~~~~~
Execute Scale CLI command and check the number of stacks

View File

@ -24,67 +24,28 @@ Getting Started
.. toctree::
:maxdepth: 1
../install/getting_started.rst
../install/deploy_openwrt.rst
../install/getting_started
User Guide
----------
.. TODO(h-asahina): add `Getting started with ETSI NFV-SOL Tacker`
* https://etherpad.opendev.org/p/tacker-wallaby-revise-docs
Overview
^^^^^^^^
--------
.. toctree::
:maxdepth: 1
:maxdepth: 2
introduction
architecture
resources
Use cases
^^^^^^^^^
Use Case Guide
--------------
.. toctree::
:maxdepth: 1
vnf-package
vnfd-sol001
alarm_monitoring_usage_guide.rst
dynamic_vnffg_usage_guide.rst
enhanced_placement_awareness_usage_guide.rst
etsi_vnf_deployment_as_vm_with_tosca.rst
etsi_vnf_deployment_as_vm_with_user_data.rst
etsi_containerized_vnf_usage_guide.rst
etsi_vnf_error_handling.rst
etsi_vnf_healing.rst
etsi_vnf_scaling.rst
etsi_vnf_change_external_vnf_connectivity.rst
etsi_cnf_healing.rst
etsi_cnf_scaling.rst
containerized_vnf_usage_guide.rst
../reference/mistral_workflows_usage_guide.rst
multisite_vim_usage_guide.rst
nsd_usage_guide.rst
../reference/block_storage_usage_guide.rst
scale_usage_guide.rst
vnf_component_usage_guide.rst
vnffg_usage_guide.rst
vnffg_usage_guide_advanced.rst
vnfm_usage_guide.rst
placement_policy_usage_guide.rst
mgmt_driver_deploy_k8s_usage_guide.rst
Feature Documentation
---------------------
.. toctree::
:maxdepth: 1
../contributor/zabbix-plugin.rst
../contributor/tacker_vim_monitoring.rst
../contributor/encrypt_vim_auth_with_barbican.rst
../contributor/event_logging.rst
../contributor/monitor-api.rst
../contributor/policy_actions_framework.rst
../contributor/tacker_conductor.rst
../contributor/vnfd_template_description.rst
../contributor/vnfd_template_parameterization.rst
../contributor/vnffgd_template_description.rst
etsi_use_case_guide
legacy_use_case_guide

View File

@ -21,7 +21,7 @@ publications of SOL documents for NFV descriptors such as VNF descriptor
`NFV-SOL002`_, `NFV-SOL003`_, and `NFV-SOL005`_, the SOL based new
implementations have started in Ussuri release.
ETSI NFV MANO concept
ETSI NFV MANO Concept
---------------------
MANO functional blocks are:

View File

@ -0,0 +1,145 @@
=======================
Legacy Tacker Use Cases
=======================
VIM
---
Register
^^^^^^^^
.. toctree::
:maxdepth: 1
../contributor/tacker_vim_monitoring
Enable Multi Site
^^^^^^^^^^^^^^^^^
.. toctree::
:maxdepth: 1
multisite_vim_usage_guide
VNFFG
-----
Deploy
^^^^^^
.. toctree::
:maxdepth: 1
vnffg_usage_guide
vnffg_usage_guide_advanced
Update
^^^^^^
.. toctree::
:maxdepth: 1
dynamic_vnffg_usage_guide
NS
--
Deploy
^^^^^^
.. toctree::
:maxdepth: 1
nsd_usage_guide
VNF
---
Deploy
^^^^^^
VM
~~
.. toctree::
:maxdepth: 1
vnfm_usage_guide
placement_policy_usage_guide
containerized_vnf_usage_guide
Container
~~~~~~~~~
.. toctree::
:maxdepth: 1
containerized_vnf_usage_guide
Scale
^^^^^
.. toctree::
:maxdepth: 1
scale_usage_guide
Monitor Driver
^^^^^^^^^^^^^^
Overview
~~~~~~~~
.. toctree::
:maxdepth: 1
../contributor/monitor-api
Zabbix
~~~~~~
.. toctree::
:maxdepth: 1
../contributor/zabbix-plugin
.. TODO(h-asahina): add `Ping.
* https://etherpad.opendev.org/p/tacker-wallaby-revise-docs
Policy-Action Driver
^^^^^^^^^^^^^^^^^^^^
Overview
~~~~~~~~
.. toctree::
:maxdepth: 1
../contributor/policy_actions_framework
.. TODO(h-asahina): add `AutoHeal` `AutoScale`, `Respawn` and `Log`.
* https://etherpad.opendev.org/p/tacker-wallaby-revise-docs
Placement-Aware Deployment
---------------------------------
.. toctree::
:maxdepth: 1
enhanced_placement_awareness_usage_guide
Collaboration with Other Projects
---------------------------------
.. toctree::
:maxdepth: 1
../contributor/encrypt_vim_auth_with_barbican
../reference/block_storage_usage_guide
../reference/mistral_workflows_usage_guide
alarm_monitoring_usage_guide
../reference/reservation_policy_usage_guide

View File

@ -489,7 +489,7 @@ Reference
.. [#f1] https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/014/02.01.01_60/gs_NFV-IFA014v020101p.pdf
.. [#f2] https://wiki.onap.org/display/DW/ONAP+Release+1+modeling+specification?preview=%2F13599755%2F13599839%2FNSD+Specification.pdf
.. [#f3] https://opendev.org/openstack/tacker/src/branch/master/tacker/nfvo/drivers/workflow/workflow_generator.py
.. [#f4] https://docs.openstack.org/tacker/latest/install/deploy_openwrt.html
.. [#f4] https://docs.openstack.org/tacker/latest/install/getting_started.html#onboarding-sample-vnf
.. [#f5] https://docs.openstack.org/tacker/latest/user/vnffg_usage_guide.html
.. [#f6] https://docs.openstack.org/tacker/latest/user/vnffg_usage_guide_advanced.html
.. [#f7] https://opendev.org/openstack/tacker/src/branch/master/samples/tosca-templates/nsd/sample-tosca-vnfd1.yaml

View File

@ -0,0 +1,81 @@
================
Tacker Resources
================
Tacker mainly consists of two resources:
* Network Functions Virtualisation Orchestrator (NFVO)
* Virtualised Network Function Manager (VNFM)
*VNFO* is functional block that manages the Network Service (NS) lifecycle and
coordinates the management of NS lifecycle, VNF lifecycle (supported by the
VNFM) and NFVI resources (supported by the VIM) to ensure an optimized
allocation of the necessary resources and connectivity.
*VNFM* is functional block that is responsible for the lifecycle management of
VNF.
ETSI NFV-SOL Tacker Resources
-----------------------------
NFVO
^^^^
VNF Package
"""""""""""
.. toctree::
:maxdepth: 1
vnf-package
VNFM
^^^^
VNF, VNFD
"""""""""
.. toctree::
:maxdepth: 1
vnfd-sol001
Legacy Tacker Resources
-----------------------
NFVO
^^^^
VNFFG, VNFFGD
"""""""""""""
.. toctree::
:maxdepth: 1
../contributor/vnffgd_template_description
.. TODO(h-asahina): add `VIM` and `NS, NSD`.
* https://etherpad.opendev.org/p/tacker-wallaby-revise-docs
VNFM
^^^^
VNF, VNFD
"""""""""
.. toctree::
:maxdepth: 1
../contributor/vnfd_template_description
../contributor/vnfd_template_parameterization
vnf_component_usage_guide
Event
^^^^^
.. toctree::
:maxdepth: 1
../contributor/event_logging

View File

@ -6,7 +6,7 @@ This section will cover how to deploy `vnf component` in Tacker with the
examples of how to write VNF descriptors.
Sample TOSCA with vnfc
Sample TOSCA with VNFC
=======================
The following example shows vnfc resource using TOSCA template.
@ -35,7 +35,7 @@ two parameters:
server is running.
How to setup environment
How to Setup Environment
~~~~~~~~~~~~~~~~~~~~~~~~~
To make use of VNFC in Tacker, we have to upload the image to the glance in
which heat-config and heat-config agents are installed. The installation steps

View File

@ -31,7 +31,7 @@ Example:
!---- vnfd_types.yaml
Deployment flavour model
Deployment Flavour Model
------------------------
To design VNF with a VNFD, "deployment flavour model" is helpful. An example
@ -55,7 +55,7 @@ It is possible to design plural topologies for a VNF with deployment flavour.
The deployed topology is specified with a deployment flavour ID in the
Instantiation request parameter.
Type definition files
Type Definition Files
---------------------
Type definition files contain all required "Types" appeared in **service**
@ -74,7 +74,7 @@ There are nine groups of type definition in `NFV-SOL001 v2.6.1`_.
* Group Types: ``group_types``
* Policy Types: ``policy_types``
1. ETSI NFV types definition file
1. ETSI NFV Types Definition File
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ETSI NFV provides two types definition files [1]_ which contain all defined
@ -84,7 +84,7 @@ from *top-level service template file*.
* `etsi_nfv_sol001_common_types.yaml`_
* `etsi_nfv_sol001_vnfd_types.yaml`_
2. User defined types definition file
2. User Defined Types Definition File
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Users can extend their own types definition from `NFV-SOL001 v2.6.1`_. In most
@ -112,7 +112,7 @@ in section 6.8.1 in `NFV-SOL001 v2.6.1`_. Its required properties are:
* *flavour_description* - is description of the deployment flavour. The
default can be "" (empty string).
Topology template files
Topology Template Files
-----------------------
The topology template files describe the topology of VNF. The topology is
@ -141,7 +141,7 @@ important to describe the topology:
* (optional) *workflows* - is a map of imperative workflow definition for the
topology template.
3. Top-level topology template file
3. Top-level Topology Template File
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The *top-level topology template file* describes the abstract design of VNF.
@ -185,7 +185,7 @@ derived from ``tosca.nodes.nfv.VNF``. The file includes:
lower-level topology template and not included here.
4. Topology template file with deployment flavour
4. Topology Template File with Deployment Flavour
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The lower-level topology template provides a deployment flavour ID and its