VNF Package Management¶
This document describes how to manage VNF Package with CLI in Tacker.
Prerequisites¶
The following packages should be installed:
tacker
python-tackerclient
CLI Reference for VNF Package Management¶
1. Create VNF Package Info¶
$ openstack vnf package create
Result:
+-------------------+----------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------+----------------------------------------------------------------------------------------------------+
| ID | e712a702-741f-4093-a971-b3ad69411ac1 |
| Links | packageContent=href=/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1/package_content, |
| | self=href=s/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1 |
| Onboarding State | CREATED |
| Operational State | DISABLED |
| Usage State | NOT_IN_USE |
| User Defined Data | |
+-------------------+----------------------------------------------------------------------------------------------------+
Help:
$ openstack vnf package create --help
usage: openstack vnf package create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--noindent] [--prefix PREFIX]
[--max-width <integer>] [--fit-width]
[--print-empty] [--user-data <key=value>]
Create a new VNF Package
optional arguments:
-h, --help show this help message and exit
--user-data <key=value>
User defined data for the VNF package (repeat option
to set multiple user defined data)
2. Upload VNF Package¶
$ openstack vnf package upload --path sample_csar.zip \
<ID: e712a702-741f-4093-a971-b3ad69411ac1>
Result:
Upload request for VNF package e712a702-741f-4093-a971-b3ad69411ac1 has been accepted.
Help:
$ openstack vnf package upload --help
usage: openstack vnf package upload [-h] (--path <file> | --url <Uri>)
[--user-name <user-name>]
[--password <password>]
<vnf-package>
Upload VNF Package
positional arguments:
<vnf-package> VNF package ID
optional arguments:
-h, --help show this help message and exit
--path <file> Upload VNF CSAR package from local file
--url <Uri> Uri of the VNF package content
--user-name <user-name>
User name for authentication
--password <password>
Password for authentication
3. Fetch VNF Package¶
$ openstack vnf package download --file <FILE: download_sample_csar.zip> \
<ID: e712a702-741f-4093-a971-b3ad69411ac1>
Help:
$ openstack vnf package download --help
usage: openstack vnf package download [-h] [--file <FILE>] [--vnfd]
[--type <type>]
<vnf-package>
Download VNF package contents or VNFD of an on-boarded VNF package.
positional arguments:
<vnf-package> VNF package ID
optional arguments:
-h, --help show this help message and exit
--file <FILE> Local file to save downloaded VNF Package or VNFD data. If
this is not specified and there is no redirection then data
will not be saved.
--vnfd Download VNFD of an on-boarded vnf package.
--type <type> Provide text/plain when VNFD is implemented as a single YAML
file otherwise use application/zip. If you are not aware
whether VNFD is a single or multiple yaml files, then you can
specify 'both' option value. Provide this option only when
--vnfd is set.
4. List VNF Package¶
$ openstack vnf package list
Result:
+--------------------------------------+------------------+------------------+-------------+-------------------+
| Id | Vnf Product Name | Onboarding State | Usage State | Operational State |
+--------------------------------------+------------------+------------------+-------------+-------------------+
| e712a702-741f-4093-a971-b3ad69411ac1 | Sample VNF | ONBOARDED | NOT_IN_USE | ENABLED |
+--------------------------------------+------------------+------------------+-------------+-------------------+
Help:
$ openstack vnf package list --help
usage: openstack vnf package list [-h] [-f {csv,json,table,value,yaml}]
[-c COLUMN]
[--quote {all,minimal,none,nonnumeric}]
[--noindent] [--max-width <integer>]
[--fit-width] [--print-empty]
[--sort-column SORT_COLUMN]
[--filter <filter>]
[--all_fields | --fields fields | --exclude_fields exclude-fields]
[--exclude_default]
List VNF Packages
optional arguments:
-h, --help show this help message and exit
--filter <filter> Atrribute-based-filtering parameters
--all_fields Include all complex attributes in the response
--fields fields Complex attributes to be included into the response
--exclude_fields exclude-fields
Complex attributes to be excluded from the response
--exclude_default Indicates to exclude all complex attributes from the
response. This argument can be used alone or with
--fields and --filter. For all other combinations
tacker server will throw bad request error
5. Show VNF Package¶
$ openstack vnf package show <ID: e712a702-741f-4093-a971-b3ad69411ac1>
Result:
+----------------------+------------------------------------------------------------------------------------------------------------+
| Field | Value |
+----------------------+------------------------------------------------------------------------------------------------------------+
| Checksum | algorithm=sha512, hash=f8eb9883f04901af2d6e09d3621b7bbb37a36a89b076d322cc5994f3c5264854d1a0137efb23e61be96 |
| | 9a7ba60989715b3e3feced9d7c582ffaaec6b5a89e2b1 |
| ID | e712a702-741f-4093-a971-b3ad69411ac1 |
| Links | packageContent=href=/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1/package_content, |
| | self=href=/vnfpkgm/v1/vnf_packages/e712a702-741f-4093-a971-b3ad69411ac1 |
| Onboarding State | ONBOARDED |
| Operational State | ENABLED |
| Software Images | [{'diskFormat': 'qcow2', 'minDisk': 1, 'minRam': 0, 'imagePath': '', 'size': 1, 'createdAt': '2020-05-28 |
| | 01:50:14+00:00', 'containerFormat': 'bare', 'version': '0.4.0', 'provider': '', 'id': 'VDU1', 'name': |
| | 'Software of VDU1', 'checksum': {'algorithm': 'sha-256', 'hash': '6513f21e44aa3da349f248188a44bc304a3653a0 |
| | 4122d8fb4535423c8e1d14cd6a153f735bb0982e2161b5b5186106570c17a9e58b64dd39390617cd5a350f78'}, |
| | 'userMetadata': {}}] |
| Usage State | NOT_IN_USE |
| User Defined Data | |
| VNF Product Name | Sample VNF |
| VNF Provider | Company |
| VNF Software Version | 1.0 |
| VNFD ID | b1bb0ce7-ebca-4fa7-95ed-4840d70a1177 |
| VNFD Version | 1.0 |
+----------------------+------------------------------------------------------------------------------------------------------------+
Help:
$ openstack vnf package show --help
usage: openstack vnf package show [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--noindent] [--prefix PREFIX]
[--max-width <integer>] [--fit-width]
[--print-empty]
<vnf-package>
Show VNF Package Details
positional arguments:
<vnf-package> VNF package ID
optional arguments:
-h, --help show this help message and exit
6. Update VNF Package Info¶
$ openstack vnf package update --operational-state 'DISABLED' \
<ID: e712a702-741f-4093-a971-b3ad69411ac>
Result:
+-------------------+----------+
| Field | Value |
+-------------------+----------+
| Operational State | DISABLED |
+-------------------+----------+
Help:
$ openstack vnf package update --help
usage: openstack vnf package update [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--noindent] [--prefix PREFIX]
[--max-width <integer>] [--fit-width]
[--print-empty]
[--operational-state <operational-state>]
[--user-data <key=value>]
<vnf-package>
Update information about an individual VNF package
positional arguments:
<vnf-package> VNF package ID
optional arguments:
-h, --help show this help message and exit
--operational-state <operational-state>
Change the operational state of VNF Package, Valid
values are 'ENABLED' or 'DISABLED'.
--user-data <key=value>
User defined data for the VNF package (repeat option
to set multiple user defined data)
7. Delete VNF Package¶
openstack vnf package delete <ID: e712a702-741f-4093-a971-b3ad69411ac1>
Result:
All specified vnf-package(s) deleted successfully
Help:
$ openstack vnf package delete --help
usage: openstack vnf package delete [-h] <vnf-package> [<vnf-package> ...]
Delete VNF Package
positional arguments:
<vnf-package> Vnf package(s) ID to delete
optional arguments:
-h, --help show this help message and exit