diff --git a/api-ref/source/v2/parameters_vnflcm.yaml b/api-ref/source/v2/parameters_vnflcm.yaml index 3fba44114..c4f52179b 100644 --- a/api-ref/source/v2/parameters_vnflcm.yaml +++ b/api-ref/source/v2/parameters_vnflcm.yaml @@ -910,6 +910,12 @@ max_address: in: body required: true type: string +max_scale_levels: + description: | + Maximum allowed scale levels of the VNF, one entry per aspect. + in: body + required: false + type: object min_address: description: | Lowest IP address belonging to the range. @@ -1042,6 +1048,21 @@ scale_additional_params: in: body required: false type: key value pairs +scale_level: + description: | + Indicates the scale level. The minimum value shall be 0 and the maximum value + shall be ≤ maxScaleLevel as described in the VNFD. + in: body + required: true + type: integer +scale_status: + description: | + Scale status of the VNF, one entry per aspect. + Represents for every scaling aspect how "big" the VNF has been scaled + w.r.t. that aspect. + in: body + required: false + type: object scale_type: description: | Indicates the type of the scale operation requested. @@ -1053,6 +1074,15 @@ scale_type: in: body required: true type: string +scaleinfo_vnfd_id: + description: | + Identifier of the VNFD. + Shall be present in case the value differs from the vnfdId attribute of the + VnfInstance (e.g. during a "Change current VNF package" operation or due to its + final failure). + in: body + required: false + type: string segmentation_id: description: | Identification of the network segment to which @@ -1544,7 +1574,7 @@ vnf_state: description: | State of the VNF instance. in: body - required: false + required: true type: string vnf_subscription_create_request_verbosity: description: | diff --git a/api-ref/source/v2/samples/vnflcm/list-vnf-instance-response.json b/api-ref/source/v2/samples/vnflcm/list-vnf-instance-response.json index 34b58b3d7..c3315feea 100644 --- a/api-ref/source/v2/samples/vnflcm/list-vnf-instance-response.json +++ b/api-ref/source/v2/samples/vnflcm/list-vnf-instance-response.json @@ -284,6 +284,18 @@ } ], "flavourId": "simple", + "maxScaleLevels": [ + { + "aspectId": "VDU1_scale", + "scaleLevel": 2 + } + ], + "scaleStatus": [ + { + "aspectId": "VDU1_scale", + "scaleLevel": 0 + } + ], "virtualStorageResourceInfo": [ { "id": "0357ecab-bdd8-403f-a91b-b80f287b536f", diff --git a/api-ref/source/v2/samples/vnflcm/show-vnf-instance-response.json b/api-ref/source/v2/samples/vnflcm/show-vnf-instance-response.json index faea91e23..e55445370 100644 --- a/api-ref/source/v2/samples/vnflcm/show-vnf-instance-response.json +++ b/api-ref/source/v2/samples/vnflcm/show-vnf-instance-response.json @@ -283,6 +283,18 @@ } ], "flavourId": "simple", + "maxScaleLevels": [ + { + "aspectId": "VDU1_scale", + "scaleLevel": 2 + } + ], + "scaleStatus": [ + { + "aspectId": "VDU1_scale", + "scaleLevel": 0 + } + ], "virtualStorageResourceInfo": [ { "id": "0357ecab-bdd8-403f-a91b-b80f287b536f", diff --git a/api-ref/source/v2/vnflcm.inc b/api-ref/source/v2/vnflcm.inc index 2226830d5..0df877eae 100644 --- a/api-ref/source/v2/vnflcm.inc +++ b/api-ref/source/v2/vnflcm.inc @@ -348,6 +348,14 @@ Response Parameters - instantiatedVnfInfo: instantiated_vnf_info - flavourId: flavour_id_response - vnfState: vnf_state + - scaleStatus: scale_status + - aspectId: aspect_id + - vnfdId: scaleinfo_vnfd_id + - scaleLevel: scale_level + - maxScaleLevels: max_scale_levels + - aspectId: aspect_id + - vnfdId: scaleinfo_vnfd_id + - scaleLevel: scale_level - extCpInfo: ext_cp_info - id: ext_cp_info_id - cpdId: ext_cp_info_cpd_id @@ -504,6 +512,14 @@ Response Parameters - instantiatedVnfInfo: instantiated_vnf_info - flavourId: flavour_id_response - vnfState: vnf_state + - scaleStatus: scale_status + - aspectId: aspect_id + - vnfdId: scaleinfo_vnfd_id + - scaleLevel: scale_level + - maxScaleLevels: max_scale_levels + - aspectId: aspect_id + - vnfdId: scaleinfo_vnfd_id + - scaleLevel: scale_level - extCpInfo: ext_cp_info - id: ext_cp_info_id - cpdId: ext_cp_info_cpd_id diff --git a/doc/source/cli/cli-etsi-vnflcm.rst b/doc/source/cli/cli-etsi-vnflcm.rst index e5e74e930..347d80002 100644 --- a/doc/source/cli/cli-etsi-vnflcm.rst +++ b/doc/source/cli/cli-etsi-vnflcm.rst @@ -76,12 +76,12 @@ Help: $ openstack vnflcm create --help usage: openstack vnflcm create [-h] [-f {json,shell,table,value,yaml}] - [-c COLUMN] [--noindent] [--prefix PREFIX] - [--max-width ] [--fit-width] - [--print-empty] [--name ] - [--description ] - [--I ] - + [-c COLUMN] [--noindent] [--prefix PREFIX] + [--max-width ] [--fit-width] + [--print-empty] [--name ] + [--description ] + [--I ] + Create a new VNF Instance @@ -156,10 +156,10 @@ Help: $ openstack vnflcm list --help usage: openstack vnflcm list [-h] [-f {csv,json,table,value,yaml}] [-c COLUMN] - [--quote {all,minimal,none,nonnumeric}] - [--noindent] [--max-width ] - [--fit-width] [--print-empty] - [--sort-column SORT_COLUMN] + [--quote {all,minimal,none,nonnumeric}] + [--noindent] [--max-width ] + [--fit-width] [--print-empty] + [--sort-column SORT_COLUMN] List VNF Instance @@ -211,10 +211,10 @@ Help: $ openstack vnflcm show --help usage: openstack vnflcm show [-h] [-f {json,shell,table,value,yaml}] - [-c COLUMN] [--noindent] [--prefix PREFIX] - [--max-width ] [--fit-width] - [--print-empty] - + [-c COLUMN] [--noindent] [--prefix PREFIX] + [--max-width ] [--fit-width] + [--print-empty] + Display VNF instance details @@ -281,7 +281,7 @@ Result: .. code-block:: console - Vnf instance '725f625e-f6b7-4bcd-b1b7-7184039fde45' deleted successfully + Vnf instance '725f625e-f6b7-4bcd-b1b7-7184039fde45' is deleted successfully Help: @@ -429,7 +429,7 @@ Help: .. code-block:: console - $ openstack vnflcm change_ext_conn VNF_INSTANCE_ID \ + $ openstack vnflcm change-ext-conn VNF_INSTANCE_ID \ ./sample_param_file.json @@ -444,14 +444,14 @@ Help: .. code-block:: console - $ openstack vnflcm change_ext_conn --help - usage: openstack vnflcm change_ext_conn [-h] + $ openstack vnflcm change-ext-conn --help + usage: openstack vnflcm change-ext-conn [-h] Change External VNF Connectivity positional arguments: VNF instance ID to Change External VNF Connectivity - Specify change_ext_conn request parameters in a json file. + Specify change-ext-conn request parameters in a json file. optional arguments: -h, --help show this help message and exit @@ -793,7 +793,290 @@ Help: -h, --help show this help message and exit -17. Show VNF LCM API versions +17. Create Lccn Subscription +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + $ openstack vnflcm subsc create ./sample_param_file.json + + +Result: + +.. code-block:: console + + +--------------+------------------------------------------------------------------------------------------------------+ + | Field | Value | + +--------------+------------------------------------------------------------------------------------------------------+ + | Callback URI | http://localhost:9990/notification/callback/test | + | Filter | { | + | | "vnfInstanceSubscriptionFilter": { | + | | "vnfdIds": [ | + | | "dummy-vnfdId-1", | + | | "dummy-vnfdId-2" | + | | ], | + | | "vnfProductsFromProviders": [ | + | | { | + | | "vnfProvider": "dummy-vnfProvider-1", | + | | "vnfProducts": [ | + | | { | + | | "vnfProductName": "dummy-vnfProductName-1", | + | | "versions": [ | + | | { | + | | "vnfSoftwareVersion": "1.0", | + | | "vnfdVersions": [ | + | | "1.0", | + | | "2.0" | + | | ] | + | | }, | + | | { | + | | "vnfSoftwareVersion": "1.1", | + | | "vnfdVersions": [ | + | | "1.1", | + | | "2.1" | + | | ] | + | | } | + | | ] | + | | } | + | | ] | + | | } | + | | ], | + | | "vnfInstanceIds": [ | + | | "dummy-vnfInstanceId-1" | + | | ], | + | | "vnfInstanceNames": [ | + | | "dummy-vnfInstanceName-1" | + | | ] | + | | }, | + | | "notificationTypes": [ | + | | "VnfLcmOperationOccurrenceNotification", | + | | "VnfIdentifierCreationNotification", | + | | "VnfIdentifierDeletionNotification" | + | | ], | + | | "operationTypes": [ | + | | "INSTANTIATE", | + | | "SCALE", | + | | "TERMINATE", | + | | "HEAL", | + | | "MODIFY_INFO", | + | | "CHANGE_EXT_CONN" | + | | ], | + | | "operationStates": [ | + | | "COMPLETED", | + | | "FAILED", | + | | "FAILED_TEMP", | + | | "PROCESSING", | + | | "ROLLING_BACK", | + | | "ROLLED_BACK", | + | | "STARTING" | + | | ] | + | | } | + | ID | e796811c-5e4d-47ab-93ce-fd52efcc5aa5 | + | Links | { | + | | "self": { | + | | "href": "http://localhost:9890/vnflcm/v1/subscriptions/e796811c-5e4d-47ab-93ce-fd52efcc5aa5" | + | | } | + | | } | + +--------------+------------------------------------------------------------------------------------------------------+ + + +Help: + +.. code-block:: console + + $ openstack vnflcm subsc create --help + usage: openstack vnflcm subsc create [-h] [-f {json,shell,table,value,yaml}] + [-c COLUMN] [--noindent] [--prefix PREFIX] + [--max-width ] [--fit-width] + [--print-empty] + + Create a new Lccn Subscription + + positional arguments: + Specify create request parameters in a json file. + + optional arguments: + -h, --help show this help message and exit + + +18. List Lccn Subscription +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + $ openstack vnflcm subsc list + + +Result: + +.. code-block:: console + + +--------------------------------------+--------------------------------------------------+ + | ID | Callback URI | + +--------------------------------------+--------------------------------------------------+ + | e796811c-5e4d-47ab-93ce-fd52efcc5aa5 | http://localhost:9990/notification/callback/test | + +--------------------------------------+--------------------------------------------------+ + + +Help: + +.. code-block:: console + + $ openstack vnflcm subsc list --help + usage: openstack vnflcm subsc list [-h] [-f {csv,json,table,value,yaml}] + [-c COLUMN] [--quote {all,minimal,none,nonnumeric}] + [--noindent] [--max-width ] [--fit-width] + [--print-empty] [--sort-column SORT_COLUMN] + [--sort-ascending | --sort-descending] [--filter ] + + List Lccn Subscriptions + + optional arguments: + -h, --help show this help message and exit + --filter + Attribute-based-filtering parameters + + +19. Show Lccn Subscription +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + $ openstack vnflcm subsc show LCCN_SUBSCRIPTION_ID + + +Result: + +.. code-block:: console + + +--------------+------------------------------------------------------------------------------------------------------+ + | Field | Value | + +--------------+------------------------------------------------------------------------------------------------------+ + | Callback URI | http://localhost:9990/notification/callback/test | + | Filter | { | + | | "operationTypes": [ | + | | "INSTANTIATE", | + | | "SCALE", | + | | "TERMINATE", | + | | "HEAL", | + | | "MODIFY_INFO", | + | | "CHANGE_EXT_CONN" | + | | ], | + | | "operationStates": [ | + | | "COMPLETED", | + | | "FAILED", | + | | "FAILED_TEMP", | + | | "PROCESSING", | + | | "ROLLING_BACK", | + | | "ROLLED_BACK", | + | | "STARTING" | + | | ], | + | | "notificationTypes": [ | + | | "VnfLcmOperationOccurrenceNotification", | + | | "VnfIdentifierCreationNotification", | + | | "VnfIdentifierDeletionNotification" | + | | ], | + | | "vnfInstanceSubscriptionFilter": { | + | | "vnfdIds": [ | + | | "dummy-vnfdId-1", | + | | "dummy-vnfdId-2" | + | | ], | + | | "vnfInstanceIds": [ | + | | "dummy-vnfInstanceId-1" | + | | ], | + | | "vnfInstanceNames": [ | + | | "dummy-vnfInstanceName-1" | + | | ], | + | | "vnfProductsFromProviders": [ | + | | { | + | | "vnfProducts": [ | + | | { | + | | "versions": [ | + | | { | + | | "vnfdVersions": [ | + | | "1.0", | + | | "2.0" | + | | ], | + | | "vnfSoftwareVersion": "1.0" | + | | }, | + | | { | + | | "vnfdVersions": [ | + | | "1.1", | + | | "2.1" | + | | ], | + | | "vnfSoftwareVersion": "1.1" | + | | } | + | | ], | + | | "vnfProductName": "dummy-vnfProductName-1" | + | | } | + | | ], | + | | "vnfProvider": "dummy-vnfProvider-1" | + | | } | + | | ] | + | | } | + | | } | + | ID | e796811c-5e4d-47ab-93ce-fd52efcc5aa5 | + | Links | { | + | | "self": { | + | | "href": "http://localhost:9890/vnflcm/v1/subscriptions/e796811c-5e4d-47ab-93ce-fd52efcc5aa5" | + | | } | + | | } | + +--------------+------------------------------------------------------------------------------------------------------+ + + +Help: + +.. code-block:: console + + $ openstack vnflcm subsc show --help + usage: openstack vnflcm subsc show [-h] [-f {json,shell,table,value,yaml}] + [-c COLUMN] [--noindent] [--prefix PREFIX] + [--max-width ] [--fit-width] + [--print-empty] + + Display Lccn Subscription details + + positional arguments: + + Lccn Subscription ID to display + + optional arguments: + -h, --help show this help message and exit + + +20. Delete Lccn Subscription +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. code-block:: console + + $ openstack vnflcm delete LCCN_SUBSCRIPTION_ID + + +Result: + +.. code-block:: console + + Lccn Subscription 'e796811c-5e4d-47ab-93ce-fd52efcc5aa5' is deleted successfully + + +Help: + +.. code-block:: console + + $ openstack vnflcm subsc delete --help + usage: openstack vnflcm subsc delete [-h] [ ...] + + Delete Lccn Subscription(s) + + positional arguments: + + Lccn Subscription ID(s) to delete + + optional arguments: + -h, --help show this help message and exit + + +21. Show VNF LCM API versions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: console