VNF Performance Management¶
This document describes how to manage VNF Performance with CLI in Tacker.
Prerequisites¶
The following packages should be installed:
tacker
python-tackerclient
CLI Reference for VNF Performance Management¶
Note
To call the VNF PM API with vnfpm subcommand, …. you need to use the option –os-tacker-api-version 2
1. Create PM job¶
‘param-file’: Specify create VNF PM job request parameters in a json file.
$ openstack vnfpm job create <param-file> --os-tacker-api-version 2
Result:
+-------------------------+----------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------------+----------------------------------------------------------------------------------------------------------+
| Callback Uri | http://localhost:9990/notification/callback/test_performancemanagement_interface_min_1 |
| Criteria | { |
| | "performanceMetric": [ |
| | "VCpuUsageMeanVnf.{7749c637-6e8d-4b6c-a6f4-563aa73744dd}" |
| | ], |
| | "collectionPeriod": 5, |
| | "reportingPeriod": 10 |
| | } |
| ID | ca9b58cf-8493-44e3-9e76-678ea0e80a80 |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnfpm/v2/pm_jobs/ca9b58cf-8493-44e3-9e76-678ea0e80a80" |
| | }, |
| | "objects": [ |
| | { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/7749c637-6e8d-4b6c-a6f4-563aa73744dd" |
| | } |
| | ] |
| | } |
| Object Instance Ids | [ |
| | "7749c637-6e8d-4b6c-a6f4-563aa73744dd" |
| | ] |
| Object Type | Vnf |
| Reports | [] |
| Sub Object Instance Ids | |
+-------------------------+----------------------------------------------------------------------------------------------------------+
Help:
$ openstack vnfpm job create --os-tacker-api-version 2 --help
usage: openstack vnfpm job create [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--noindent] [--prefix PREFIX]
[--max-width <integer>] [--fit-width]
[--print-empty]
<param-file>
Create a new VNF PM job
positional arguments:
<param-file> Specify create VNF PM job request parameters in a json file.
optional arguments:
-h, --help show this help message and exit
output formatters:
output formatter options
-f {json,shell,table,value,yaml}, --format {json,shell,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
json formatter:
--noindent whether to disable indenting the JSON
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX
add a prefix to all variable names
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use
the CLIFF_MAX_TERM_WIDTH environment variable, but the
parameter takes precedence.
--fit-width Fit the table to the display width. Implied if
--max-width greater than 0. Set the environment variable
CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.
2. Update PM job¶
The <vnf-pm-job-id> should be replaced with the ‘ID’ in result of ‘1. Create PM job’. In the following sample, ca9b58cf-8493-44e3-9e76-678ea0e80a80 is used.
$ openstack vnfpm job update <vnf-pm-job-id> <param-file> --os-tacker-api-version 2
Result:
+----------------+---------------------------------------------------------+
| Field | Value |
+----------------+---------------------------------------------------------+
| Authentication | |
| Callback Uri | http://localhost:9990/notification/callback/callbackUri |
+----------------+---------------------------------------------------------+
Help:
$ openstack vnfpm job update --os-tacker-api-version 2 --help
usage: openstack vnfpm job update [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--noindent] [--prefix PREFIX]
[--max-width <integer>] [--fit-width]
[--print-empty]
<vnf-pm-job-id> <param-file>
Update information about an individual VNF PM job
positional arguments:
<vnf-pm-job-id> VNF PM job ID to update.
<param-file> Specify update PM job request parameters in a json file.
optional arguments:
-h, --help show this help message and exit
output formatters:
output formatter options
-f {json,shell,table,value,yaml}, --format {json,shell,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
json formatter:
--noindent whether to disable indenting the JSON
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX
add a prefix to all variable names
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use
the CLIFF_MAX_TERM_WIDTH environment variable, but the
parameter takes precedence.
--fit-width Fit the table to the display width. Implied if --max-width
greater than 0. Set the environment variable CLIFF_FIT_WIDTH=1
to always enable
--print-empty Print empty table if there is no data to show.
3. List PM jobs¶
$ openstack vnfpm job list --os-tacker-api-version 2
Result:
+--------------------------------------+-------------+----------------------------------------------------------------------------------------------------------+
| Id | Object Type | Links |
+--------------------------------------+-------------+----------------------------------------------------------------------------------------------------------+
| ca9b58cf-8493-44e3-9e76-678ea0e80a80 | Vnf | { |
| | | "self": { |
| | | "href": "http://127.0.0.1:9890/vnfpm/v2/pm_jobs/ca9b58cf-8493-44e3-9e76-678ea0e80a80" |
| | | }, |
| | | "objects": [ |
| | | { |
| | | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/7749c637-6e8d-4b6c-a6f4-563aa73744dd" |
| | | } |
| | | ] |
| | | } |
| 2067f412-6a02-4491-a5ab-426c772110f2 | Vnf | { |
| | | "self": { |
| | | "href": "http://127.0.0.1:9890/vnfpm/v2/pm_jobs/2067f412-6a02-4491-a5ab-426c772110f2" |
| | | }, |
| | | "objects": [ |
| | | { |
| | | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/492c6347-668f-4b04-bb98-e69af8194887" |
| | | } |
| | | ] |
| | | } |
+--------------------------------------+-------------+----------------------------------------------------------------------------------------------------------+
Help:
$ openstack vnfpm job list --os-tacker-api-version 2 --help
usage: openstack vnfpm job 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]
[--sort-ascending | --sort-descending]
[--filter <filter>]
[--all_fields | --fields fields | --exclude_fields exclude-fields]
[--exclude_default]
List VNF PM jobs
optional arguments:
-h, --help show this help message and exit
--filter <filter> Attribute-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
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
--sort-ascending sort the column(s) in ascending order
--sort-descending sort the column(s) in descending order
CSV Formatter:
--quote {all,minimal,none,nonnumeric}
when to include quotes, defaults to nonnumeric
json formatter:
--noindent whether to disable indenting the JSON
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use the
CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes
precedence.
--fit-width Fit the table to the display width. Implied if --max-width greater than
0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.
4. Show PM job¶
The <vnf-pm-job-id> should be replaced with the ‘ID’ in result of ‘1. Create PM job’ or ‘3. List PM jobs’. In the following sample, ca9b58cf-8493-44e3-9e76-678ea0e80a80 is used.
$ openstack vnfpm job show <vnf-pm-job-id> --os-tacker-api-version 2
Result:
+-------------------------+------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------------+------------------------------------------------------------------------------------------------------------------------+
| Callback Uri | http://localhost:9990/notification/callback/callbackUri |
| Criteria | { |
| | "performanceMetric": [ |
| | "VCpuUsageMeanVnf.{7749c637-6e8d-4b6c-a6f4-563aa73744dd}" |
| | ], |
| | "collectionPeriod": 5, |
| | "reportingPeriod": 10 |
| | } |
| ID | ca9b58cf-8493-44e3-9e76-678ea0e80a80 |
| Links | { |
| | "self": { |
| | "href": "http://127.0.0.1:9890/vnfpm/v2/pm_jobs/ca9b58cf-8493-44e3-9e76-678ea0e80a80" |
| | }, |
| | "objects": [ |
| | { |
| | "href": "http://127.0.0.1:9890/vnflcm/v2/vnf_instances/7749c637-6e8d-4b6c-a6f4-563aa73744dd" |
| | } |
| | ] |
| | } |
| Object Instance Ids | [ |
| | "7749c637-6e8d-4b6c-a6f4-563aa73744dd" |
| | ] |
| Object Type | Vnf |
| Reports | [ |
| | { |
| | "href": "/vnfpm/v2/pm_jobs/ca9b58cf-8493-44e3-9e76-678ea0e80a80/reports/53aafe25-7124-4880-8b58-47a93b3dc371", |
| | "readyTime": "2022-08-30T08:02:58Z" |
| | } |
| | ] |
| Sub Object Instance Ids | |
+-------------------------+------------------------------------------------------------------------------------------------------------------------+
Help:
$ openstack vnfpm job show --os-tacker-api-version 2 --help
usage: openstack vnfpm job show [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--noindent] [--prefix PREFIX]
[--max-width <integer>] [--fit-width] [--print-empty]
<vnf-pm-job-id>
Display VNF PM job details
positional arguments:
<vnf-pm-job-id> VNF PM job ID to display
optional arguments:
-h, --help show this help message and exit
output formatters:
output formatter options
-f {json,shell,table,value,yaml}, --format {json,shell,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
json formatter:
--noindent whether to disable indenting the JSON
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX add a prefix to all variable names
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use the
CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes
precedence.
--fit-width Fit the table to the display width. Implied if --max-width greater than
0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.
5. Delete PM job¶
The <vnf-pm-job-id> should be replaced with the ‘ID’ in result of ‘1. Create PM job’ or ‘3. List PM jobs’. In the following sample, ca9b58cf-8493-44e3-9e76-678ea0e80a80 is used.
$ openstack vnfpm job delete <vnf-pm-job-id> --os-tacker-api-version 2
Result:
VNF PM job 'ca9b58cf-8493-44e3-9e76-678ea0e80a80' deleted successfully
Help:
$ openstack vnfpm job delete --os-tacker-api-version 2 --help
usage: openstack vnfpm job delete [-h] <vnf-pm-job-id> [<vnf-pm-job-id> ...]
Delete VNF PM job
positional arguments:
<vnf-pm-job-id> VNF PM job ID(s) to delete
optional arguments:
-h, --help show this help message and exit
6. Show PM job report¶
The <vnf-pm-job-id> should be replaced with the ‘ID’ in result of ‘1. Create PM job’ or ‘3. List PM jobs’. In the following sample, 500f538e-44a5-460a-a95e-e9189354c2be is used. The <vnf-pm-report-id> should be replaced with the last part marked by / of ‘href’. The ‘href’ is part of ‘Reports’ in result of ‘4. Show PM job’. In the following sample, 53aafe25-7124-4880-8b58-47a93b3dc371 is used.
$ openstack vnfpm report show <vnf-pm-job-id> <vnf-pm-report-id> --os-tacker-api-version 2
Result:
+---------+---------------------------------------------------------------------------------------+
| Field | Value |
+---------+---------------------------------------------------------------------------------------+
| Entries | [ |
| | { |
| | "objectType": "Vnf", |
| | "objectInstanceId": "495ffedf-2755-42c8-bf14-a5433701311e", |
| | "performanceMetric": "VCpuUsageMeanVnf.495ffedf-2755-42c8-bf14-a5433701311e", |
| | "performanceValues": [ |
| | { |
| | "timeStamp": "2022-08-30T08:02:58Z", |
| | "value": "99.0" |
| | } |
| | ] |
| | } |
| | ] |
+---------+---------------------------------------------------------------------------------------+
Help:
$ openstack vnfpm report show --os-tacker-api-version 2 --help
usage: openstack vnfpm report show [-h] [-f {json,shell,table,value,yaml}]
[-c COLUMN] [--noindent] [--prefix PREFIX]
[--max-width <integer>] [--fit-width] [--print-empty]
<vnf-pm-job-id> <vnf-pm-report-id>
Display VNF PM report details
positional arguments:
<vnf-pm-job-id>
VNF PM job id where the VNF PM report is located
<vnf-pm-report-id>
VNF PM report ID to display
optional arguments:
-h, --help show this help message and exit
output formatters:
output formatter options
-f {json,shell,table,value,yaml}, --format {json,shell,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
json formatter:
--noindent whether to disable indenting the JSON
shell formatter:
a format a UNIX shell can parse (variable="value")
--prefix PREFIX
add a prefix to all variable names
table formatter:
--max-width <integer>
Maximum display width, <1 to disable. You can also use the
CLIFF_MAX_TERM_WIDTH environment variable, but the parameter takes
precedence.
--fit-width Fit the table to the display width. Implied if --max-width greater than
0. Set the environment variable CLIFF_FIT_WIDTH=1 to always enable
--print-empty Print empty table if there is no data to show.