diff --git a/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot b/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot index ce554660d5b2e6a91ff5fc32729c8908c7f2581a..9181f9197dc4b6c0a1168a5af3627981dd50da75 100644 --- a/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot +++ b/SOL005/NFVICapacityInformation-API/CapacityThresholds.robot @@ -7,7 +7,7 @@ POST Create Capacity Threshold ... Test title: POST Create Capacity Threshold ... Test objective: The objective is to test that POST method creates a Capacity Threshold ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -21,7 +21,7 @@ POST Create Capacity Threshold - Unprocessible Content ... Test title: POST Create Capacity Threshold - Unprocessible Content ... Test objective: The objective is to test that POST method creates a Capacity Threshold ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -34,7 +34,7 @@ GET Capacity Thresholds ... Test title: GET Capacity Thresholds ... Test objective: The objective is to GET Capacity Thresholds objects ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -47,7 +47,7 @@ GET Capacity Thresholds - Filter ... Test title: GET Capacity Thresholds - Filter ... Test objective: The objective is to GET Capacity Thresholds objects using filter ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ GET Capacity Thresholds Bad Request Invalid attribute-based filtering parameters ... Test title: GET Capacity Thresholds Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about Capacity Thresholds with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ GET Capacity Thresholds - Bad Request Response too Big ... Test title: GET Capacity Thresholds - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing Capacity Thresholds list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -86,7 +86,7 @@ GET Capacity Thresholds as Paged Response ... Test title: GET Capacity Thresholds as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing Capacity Thresholds as paged response. ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT Capacity Thresholds - Method not implemented ... Test title: PUT Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH Capacity Thresholds - Method not implemented ... Test title: PATCH Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE Capacity Thresholds - Method not implemented ... Test title: DELETE Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ GET Capacity Thresholds with permitted authorization scope ... Test title: GET Capacity Thresholds with permitted authorization scope ... Test objective: The objective is to GET Capacity Thresholds objects with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ GET Capacity Thresholds with not permitted authorization scope ... Test title: GET Capacity Thresholds with not permitted authorization scope ... Test objective: The objective is to test that GET Capacity Thresholds objects fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/IndividualCCMsNFVICapacityInformation.robot b/SOL005/NFVICapacityInformation-API/IndividualCCMsNFVICapacityInformation.robot new file mode 100644 index 0000000000000000000000000000000000000000..cbbac59e1fc6ca1a117c495101ef419389ebf08d --- /dev/null +++ b/SOL005/NFVICapacityInformation-API/IndividualCCMsNFVICapacityInformation.robot @@ -0,0 +1,115 @@ +*** Settings *** +Resource NFVICapacityInformationKeywords.robot + +*** Test Cases *** +POST Individual CCMs NFVI Capacity Information - Method not implemented + [Documentation] Test ID: 5.3.6.7.1 + ... Test title: POST Individual CCMs NFVI Capacity Information - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + POST Individual CCMs NFVI Capacity Information + Check HTTP Response Status Code Is 405 + +GET Information about an Individual CCMs NFVI Capacity Information + [Documentation] Test ID: 5.3.6.7.2 + ... Test title: GET Information about an Individual CCMs NFVI Capacity Information + ... Test objective: The objective is to retrieve information about Individual CCMs NFVI Capacity Information + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual CCMs NFVI Capacity Information + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is NfviCapacityInfo + +GET Information about an Individual CCMs NFVI Capacity Information using filter query parameter + [Documentation] Test ID: 5.3.6.7.3 + ... Test title: GET Information about an Individual CCMs NFVI Capacity Information using filter query parameter + ... Test objective: The objective is to retrieve information about Individual CCMs NFVI Capacity Information using filter query parameter + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual CCMs NFVI Capacity Information using filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is NfviCapacityInfo + +GET Information about an Individual CCMs NFVI Capacity Information - NOT FOUND + [Documentation] Test ID: 5.3.6.7.4 + ... Test title: GET Information about an Individual CCMs NFVI Capacity Information - NOT FOUND + ... Test objective: The objective is to test that the retrieval of Individual CCMs NFVI Capacity Information fails when using an invalid resource identifier. + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET Individual CCMs NFVI Capacity Information with Invalid VIM ID + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +PUT Individual CCMs NFVI Capacity Information - Method not implemented + [Documentation] Test ID: 5.3.6.7.5 + ... Test title: PUT Individual CCMs NFVI Capacity Information - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: VNF Snapshot Package not modified + PUT Individual CCMs NFVI Capacity Information + Check HTTP Response Status Code Is 405 + +PATCH Individual CCMs NFVI Capacity Information - Method Not implemented + [Documentation] Test ID: 5.3.6.7.6 + ... Test title: PATCH Individual CCMs NFVI Capacity Information + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: VNF Snapshot Package modified + PATCH Individual CCMs NFVI Capacity Information + Check HTTP Response Status Code Is 405 + +DELETE Individual CCMs NFVI Capacity Information - Method Not implemented + [Documentation] Test ID: 5.3.6.7.7 + ... Test title: DELETE Individual CCMs NFVI Capacity Information - Method Not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: VNF Snapshot Package deleted + DELETE Individual CCMs NFVI Capacity Information + Check HTTP Response Status Code Is 405 + +GET Information about an Individual CCMs NFVI Capacity Information with permitted authorization scope + [Documentation] Test ID: 5.3.6.7.8 + ... Test title: GET Information about an Individual CCMs NFVI Capacity Information with permitted authorization scope + ... Test objective: The objective is to retrieve information about Individual CCms NFVI Capacity Information with permitted authorization scope + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual CCMs NFVI Capacity Information with permitted authorization scope + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is NfviCapacityInfo + +GET Information about an Individual CCMs NFVI Capacity Information with not permitted authorization scope + [Documentation] Test ID: 5.3.6.7.9 + ... Test title: GET Information about an Individual CCMs NFVI Capacity Information with not permitted authorization scope + ... Test objective: The objective is to test that retrieve information about Individual CCMs NFVI Capacity Information fails when using not permitted authorization scope + ... Pre-conditions: none + ... Reference: Clause 10.4.3a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET Individual CCMs NFVI Capacity Information with not permitted authorization scope + Check HTTP Response Status Code Is 401 \ No newline at end of file diff --git a/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot b/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot index b5436c6d123ee685865c82b7c0892849f375e10a..de0969f708ebbd1d7c6e742f5d006b65b4cf25ad 100644 --- a/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot +++ b/SOL005/NFVICapacityInformation-API/IndividualCapacityThreshold.robot @@ -7,7 +7,7 @@ POST Individual Capacity Threshold ... Test title: POST Individual Capacity Threshold ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Individual Capacity Thresholds ... Test title: GET Capacity Thresholds ... Test objective: The objective is to test that GET method reads information about Individual Capacity Threshold ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Individual Capacity Thresholds - NOT FOUND ... Test title: GET Capacity Thresholds - NOT FOUND ... Test objective: The objective is to test that GET method returns an error when using and invalid URI ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual Capacity Threshold - Method not implemented ... Test title: PUT Capacity Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ PATCH Individual Capacity Threshold - Success ... Test title: PATCH Individual Capacity Threshold - Success ... Test objective: The objective is to test that PATCH method successfully modifies an individual Capacity Threshold resource ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Capacity Threshold modified @@ -70,7 +70,7 @@ PATCH Individual Capacity Threshold - Precondition Failed ... Test title: PATCH Individual Capacity Threshold - Precondition Failed ... Test objective: The objective is to that the modification of individual Capacity Threshold fails because precondition given in an HTTP request header is not fulfilled due to an ETag mismatch. ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ PATCH Individual Capacity Threshold - Precondition Failed HTTP Conditional Reque ... Test title: PATCH Individual Capacity Threshold - Precondition Failed HTTP Conditional Request Not Supported ... Test objective: The objective is to that the modification of individual Capacity Threshold fails because the API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Post-Conditions: none @@ -96,7 +96,7 @@ PATCH Individual Capacity Threshold - Unprocessable Content ... Test title: PATCH Individual Capacity Threshold - Unprocessable Content ... Test objective: The objective is to that the modification of individual Capacity Threshold fails because callbackUri provided in the request body is unreachable. ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ DELETE Individual Capacity Threshold ... Test title: DELETE Individual Capacity Threshold ... Test objective: The objective is to delete an Individual Capacity Threshold ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Capacity threshold is deleted @@ -122,7 +122,7 @@ GET Individual Capacity Thresholds with permitted authorization scope ... Test title: GET Capacity Thresholds with permitted authorization scope ... Test objective: The objective is to test that GET method reads information about Individual Capacity Threshold with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ GET Individual Capacity Thresholds with not permitted authorization scope ... Test title: GET Capacity Thresholds with not permitted authorization scope ... Test objective: The objective is to test that GET method fails to read information about Individual Capacity Threshold when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot b/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot index b3b2c3c13eb714266998e5e3c5cb0480ce9b5dde..0d1f723594e1bff4c3433d8cc34a2ccd46dd49cd 100644 --- a/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot +++ b/SOL005/NFVICapacityInformation-API/IndividualVIMsNFVICapacityInformation.robot @@ -7,7 +7,7 @@ POST Individual VIMs NFVI Capacity Information - Method not implemented ... Test title: POST Individual VIMs NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Information about an Individual VIMs NFVI Capacity Information ... Test title: GET Information about an Individual VIMs NFVI Capacity Information ... Test objective: The objective is to retrieve information about Individual VIMs NFVI Capacity Information ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Information about an Individual VIMs NFVI Capacity Information using filter ... Test title: GET Information about an Individual VIMs NFVI Capacity Information using filter query parameter ... Test objective: The objective is to retrieve information about Individual VIMs NFVI Capacity Information using filter query parameter ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET Information about an Individual VIMs NFVI Capacity Information - NOT FOUND ... Test title: GET Information about an Individual VIMs NFVI Capacity Information - NOT FOUND ... Test objective: The objective is to test that the retrieval of Individual VIMs NFVI Capacity Information fails when using an invalid resource identifier. ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ PUT Individual VIMs NFVI Capacity Information - Method not implemented ... Test title: PUT Individual VIMs NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package not modified @@ -70,7 +70,7 @@ PATCH Individual VIMs NFVI Capacity Information - Method Not implemented ... Test title: PATCH Individual VIMs NFVI Capacity Information ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package modified @@ -82,7 +82,7 @@ DELETE Individual VIMs NFVI Capacity Information - Method Not implemented ... Test title: DELETE Individual VIMs NFVI Capacity Information - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot Package deleted @@ -94,7 +94,7 @@ GET Information about an Individual VIMs NFVI Capacity Information with permitte ... Test title: GET Information about an Individual VIMs NFVI Capacity Information with permitted authorization scope ... Test objective: The objective is to retrieve information about Individual VIMs NFVI Capacity Information with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -107,7 +107,7 @@ GET Information about an Individual VIMs NFVI Capacity Information with not perm ... Test title: GET Information about an Individual VIMs NFVI Capacity Information with not permitted authorization scope ... Test objective: The objective is to test that retrieve information about Individual VIMs NFVI Capacity Information fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot b/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot index 7b6a58aeddcb7bd4e098ad0bda4dc91841907c69..c1d9e6f674be81d5bce4644ec25e1cc13d28e200 100644 --- a/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot +++ b/SOL005/NFVICapacityInformation-API/NFVICapacityInformation.robot @@ -7,7 +7,7 @@ POST NFVI Capacity Information - Method not implemented ... Test title: POST NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET NFVI Capacity Information ... Test title: GET NFVI Capacity Information ... Test objective: The objective is to GET NFVI Capacity Information objects ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET NFVI Capacity Information - Filter ... Test title: GET NFVI Capacity Information - Filter ... Test objective: The objective is to GET NFVI Capacity Information objects using filter ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET NFVI Capacity Information Bad Request Invalid attribute-based filtering para ... Test title: GET NFVI Capacity Information Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about NFVI Capacity Information with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ GET NFVI Capacity Information Bad Request Invalid attribute selector ... Test title: GET NFVI Capacity Information Bad Request Invalid attribute selector ... Test objective: The objective is to get information about NFVI Capacity Information with Invalid attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ GET NFVI Capacity Information with "all_fields" attribute selector ... Test title: GET NFVI Capacity Information with "all_fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "all_fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET NFVI Capacity Information with "exclude_default" attribute selector ... Test title: GET NFVI Capacity Information with "exclude_default" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "exclude_default" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ GET NFVI Capacity Information with "fields" attribute selector ... Test title: GET NFVI Capacity Information with "fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ GET NFVI Capacity Information with "exclude_default" and "fields" attribute sele ... Test title: GET NFVI Capacity Information with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "exclude_default" and "fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ GET NFVI Capacity Information with "exclude_fields" attribute selector ... Test title: GET NFVI Capacity Information with "exclude_fields" attribute selector ... Test objective: The objective is to query NFVI Capacity Information with "exclude_fields" attribute selector ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ GET NFVI Capacity Information - Bad Request Response too Big ... Test title: GET NFVI Capacity Information - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing NFVI Capacity Information list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -149,7 +149,7 @@ GET NFVI Capacity Information as Paged Response ... Test title: GET NFVI Capacity Information as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing NFVI Capacity Information as paged response. ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -162,7 +162,7 @@ PUT NFVI Capacity Information - Method not implemented ... Test title: PUT NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -174,7 +174,7 @@ PATCH NFVI Capacity Information - Method not implemented ... Test title: PATCH NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -186,7 +186,7 @@ DELETE NFVI Capacity Information - Method not implemented ... Test title: DELETE NFVI Capacity Information - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -198,7 +198,7 @@ GET NFVI Capacity Information with permitted authorization scope ... Test title: GET NFVI Capacity Information with permitted authorization scope ... Test objective: The objective is to GET NFVI Capacity Information objects with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -211,7 +211,7 @@ GET NFVI Capacity Information with not permitted authorization scope ... Test title: GET NFVI Capacity Information with not permitted authorization scope ... Test objective: The objective is to test that GET NFVI Capacity Information objects fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/NFVICapacityInformationKeywords.robot b/SOL005/NFVICapacityInformation-API/NFVICapacityInformationKeywords.robot index 893df1c7696f664afeb9e58c5341dfcffe86849d..820a65190d8cd8fdb58934287f451b5ca0297bc1 100644 --- a/SOL005/NFVICapacityInformation-API/NFVICapacityInformationKeywords.robot +++ b/SOL005/NFVICapacityInformation-API/NFVICapacityInformationKeywords.robot @@ -322,6 +322,92 @@ DELETE Individual VIMs NFVI Capacity Information ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Individual CCMs NFVI Capacity Information + log Trying to perform a POST. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual CCMs NFVI Capacity Information + log Trying to get information about an Individual CCMs NFVI Capacity Information + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual CCMs NFVI Capacity Information with permitted authorization scope + log Trying to get information about an Individual VIMs NFVI Capacity Information + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${scopeValue}= Create Dictionary scope=${INFOS_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key='' algorithm=${OAUTH_ENCRIPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + Log Authorization Token: ${authorizationToken} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual CCMs NFVI Capacity Information with not permitted authorization scope + log Trying to get information about an Individual CCMs NFVI Capacity Information + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${scopeValue}= Create Dictionary scope=${NOT_PERMITTED_SCOPE} + ${authorizationToken}= JWT Encode payload=${scopeValue} key='' algorithm=${OAUTH_ENCRIPTION_ALGORITHM} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${authorizationToken}"} + Log Authorization Token: ${authorizationToken} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual CCMs NFVI Capacity Information using filter + log Trying to get information about an Individual CCMs NFVI Capacity Information + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId}?${POS_FILTER_info} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual CCMs NFVI Capacity Information with Invalid VIM ID + log Trying to get information about an Individual CCMs NFVI Capacity Information + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${invalidCcmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT Individual CCMs NFVI Capacity Information + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH Individual CCMs NFVI Capacity Information + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE Individual CCMs NFVI Capacity Information + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/nfvi_capacity_infos/ccm/${ccmId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + POST Create a Capacity Threshold Log Trying to POST create a new capacity threshold. Set Headers {"Accept":"${ACCEPT_JSON}"} diff --git a/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot b/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot index a060f95627753066bda987ffa7e52f11791d4599..4adb2c341c1ee19d30cd3280ab386a8d92105960 100644 --- a/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot +++ b/SOL005/NFVICapacityInformation-API/NotificationEndpoint.robot @@ -8,7 +8,7 @@ Capacity Shortage Notification ... Test title: Capacity Shortage Notification ... Test objective: The objective is to test that Capacity Shortage Notification is delivered with success to the notification consumer. ... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource - ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -20,7 +20,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ Test the Notification Endpoint - UNREACHABLE ... Test title: Test the Notification Endpoint - UNREACHABLE ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: The consumer has already created an Individual Capacity Threshold resource - ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: The notification endpoint is unreachable by the API producer. ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 10.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NFVICapacityInformation-API/environment/variables.txt b/SOL005/NFVICapacityInformation-API/environment/variables.txt index d402693c45599cc3eb981cb65e87e604aa062022..91b10e8d26ae2d2521b22cad22c0bef4b43c1195 100644 --- a/SOL005/NFVICapacityInformation-API/environment/variables.txt +++ b/SOL005/NFVICapacityInformation-API/environment/variables.txt @@ -43,4 +43,7 @@ ${invalidVimId} ${capacityThreshold} ${invalid_capacityThreshold} +${ccmId} +${invalidCcmId} + ${PRODUCER_SUPPORT_COND_REQ} 1 diff --git a/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfo.schema.json b/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfo.schema.json index 79d4b1eb6610a6fe8f063e2b35940fbd82b49645..d495c336c382894b49815660a5da51927ce73719 100644 --- a/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfo.schema.json +++ b/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfo.schema.json @@ -1,143 +1,152 @@ { - "type": "object", - "description": "This type defines the format of the NFVI capacity information. The type shall comply with the provisions defined\nin Table 10.5.2.4-1.\n", - "required": [ - "id", - "vimId", - "capacityInfoPerZone" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "capacityInfoPerZone": { - "description": "Capacity information on a per resource zone basis under control by the associated VIM.\n", - "type": "array", - "items": { - "type": "object", - "description": "This type defines the format of the NFVI capacity information on a per resource zone basis.\nThe type shall comply with the provisions defined in table 10.5.2.5-1.\n", - "required": [ - "capacityMeasurements" - ], - "properties": { - "resourceZoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "capacityMeasurements": { - "description": "Capacity measurement on a per resource type basis.\n", - "type": "array", - "items": { - "type": "object", - "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n", - "required": [ - "resourceType", - "capacityMeasurementName", - "totalCapacity", - "allocatedCapacity", - "availableCapacity" - ], - "properties": { - "resourceType": { - "type": "string", - "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", - "enum": [ - "VR_COMPUTE", - "VR_NETWORK", - "VR_STORAGE", - "HOST_COMPUTE" - ] - }, - "capacityMeasurementName": { - "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n", - "type": "string" - }, - "totalCapacity": { - "description": "The total capacity.\n", - "type": "object" - }, - "allocatedCapacity": { - "description": "The allocated/used capacity.\n", - "type": "object" - }, - "reservedCapacity": { - "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", - "type": "object" - }, - "availableCapacity": { - "description": "The available capacity.\n", - "type": "object" - } - } - } - } - } - } - }, - "totalCapacityInfo": { - "type": "object", - "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n", - "required": [ - "resourceType", - "capacityMeasurementName", - "totalCapacity", - "allocatedCapacity", - "availableCapacity" - ], - "properties": { - "resourceType": { - "type": "string", - "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", - "enum": [ - "VR_COMPUTE", - "VR_NETWORK", - "VR_STORAGE", - "HOST_COMPUTE" - ] - }, - "capacityMeasurementName": { - "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n", - "type": "string" - }, - "totalCapacity": { - "description": "The total capacity.\n", - "type": "object" - }, - "allocatedCapacity": { - "description": "The allocated/used capacity.\n", - "type": "object" - }, - "reservedCapacity": { - "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", - "type": "object" - }, - "availableCapacity": { - "description": "The available capacity.\n", - "type": "object" - } - } - }, - "timeInterval": { - "type": "object", - "description": "This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1.\n", - "required": [ - "aTime" - ], - "properties": { - "aTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "bTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - } - } - } - } + "type": "object", + "description": "This type defines the format of the NFVI capacity information. The type shall comply with the provisions defined\nin Table 10.5.2.4-1.\n", + "required": [ + "id", + "capacityInfoPerZone" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "ccmId": { + "description": "Identifies the CCM to which the NFVI capacity information is associated. \n", + "type": "string" + }, + "capacityInfoPerZone": { + "description": "Capacity information on a per resource zone basis under control by the associated VIM.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type defines the format of the NFVI capacity information on a per resource zone basis.\nThe type shall comply with the provisions defined in table 10.5.2.5-1.\n", + "required": [ + "capacityMeasurements" + ], + "properties": { + "resourceZoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cisClusterId": { + "description": "Identifies the CIS cluster of the applicable NFVI capacity information.\n", + "type": "string" + }, + "capacityMeasurements": { + "description": "Capacity measurement on a per resource type basis.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\nNOTE: The present document and referred documents do not specify the capacity measurements,\nthus the capacity measurement names are not specified in the present document version.\n", + "required": [ + "resourceType", + "capacityMeasurementName", + "totalCapacity", + "allocatedCapacity", + "availableCapacity" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", + "enum": [ + "VR_COMPUTE", + "VR_NETWORK", + "VR_STORAGE", + "HOST_COMPUTE" + ] + }, + "capacityMeasurementName": { + "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nSee note.\n", + "type": "string" + }, + "totalCapacity": { + "description": "The total capacity.\n", + "type": "object" + }, + "allocatedCapacity": { + "description": "The allocated/used capacity.\n", + "type": "object" + }, + "reservedCapacity": { + "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", + "type": "object" + }, + "availableCapacity": { + "description": "The available capacity.\n", + "type": "object" + } + } + } + } + } + } + }, + "totalCapacityInfo": { + "type": "object", + "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\nNOTE: The present document and referred documents do not specify the capacity measurements,\nthus the capacity measurement names are not specified in the present document version.\n", + "required": [ + "resourceType", + "capacityMeasurementName", + "totalCapacity", + "allocatedCapacity", + "availableCapacity" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", + "enum": [ + "VR_COMPUTE", + "VR_NETWORK", + "VR_STORAGE", + "HOST_COMPUTE" + ] + }, + "capacityMeasurementName": { + "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nSee note.\n", + "type": "string" + }, + "totalCapacity": { + "description": "The total capacity.\n", + "type": "object" + }, + "allocatedCapacity": { + "description": "The allocated/used capacity.\n", + "type": "object" + }, + "reservedCapacity": { + "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", + "type": "object" + }, + "availableCapacity": { + "description": "The available capacity.\n", + "type": "object" + } + } + }, + "timeInterval": { + "type": "object", + "description": "This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1.\nNOTE: When only the aTime is present, there is no time interval being defined, and therefore the provided timing\ninformation refers to a specific point in time.\n", + "required": [ + "aTime" + ], + "properties": { + "aTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "bTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfos.schema.json b/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfos.schema.json index f8329b9506185fe60ab11d2f33fd1cb4a2776c46..1c44b222f36b96998015a00cfb1b608fbd6cb6f9 100644 --- a/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfos.schema.json +++ b/SOL005/NFVICapacityInformation-API/schemas/NfviCapacityInfos.schema.json @@ -1,147 +1,155 @@ { - "type": "array", - "items": - { - "type": "object", - "description": "This type defines the format of the NFVI capacity information. The type shall comply with the provisions defined\nin Table 10.5.2.4-1.\n", - "required": [ - "id", - "vimId", - "capacityInfoPerZone" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "capacityInfoPerZone": { - "description": "Capacity information on a per resource zone basis under control by the associated VIM.\n", - "type": "array", - "items": { - "type": "object", - "description": "This type defines the format of the NFVI capacity information on a per resource zone basis.\nThe type shall comply with the provisions defined in table 10.5.2.5-1.\n", - "required": [ - "capacityMeasurements" - ], - "properties": { - "resourceZoneId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "capacityMeasurements": { - "description": "Capacity measurement on a per resource type basis.\n", - "type": "array", - "items": { - "type": "object", - "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n", - "required": [ - "resourceType", - "capacityMeasurementName", - "totalCapacity", - "allocatedCapacity", - "availableCapacity" - ], - "properties": { - "resourceType": { - "type": "string", - "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", - "enum": [ - "VR_COMPUTE", - "VR_NETWORK", - "VR_STORAGE", - "HOST_COMPUTE" - ] - }, - "capacityMeasurementName": { - "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n", - "type": "string" - }, - "totalCapacity": { - "description": "The total capacity.\n", - "type": "object" - }, - "allocatedCapacity": { - "description": "The allocated/used capacity.\n", - "type": "object" - }, - "reservedCapacity": { - "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", - "type": "object" - }, - "availableCapacity": { - "description": "The available capacity.\n", - "type": "object" - } - } - } - } - } - } - }, - "totalCapacityInfo": { - "type": "object", - "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\n", - "required": [ - "resourceType", - "capacityMeasurementName", - "totalCapacity", - "allocatedCapacity", - "availableCapacity" - ], - "properties": { - "resourceType": { - "type": "string", - "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", - "enum": [ - "VR_COMPUTE", - "VR_NETWORK", - "VR_STORAGE", - "HOST_COMPUTE" - ] - }, - "capacityMeasurementName": { - "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nThe present document and referred documents do not specify the capacity measurements, thus the capacity\nmeasurement names are not specified in the present document version.\n", - "type": "string" - }, - "totalCapacity": { - "description": "The total capacity.\n", - "type": "object" - }, - "allocatedCapacity": { - "description": "The allocated/used capacity.\n", - "type": "object" - }, - "reservedCapacity": { - "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", - "type": "object" - }, - "availableCapacity": { - "description": "The available capacity.\n", - "type": "object" - } - } - }, - "timeInterval": { - "type": "object", - "description": "This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1.\n", - "required": [ - "aTime" - ], - "properties": { - "aTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "bTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - } - } - } - } - } -} \ No newline at end of file + "type": "array", + "items": { + "type": "object", + "description": "This type defines the format of the NFVI capacity information. The type shall comply with the provisions defined\nin Table 10.5.2.4-1.\n", + "required": [ + "id", + "capacityInfoPerZone" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "ccmId": { + "description": "Identifies the CCM to which the NFVI capacity information is associated. \n", + "type": "string" + }, + "capacityInfoPerZone": { + "description": "Capacity information on a per resource zone basis under control by the associated VIM.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type defines the format of the NFVI capacity information on a per resource zone basis.\nThe type shall comply with the provisions defined in table 10.5.2.5-1.\n", + "required": [ + "capacityMeasurements" + ], + "properties": { + "resourceZoneId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "cisClusterId": { + "description": "Identifies the CIS cluster of the applicable NFVI capacity information.\n", + "type": "string" + }, + "capacityMeasurements": { + "description": "Capacity measurement on a per resource type basis.\n", + "type": "array", + "items": { + "type": "object", + "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\nNOTE: The present document and referred documents do not specify the capacity measurements,\nthus the capacity measurement names are not specified in the present document version.\n", + "required": [ + "resourceType", + "capacityMeasurementName", + "totalCapacity", + "allocatedCapacity", + "availableCapacity" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", + "enum": [ + "VR_COMPUTE", + "VR_NETWORK", + "VR_STORAGE", + "HOST_COMPUTE" + ] + }, + "capacityMeasurementName": { + "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nSee note.\n", + "type": "string" + }, + "totalCapacity": { + "description": "The total capacity.\n", + "type": "object" + }, + "allocatedCapacity": { + "description": "The allocated/used capacity.\n", + "type": "object" + }, + "reservedCapacity": { + "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", + "type": "object" + }, + "availableCapacity": { + "description": "The available capacity.\n", + "type": "object" + } + } + } + } + } + } + }, + "totalCapacityInfo": { + "type": "object", + "description": "This type defines the format of the NFVI capacity information on a per resource type basis.\nThe type shall comply with the provisions defined in table 10.5.2.6-1.\nNOTE: The present document and referred documents do not specify the capacity measurements,\nthus the capacity measurement names are not specified in the present document version.\n", + "required": [ + "resourceType", + "capacityMeasurementName", + "totalCapacity", + "allocatedCapacity", + "availableCapacity" + ], + "properties": { + "resourceType": { + "type": "string", + "description": "The enumeration NfviCapacityResourceTypeEnumeration shall comply with the provisions in table 10.5.4.3-1.\n* VR_COMPUTE: For virtualised compute resource.\n* VR_NETWORK: For virtualised network resource.\n* VR_STORAGE: For virtualised storage resource.\n* HOST_COMPUTE: For host compute resource.\n", + "enum": [ + "VR_COMPUTE", + "VR_NETWORK", + "VR_STORAGE", + "HOST_COMPUTE" + ] + }, + "capacityMeasurementName": { + "description": "Name of the capacity measurement. Different resource types can have different associated capacity measurements,\ntypically associated to different sub-types of the resource type.\nSee note.\n", + "type": "string" + }, + "totalCapacity": { + "description": "The total capacity.\n", + "type": "object" + }, + "allocatedCapacity": { + "description": "The allocated/used capacity.\n", + "type": "object" + }, + "reservedCapacity": { + "description": "The reserved capacity. Shall be present if the capacity measurement relates to a resource type and\n(and sub-type) that is reservable.\n", + "type": "object" + }, + "availableCapacity": { + "description": "The available capacity.\n", + "type": "object" + } + } + }, + "timeInterval": { + "type": "object", + "description": "This type defines the format of a time interval. The type shall comply with the provisions defined in table 10.5.2.7-1.\nNOTE: When only the aTime is present, there is no time interval being defined, and therefore the provided timing\ninformation refers to a specific point in time.\n", + "required": [ + "aTime" + ], + "properties": { + "aTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "bTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot b/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot index 793b9e14f86c9b924026acc434a47f752971b3b2..be54813bc534140fce0a8b91540a9e8144e249cc 100644 --- a/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot +++ b/SOL005/NSDManagement-API/IndividualNSDArchiveArtifact.robot @@ -12,7 +12,7 @@ GET Individual NSD Archive Artifact ... Test title: GET Individual NSD Archive Artifact ... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual NSD Archive Artifact with include_signatures parameter ... Test title: GET Individual NSD Archive Artifact with include_signatures parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET Individual NSD Archive Artifact in octet stream format ... Test title: GET Individual NSD Archive Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format. ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -50,7 +50,7 @@ GET Individual NSD Archive Artifact with Range Request and NFVO supporting Range ... Test title: GET Individual NSD Archive Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD Archive artifact ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Individual NSD Archive Artifact with Range Request and NFVO not supporting R ... Test title: GET Individual NSD Archive Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual NSD archive artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full NSD Archive artifact. ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the NSD Archive artifact ... Post-Conditions: none @@ -76,7 +76,7 @@ GET Individual NSD Archive Artifact with invalid resource identifier ... Test title: GET Individual NSD Archive Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NSD Archive Artifact fails when using an invalid resource identifier ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET Individual NSD Archive Artifact - Not Acceptable ... Test title: GET Individual NSD Archive Artifact - Not Acceptable ... Test objective: The objective is to test that the retrieval of an individual NSD Archive artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET Individual NSD Archive Artifact with conflict due to onboarding state ... GET Individual NSD Archive Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual NSD Archive Artifact fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD archive for which the content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ GET Individual NSD Archive Artifact with invalid Range Request ... Test title: GET Individual NSD Archive Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an Individual NSD Archive fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more NSD Archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD Archive artifact ... Post-Conditions: none @@ -127,7 +127,7 @@ POST Individual NSD Archive Artifact - Method not implemented ... Test title: POST Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an individual artifact contained in an NSD archive. ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ PUT Individual NSD Archive Artifact - Method not implemented ... Test title: PUT Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an Individual NSD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ PATCH Individual NSD Archive Artifact - Method not implemented ... Test title: PATCH Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an Individual NSD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -163,7 +163,7 @@ DELETE Individual NSD Archive Artifact - Method not implemented ... Test title: DELETE Individual NSD Archive Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an Individual NSD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.4c.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -175,7 +175,7 @@ GET Individual NSD Archive Artifact with permitted authorization scope ... Test title: GET Individual NSD Archive Artifact with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual NSD Archive artifact with permitted authorization scope ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -187,7 +187,7 @@ GET Individual NSD Archive Artifact with not permitted authorization scope ... Test title: GET Individual NSD Archive Artifact with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of an individual NSD Archive artifact fails when using not permitted authorization scope ... Pre-conditions: One or more NSD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/IndividualNSDescriptor.robot b/SOL005/NSDManagement-API/IndividualNSDescriptor.robot index 4d889561b93a52f255048594cbd938478ed7038d..e0917ef40dc012492cb39f085633fb55c5f984f1 100644 --- a/SOL005/NSDManagement-API/IndividualNSDescriptor.robot +++ b/SOL005/NSDManagement-API/IndividualNSDescriptor.robot @@ -14,7 +14,7 @@ GET Individual Network Service Descriptor Information ... Test title: GET Individual Network Service Descriptor Information ... Test objective: The objective is to test the retrieval of an individual Network Service Descriptor information and perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET Individual Network Service Descriptor Information with invalid resource iden ... Test title: GET Individual Network Service Descriptor Information with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual Network Service Descriptor Information fails when using an invalid resource identifier ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ Disable Individual Network Service Descriptor ... Test title: Disable Individual Network Service Descriptor ... Test objective: The objective is to test the disabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in enabled operational state. - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is in operational state DISABLED and usage state is not modified @@ -59,7 +59,7 @@ Enable Individual Network Service Descriptor ... Test title: Enable Individual Network Service Descriptor ... Test objective: The objective is to test the enabling of an individual Network Service Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.1.2.3). - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is in operational state ENABLED and usage state is not modified @@ -74,7 +74,7 @@ Enable Individual Network Service Descriptor with conflict due to operational st ... Test title: Enable Individual Network Service Descriptor with conflict due to operational state ENABLED ... Test objective: The objective is to test that enabling an individual Network Service Descriptor that is already in ENABLED operational state failsand perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ Enable Individual Network Service Descriptor with conflict due to onboarding sta ... Test title: Enable Individual Network Service Descriptor with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a conflict when the Network Service Descriptor is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state. The onboarding state of the Network Service Descriptor for which the enabling is requested is different from ONBOARDED. - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ Enable Individual Network Service Descriptor with HTTP Etag precondition failure ... Test title: Enable Individual Network Service Descriptor with HTTP Etag precondition failure ... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails due to a precondition failure when using an uncorrect Http Etag identified. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ Enable Individual Network Service Descriptor with HTTP Conditional Request Not S ... Test title: Enable Individual Network Service Descriptor with HTTP Conditional Request Not Supported Precondition Failure ... Test objective: The objective is to test that the retrieval of an Network Service Descriptor fails if the API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Post-Conditions: none @@ -135,7 +135,7 @@ DELETE Individual Network Service Descriptor ... Test title: DELETE Individual Network Service Descriptor ... Test objective: The objective is to test the deletion of an individual Network Service Descriptor. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state and NOT_IN_USE usage state. - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not available anymore in the NFVO @@ -148,7 +148,7 @@ DELETE Individual Network Service Descriptor in operational state ENABLED ... Test title: DELETE Individual Network Service Descriptor in operational state ENABLED ... Test objective: The objective is to test that the deletion of an individual Network Service Descriptor in operational state ENABLED fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.4). - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not deleted by the failed operation. @@ -162,7 +162,7 @@ POST Individual Network Service Descriptor - Method not implemented ... Test title: POST Individual Network Service Descriptor - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -174,7 +174,7 @@ PUT Individual Network Service Descriptor - Method not implemented ... Test title: PUT Individual Network Service Descriptor - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a new Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -186,7 +186,7 @@ DELETE Individual Network Service Descriptor with permitted authorization scope ... Test title: DELETE Individual Network Service Descriptor with permitted authorization scope ... Test objective: The objective is to test the deletion of an individual Network Service Descriptor with permitted authorization scope. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state and NOT_IN_USE usage state. - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not available anymore in the NFVO @@ -200,7 +200,7 @@ DELETE Individual Network Service Descriptor with not permitted authorization sc ... Test title: DELETE Individual Network Service Descriptor with not permitted authorization scope ... Test objective: The objective is to test that the deletion of an individual Network Service Descriptor fails when using a not permitted authorization scope. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in DISABLED operational state and NOT_IN_USE usage state. - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Network Service Descriptor is not available anymore in the NFVO diff --git a/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot b/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot index a3e0251781a0b65f838bcc65affd8d9dec20c9b8..3a7d6c4e152f089b1a31f409b98560340dad6b35 100644 --- a/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot +++ b/SOL005/NSDManagement-API/IndividualPNFDArchiveArtifact.robot @@ -12,7 +12,7 @@ GET Individual PNFD Archive Artifact ... Test title: GET Individual PNFD Archive Artifact ... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual PNFD Archive Artifact with include_signatures parameter ... Test title: GET Individual PNFD Archive Artifact with include_signatures parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET Individual PNFD Archive Artifact in octet stream format ... Test title: GET Individual PNFD Archive Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format. ... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -50,7 +50,7 @@ GET Individual PNFD Archive Artifact with Range Request and NFVO supporting Rang ... Test title: GET Individual PNFD Archive Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the PNFD Archive artifact ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Individual PNFD Archive Artifact with Range Request and NFVO not supporting ... Test title: GET Individual PNFD Archive Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual PNFD archive artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full PNFD Archive artifact. ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the PNFD Archive artifact ... Post-Conditions: none @@ -76,7 +76,7 @@ GET Individual PNFD Archive Artifact with invalid resource identifier ... Test title: GET Individual PNFD Archive Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual PNFD Archive Artifact fails when using an invalid resource identifier ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET Individual PNFD Archive Artifact - Not Acceptable ... Test title: GET Individual PNFD Archive Artifact - Not Acceptable ... Test objective: The objective is to test that the retrieval of an individual PNFD Archive artifact fails when related request contained an "Accept" header not compatible with the Content type "application/zip" but the "include_signatures" flag was provided ... Pre-conditions: One or more PNFD archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET Individual PNFD Archive Artifact with conflict due to onboarding state ... GET Individual PNFD Archive Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual PNFD Archive Artifact fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD archive for which the content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ GET Individual PNFD Archive Artifact with invalid Range Request ... Test title: GET Individual PNFD Archive Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an Individual PNFD Archive fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more PNFD Archives are on-boarded to the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the PNFD Archive artifact ... Post-Conditions: none @@ -128,7 +128,7 @@ POST Individual PNFD Archive Artifact - Method not implemented ... Test title: POST Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an individual artifact contained in an PNFD archive. ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -140,7 +140,7 @@ PUT Individual PNFD Archive Artifact - Method not implemented ... Test title: PUT Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an Individual PNFD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ PATCH Individual PNFD Archive Artifact - Method not implemented ... Test title: PATCH Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an Individual PNFD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ DELETE Individual PNFD Archive Artifact - Method not implemented ... Test title: DELETE Individual PNFD Archive Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an Individual PNFD Archive artifact ... Pre-conditions: none - ... Reference: Clause 5.4.7c.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -176,7 +176,7 @@ GET Individual PNFD Archive Artifact with permitted authorization scope ... Test title: GET Individual PNFD Archive Artifact with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual PNFD Archive artifact with permitted authorization scope ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -188,7 +188,7 @@ GET Individual PNFD Archive Artifact with not permitted authorization scope ... Test title: GET Individual PNFD Archive Artifact with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of an individual PNFD Archive artifact fails when using not permitted authorization scope ... Pre-conditions: One or more PNFD archives are on-boarded in the NFVO. - ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7c.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot b/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot index d5e0aa8e94b772a9b5afe1df2426766755999828..638ff186f17a2eceddcca29a2ab5bbf721cc5c4f 100644 --- a/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot +++ b/SOL005/NSDManagement-API/IndividualPnfDescriptor.robot @@ -13,7 +13,7 @@ GET Individual PNF Descriptor Information ... Test title: GET Individual PNF Descriptor Information ... Test objective: The objective is to test the retrieval of an individual PNF Descriptor information and perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET Individual PNF Descriptor Information with invalid resource identifier ... Test title: GET Individual PNF Descriptor Information with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual PNF Descriptor Information fails when using an invalid resource identifier ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ Update Individual PNF Descriptor ... Test title: Update Individual PNF Descriptor ... Test objective: The objective is to test the update of an individual PNF Descriptor and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is modified according to the update request @@ -55,7 +55,7 @@ Update Individual PNF Descriptor with HTTP Etag precondition failure ... Test title: Update Individual PNF Descriptor with HTTP Etag precondition failure ... Test objective: The objective is to test that the update of a PNF Descriptor fails due to a precondition failure when using an uncorrect Http Etag identified. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ Update Individual PNF Descriptor with HTTP Conditional Request Not Supported Pre ... Test title: Update Individual PNF Descriptor with HTTP Conditional Request Not Supported Precondition Failure ... Test objective: The objective is to test that the update of a PNF Descriptor fails due to the API Producer not supporting "Last-Modified" and "ETag" HTTP Headers ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Post-Conditions: none @@ -79,7 +79,7 @@ POST Individual PNF Descriptor - Method not implemented ... Test title: POST Individual PNF Descriptor - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNF Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ PUT Individual PNF Descriptor - Method not implemented ... Test title: PUT Individual PNF Descriptor - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a new PNF Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ DELETE Individual PNF Descriptor ... Test title: DELETE Individual PNF Descriptor ... Test objective: The objective is to test the deletion of an individual PNF Descriptor. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is not available anymore in the NFVO @@ -116,7 +116,7 @@ Update Individual PNF Descriptor with permitted authorization scope ... Test title: Update Individual PNF Descriptor with permitted authorization scope ... Test objective: The objective is to test the update of an individual PNF Descriptor with permitted authorization scope ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is modified according to the update request @@ -130,7 +130,7 @@ Update Individual PNF Descriptor with not permitted authorization scope ... Test title: Update Individual PNF Descriptor with not permitted authorization scope ... Test objective: The objective is to test that the update of an individual PNF Descriptor fails when using not permitted authorization scope ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor is modified according to the update request diff --git a/SOL005/NSDManagement-API/IndividualSubscription.robot b/SOL005/NSDManagement-API/IndividualSubscription.robot index baf663bfeedf5e242ae6b876f0e49d48676fbb44..622952e6fe2c2d72cffa0e5d8301732b65ba867e 100644 --- a/SOL005/NSDManagement-API/IndividualSubscription.robot +++ b/SOL005/NSDManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual NSD Management Subscription ... Test title: GET Individual NSD Management Subscription ... Test objective: The objective is to test the retrieval of individual NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual NSD Management Subscription with invalid resource identifier ... Test title: GET Individual NSD Management Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NSD Management subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual NSD Management Subscription with invalid resource identifier ... Test title: DELETE Individual NSD Management Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NSD Management subscription fails when using an invalid resource identifier ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Individual NSD Management Subscription - Method not implemented ... Test title: POST Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NSD Management Subscription ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Individual NSD Management Subscription - Method not implemented ... Test title: PUT Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NSD Management subscription ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Individual NSD Management Subscription - Method not implemented ... Test title: PATCH Individual NSD Management Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NSD Management subscription ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Individual NSD Management Subscription ... Test title: DELETE Individual NSD Management Subscription ... Test objective: The objective is to test the deletion of an individual NSD Management subscription ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management Subscription is not available anymore in the NFVO @@ -101,7 +101,7 @@ GET Individual NSD Management Subscription with permitted authorization scope ... Test title: GET Individual NSD Management Subscription with permitted authorization scope ... Test objective: The objective is to test the retrieval of individual NSD Management subscription with permitted authorization scope ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET Individual NSD Management Subscription with not permitted authorization scop ... Test title: GET Individual NSD Management Subscription with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of individual NSD Management subscription fails when not permitted authorization scope ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NSD.robot b/SOL005/NSDManagement-API/NSD.robot index f0a9a3a855cf305f315f18cd0ed9a9582d8255ff..717e099658224f31aa919de70525ec9a9b843e9e 100644 --- a/SOL005/NSDManagement-API/NSD.robot +++ b/SOL005/NSDManagement-API/NSD.robot @@ -12,7 +12,7 @@ Get single file NSD in Plain Format ... Test title: Get single file NSD in Plain Format ... Test objective: The objective is to test the retrieval of the NSD in plain format within a NSD archive and perform a validation that returned content is in plain format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a single file ... Post-Conditions: none @@ -25,7 +25,7 @@ Get NSD in Zip Format ... Test title: Get NSD in Zip Format ... Test objective: The objective is to test the retrieval of the NSD in zip format within a NSD archive and perform a validation that returned content is in zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get single file NSD in Plain or Zip Format ... Test title: Get single file NSDin Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file NSD within a NSD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that response is in Plain or Zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a single file ... Post-Conditions: none @@ -51,7 +51,7 @@ Get multi file NSD in Plain or Zip Format ... Test title: Get multi file NSD in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file NSD within a NSD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a multi file ... Post-Conditions: none @@ -64,7 +64,7 @@ Get multi file NSD in Plain Format ... Test title: Get multi file NSD in Plain Format ... Test objective: The objective is to test that the retrieval of the multi file NSD within a NSD archive fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a multi file ... Post-Conditions: none @@ -77,7 +77,7 @@ Get NSD Content with invalid resource identifier ... Test title: Get NSD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the NSD within a NSD archive fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ Get NSD with conflict due to onboarding state ... Test title: Get NSD with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the NSD within a NSD archive fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD is different from ONBOARDED. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ Get NSD with security information ... Test title: Get NSD with security information ... Test objective: The objective is to test the retrieval of the NSD within a NSD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ POST NSD - Method not implemented ... Test title: POST NSD - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PUT NSD - Method not implemented ... Test title: PUT NSD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -140,7 +140,7 @@ PATCH NSD - Method not implemented ... Test title: PATCH NSD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ DELETE NSD - Method not implemented ... Test title: DELETE NSD - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor ... Pre-conditions: none - ... Reference: Clause 5.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ Get single file NSD in Plain Format with permitted authorization scope ... Test title: Get single file NSD in Plain Format with permitted authorization scope ... Test objective: The objective is to test the retrieval of the NSD in plain format within a NSD archive with permitted authorization scope ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a single file ... Post-Conditions: none @@ -177,7 +177,7 @@ Get single file NSD in Plain Format with not permitted authorization scope ... Test title: Get single file NSD in Plain Format with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of the NSD in plain format within a NSD archive fails when using a not permitted authorization scope ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NSD is implemented as a single file ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NSDArchiveContent.robot b/SOL005/NSDManagement-API/NSDArchiveContent.robot index f14230a009ce60c9f5726f9c1005ee1deca92f19..e25bbbb20cbabe9a3d92039067022d771b52fa96 100644 --- a/SOL005/NSDManagement-API/NSDArchiveContent.robot +++ b/SOL005/NSDManagement-API/NSDArchiveContent.robot @@ -24,7 +24,7 @@ Get NSD Content in Zip Format ... Test title: Get NSD Content in Zip Format ... Test objective: The objective is to test the retrieval of the NSD Content in zip format and perform a validation that returned content is in zip format ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ Get NSD Content with invalid resource identifier ... Test title: Get NSD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the NSD Content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ Get NSD Content with conflict due to onboarding state ... Test title: Get NSD Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the NSD Content fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD for which the NSD Content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -96,7 +96,7 @@ GET NSD Content with Range Request and NFVO supporting Range Requests ... Test title: GET NSD Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of NSD Content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -111,7 +111,7 @@ GET NSD Content with Range Request and NFVO not supporting Range Requests ... Test title: GET NSD Content with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of NSD Content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full NSD file. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -124,7 +124,7 @@ GET NSD Content with invalid Range Request ... Test title: GET NSD Content with invalid Range Request ... Test objective: The objective is to test that the retrieval of NSD Content fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the NSD file ... Post-Conditions: none @@ -137,7 +137,7 @@ Upload NSD Content as Zip file in asynchronous mode ... Test title: Upload NSD Content as Zip file in asynchronous mode ... Test objective: The objective is to test the upload of an NSD Content in Zip format when the NFVO supports the asynchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in asynchronous mode ... Post-Conditions: NSD Uploaded @@ -161,7 +161,7 @@ Upload NSD Content as Zip file in synchronous mode ... Test title: Upload NSD Content as Zip file in synchronous mode ... Test objective: The objective is to test the upload of an NSD Content in Zip format when the NFVO supports the synchronous upload mode. ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in synchronous mode ... Post-Conditions: The NSD content is successfully uploaded and available in the NFVO @@ -185,7 +185,7 @@ Upload NSD Content with conflict due to onboarding state ... Test title: Upload NSD Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the NSD Content fails due to a conflict when the NSD is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD for which the NSD Content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -198,7 +198,7 @@ POST NSD Content - Method not implemented ... Test title: POST NSD Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -210,7 +210,7 @@ PATCH NSD Content - Method not implemented ... Test title: PATCH NSD Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -222,7 +222,7 @@ DELETE NSD Content - Method not implemented ... Test title: DELETE NSD Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -234,7 +234,7 @@ Upload NSD Content as Zip file in synchronous mode with permitted authorization ... Test title: Upload NSD Content as Zip file in synchronous mode with permitted authorization scope ... Test objective: The objective is to test the upload of an NSD Content in Zip format with permitted authorization scope ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in synchronous mode ... Post-Conditions: The NSD content is successfully uploaded and available in the NFVO @@ -247,7 +247,7 @@ Upload NSD Content as Zip file in synchronous mode with not permitted authorizat ... Test title: Upload NSD Content as Zip file in synchronous mode with not permitted authorization scope ... Test objective: The objective is to test that the upload of an NSD Content in Zip format fails when using a not permitted authorization scope ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in synchronous mode ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NSDArchiveManifest.robot b/SOL005/NSDManagement-API/NSDArchiveManifest.robot index 9e47bb997338e48f6975ceff9a98c4000546cd62..1655d8fcedc29513b68d59405b090e52448d2f63 100644 --- a/SOL005/NSDManagement-API/NSDArchiveManifest.robot +++ b/SOL005/NSDManagement-API/NSDArchiveManifest.robot @@ -12,7 +12,7 @@ Get NSD Archive Manifest ... Test title: Get NSD Archive Manifest ... Test objective: The objective is to test that GET method reads the content of the manifest file within an NSD archive ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get NSD Archive Manifest with security information ... Test title: Get NSD Archive Manifest with security information ... Test objective: The objective is to test the retrieval of content of the manifest file within an NSD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get NSD Archive Manifest with conflict due to onboarding state ... Test title: Get NSD Archive Manifest with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of content of the manifest file within an NSD archive fails due to a conflict when the NSD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the NSD is different from ONBOARDED. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST NSD Archive Manifest - Method not implemented ... Test title: POST NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT NSD Archive Manifest - Method not implemented ... Test title: PUT NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH NSD Archive Manifest - Method not implemented ... Test title: PATCH NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE NSD Archive Manifest - Method not implemented ... Test title: DELETE NSD Archive Manifest - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ Get NSD Archive Manifest with permitted authorization scope ... Test title: Get NSD Archive Manifest with permitted authorization scope ... Test objective: The objective is to test that GET method reads the content of the manifest file within an NSD archive with permitted authorization scope ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ Get NSD Archive Manifest with not permitted authorization scope ... Test title: Get NSD Archive Manifest with not permitted authorization scope ... Test objective: The objective is to test that GET method reads the content of the manifest file within an NSD archive fails when using not permitted authorization scope ... Pre-conditions: One or more NSDs are onboarded in the NFVO. - ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/NotificationEndpoint.robot b/SOL005/NSDManagement-API/NotificationEndpoint.robot index f5a4fc5d8529575c3008fe5210c8d76261609d41..06b8e7421957ee4dbb37199a7c24de69c5fa76c1 100644 --- a/SOL005/NSDManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSDManagement-API/NotificationEndpoint.robot @@ -14,7 +14,7 @@ NSD Onboarding Notification ... Test title: NSD Onboarding Notification ... Test objective: The objective is to test that NSD Onboarding Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for onboarding notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ NSD Onboarding Failure Notification ... Test title: NSD Onboarding Failure Notification ... Test objective: The objective is to test that NSD Onboarding Failure Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for onboarding failure notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ NSD Change Notification ... Test title: NSD Change Notification ... Test objective: The objective is to test that NSD Change Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for change notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ NSD Deletion Notification ... Test title: NSD Deletion Notification ... Test objective: The objective is to test that NSD Deletion Notification is delivered with success to the notification consumer. ... Pre-conditions: A NSD management subscription for deletion notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ Pnfd Onboarding Notification ... Test title: Pnfd Onboarding Notification ... Test objective: The objective is to test that Pnfd Onboarding Notification is delivered with success to the notification consumer. ... Pre-conditions: A Pnfd management subscription for onboarding notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ Pnfd Onboarding Failure Notification ... Test title: Pnfd Onboarding Failure Notification ... Test objective: The objective is to test that Pnfd Onboarding Failure Notification is delivered with success to the notification consumer. ... Pre-conditions: A Pnfd management subscription for onboarding failure notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ Pnfd Deletion Notification ... Test title: pnfd Deletion Notification ... Test objective: The objective is to test that Pnfd Deletion Notification is delivered with success to the notification consumer. ... Pre-conditions: A Pnfd management subscription for deletion notification is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/Notifications.robot b/SOL005/NSDManagement-API/Notifications.robot index 35b85aa94f31f3ce0eb25a114bf44a0bca89b400..e72a4659a268707406ae9ee96eb729c793b9d325 100644 --- a/SOL005/NSDManagement-API/Notifications.robot +++ b/SOL005/NSDManagement-API/Notifications.robot @@ -15,7 +15,7 @@ NSD Onboarding Notification ... Test title: NSD Onboarding Notification ... Test objective: The objective is to test the dispatch of NSD Onboarding notification when the NSD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ NSD Onboarding Failure Notification ... Test title: NSD Onboarding Failure Notification ... Test objective: The objective is to test the dispatch of NSD Onboarding failure notification when the NSD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ NSD Operational State Change Notification ... Test title: NSD Operational State Change Notification ... Test objective: The objective is to test the dispatch of NSD Operational State Change notification when the NSD operational status change in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for operational state change notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ NSD Deletion Notification ... Test title: NSD Deletion Notification ... Test objective: The objective is to test the dispatch of NSD Deletion notification when the NSD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NSD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ PNFD Onboarding Notification ... Test title: PNFD Onboarding Notification ... Test objective: The objective is to test the dispatch of PNFD Onboarding notification when the PNFD onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ PNFD Onboarding Failure Notification ... Test title: PNFD Onboarding Failure Notification ... Test objective: The objective is to test the dispatch of PNFD Onboarding failure notification when the PNFD onboarding operation fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ PNFD Deletion Notification ... Test title: PNFD Deletion Notification ... Test objective: The objective is to test the dispatch of PNFD Deletion notification when the PNFD is deleted from the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A PNFD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/PNFD.robot b/SOL005/NSDManagement-API/PNFD.robot index d39fd0bf506127f3bb8f166078029bc83b97ee41..181d2abf87a2a3ecd4e2f400cbaeac11e6b8c30b 100644 --- a/SOL005/NSDManagement-API/PNFD.robot +++ b/SOL005/NSDManagement-API/PNFD.robot @@ -13,7 +13,7 @@ Get single file PNFD in Plain Format ... Test title: Get single file PNFD in Plain Format ... Test objective: The objective is to test the retrieval of the PNFD in plain format within a PNFD archive and perform a validation that returned content is in plain format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a single file ... Post-Conditions: none @@ -26,7 +26,7 @@ Get PNFD in Zip Format ... Test title: Get PNFD in Zip Format ... Test objective: The objective is to test the retrieval of the PNFD in zip format within a PNFD archive and perform a validation that returned content is in zip format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get single file PNFD in Plain or Zip Format ... Test title: Get single file PNFDin Plain or Zip Format ... Test objective: The objective is to test the retrieval of the single file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that response is in Plain or Zip format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a single file ... Post-Conditions: none @@ -52,7 +52,7 @@ Get multi file PNFD in Plain or Zip Format ... Test title: Get multi file PNFD in Plain or Zip Format ... Test objective: The objective is to test the retrieval of the multi file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a multi file ... Post-Conditions: none @@ -65,7 +65,7 @@ Get multi file PNFD in Plain Format ... Test title: Get multi file PNFD in Plain Format ... Test objective: The objective is to test that the retrieval of the multi file PNFD within a PNFD archive fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a multi file ... Post-Conditions: none @@ -78,7 +78,7 @@ Get PNFD Content with invalid resource identifier ... Test title: Get PNFD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ Get PNFD with conflict due to onboarding state ... Test title: Get PNFD with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD is different from ONBOARDED. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ Get PNFD with security information ... Test title: Get PNFD with security information ... Test objective: The objective is to test the retrieval of the PNFD within a PNFD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ POST PNFD - Method not implemented ... Test title: POST PNFD - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PUT PNFD - Method not implemented ... Test title: PUT PNFD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ PATCH PNFD - Method not implemented ... Test title: PATCH PNFD - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -153,7 +153,7 @@ DELETE PNFD - Method not implemented ... Test title: DELETE PNFD - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNFD ... Pre-conditions: none - ... Reference: Clause 5.4.7a.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ Get single file PNFD in Plain Format with permitted authorization scope ... Test title: Get single file PNFD in Plain Format with permitted authorization scope ... Test objective: The objective is to test the retrieval of the PNFD in plain format within a PNFD archive with permitted authorization scope ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a single file ... Post-Conditions: none @@ -178,7 +178,7 @@ Get single file PNFD in Plain Format with not permitted authorization scope ... Test title: Get single file PNFD in Plain Format with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of the PNFD in plain format within a PNFD archive fails when using a not permitted authorization scope ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The PNFD is implemented as a single file ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/PNFDArchiveContent.robot b/SOL005/NSDManagement-API/PNFDArchiveContent.robot index 7605003a8b9e0665f10cb5d6501b29ed1fbd42c7..9416ab4caef471f98f20f95b622a5bdbaccf9705 100644 --- a/SOL005/NSDManagement-API/PNFDArchiveContent.robot +++ b/SOL005/NSDManagement-API/PNFDArchiveContent.robot @@ -13,7 +13,7 @@ Get PNFD Content ... Test title: Get PNFD Content ... Test objective: The objective is to test the retrieval of the PNFD Content in zip format and perform a validation that returned content is in plain format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Get PNFD Content with invalid resource identifier ... Test title: Get PNFD Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the PNFD Content fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Get PNFD Content with conflict due to onboarding state ... Test title: Get PNFD Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the PNFD Content fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD for which the PNFD Content is requested is different from ONBOARDED. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ Upload PNFD Content as zip file ... Test title: Upload PNFD Content as zip file ... Test objective: The objective is to test the upload of a PNFD Content in plain text format. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The uploaded PNFD content is available in the NFVO @@ -65,7 +65,7 @@ Upload PNFD Content with conflict due to onboarding state ... Test title: Upload PNFD Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the PNFD Content fails due to a conflict when the PNFD is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD for which the PNFD Content is requested is different from CREATED. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ POST PNFD Content - Method not implemented ... Test title: POST PNFD Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new PNF Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH PNFD Content - Method not implemented ... Test title: PATCH PNFD Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update PNF Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ DELETE PNFD Content - Method not implemented ... Test title: DELETE PNFD Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNF Descriptor content ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -114,7 +114,7 @@ Get PNFD Content with Range Request and NFVO supporting Range Requests ... Test title: Get PNFD Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of the PNFD Content in plain format when using a range request to return single range of bytes from the file, with the NFVO supporting it ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ Get PNFD Content with invalid Range Request ... Test title: Get PNFD Content with invalid Range Request ... Test objective: The objective is to test the retrieval of the PNFD Content in plain format and perform a validation that returned content is in plain format ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ Upload PNFD Archive Content ... Test title: Upload PNFD Archive Content ... Test objective: The objective is to test the PNFD archive has been accepted for uploading, but the processing has not been completed. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ Upload PNFD Content as zip file with permitted authorization scope ... Test title: Upload PNFD Content as zip file with permitted authorization scope ... Test objective: The objective is to test the upload of a PNFD Content in zip format with permitted authorization scope. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The uploaded PNFD content is available in the NFVO @@ -167,7 +167,7 @@ Upload PNFD Content as zip file with not permitted authorization scope ... Test title: Upload PNFD Content as zip file with not permitted authorization scope ... Test objective: The objective is to test the upload of a PNFD Content in zip format fails when using not permitted authorization scope. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: noe diff --git a/SOL005/NSDManagement-API/PNFDArchiveManifest.robot b/SOL005/NSDManagement-API/PNFDArchiveManifest.robot index a069715f0db2a23b70897ccddf5fa3a481ff2228..46dc4dafb7a6a39165986caf5de58e0c8f5921dd 100644 --- a/SOL005/NSDManagement-API/PNFDArchiveManifest.robot +++ b/SOL005/NSDManagement-API/PNFDArchiveManifest.robot @@ -12,7 +12,7 @@ Get PNFD Archive Manifest ... Test title: Get PNFD Archive Manifest ... Test objective: The objective is to test that GET method reads the content of the manifest file within an PNFD archive ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get PNFD Archive Manifest with security information ... Test title: Get PNFD Archive Manifest with security information ... Test objective: The objective is to test the retrieval of content of the manifest file within an PNFD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get PNFD Archive Manifest with conflict due to onboarding state ... Test title: Get PNFD Archive Manifest with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of content of the manifest file within an PNFD archive fails due to a conflict when the PNFD is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD is different from ONBOARDED. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ POST PNFD Archive Manifest - Method not implemented ... Test title: POST PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT PNFD Archive Manifest - Method not implemented ... Test title: PUT PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH PNFD Archive Manifest - Method not implemented ... Test title: PATCH PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ DELETE PNFD Archive Manifest - Method not implemented ... Test title: DELETE PNFD Archive Manifest - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete Network Service Descriptor Archive Manifest ... Pre-conditions: none - ... Reference: Clause 5.4.7b.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ Get PNFD Archive Manifest with permitted authorization scope ... Test title: Get PNFD Archive Manifest with permitted authorization scope ... Test objective: The objective is to test that GET method reads the content of the manifest file within an PNFD archive with permitted authorization scope ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ Get PNFD Archive Manifest with not permitted authorization scope ... Test title: Get PNFD Archive Manifest with not permitted authorization scope ... Test objective: The objective is to test that GET method to read the content of the manifest file within an PNFD archive fails when a not permitted authorization scope ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.7b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/PNFDescriptors.robot b/SOL005/NSDManagement-API/PNFDescriptors.robot index f79b7a455835b3878fe8e6f5245808c61d707748..63d2c52080b2c98d2cedf1efe188d18f0b55695a 100644 --- a/SOL005/NSDManagement-API/PNFDescriptors.robot +++ b/SOL005/NSDManagement-API/PNFDescriptors.robot @@ -13,7 +13,7 @@ GET all PNF Descriptors Information ... Test title: GET all PNF Descriptors Information ... Test objective: The objective is to test the retrieval of all the PNF Descriptors information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET PNF Descriptors Information with attribute-based filter ... Test title: GET PNF Descriptors Information with attribute-based filter ... Test objective: The objective is to test the retrieval of PNF Descriptors information using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET PNF Descriptors Information with invalid attribute-based filter ... Test title: GET PNF Descriptors Information with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of PNF Descriptors information fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET all PNF Descriptors Information with "all_fields" attribute selector ... Test title: GET all PNF Descriptors Information with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET all PNF Descriptors Information with "exclude_default" attribute selector ... Test title: GET all PNF Descriptors Information with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ GET all PNF Descriptors Information with "fields" attribute selector ... Test title: GET all PNF Descriptors Information with "fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "fields" attribute selector ... Post-Conditions: none @@ -95,7 +95,7 @@ GET all PNF Descriptors Information with "exclude_fields" attribute selector ... Test title: GET all PNF Descriptors Information with "exclude_fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_fields" attribute selector ... Post-Conditions: none @@ -109,7 +109,7 @@ Create new PNF Descriptor Resource ... Test title: Create new PNF Descriptor Resource ... Test objective: The objective is to test the creation of a new Create new PNF Descriptor resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor resource is successfully created on the NFVO @@ -124,7 +124,7 @@ PUT all PNF Descriptors - Method not implemented ... Test title: PUT all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify PNF Descriptors Information ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ PATCH all PNF Descriptors - Method not implemented ... Test title: PATCH all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NF Descriptors Information ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ DELETE all PNF Descriptors - Method not implemented ... Test title: DELETE all PNF Descriptors Information - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete PNF Descriptors Information ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -160,7 +160,7 @@ GET all PNF Descriptors Information as Paged Response ... Test title: GET all PNF Descriptors Information as Paged Response ... Test objective: The objective is to test the retrieval of all the PNF Descriptors information as a Paged Response. ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ GET PNF Descriptors Information - Bad Request Response too Big ... Test title: GET PNF Descriptors Information - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of PNF Descriptors information fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -186,7 +186,7 @@ GET all PNF Descriptors Information with "exclude_default" and "fields" attribut ... Test title: GET all PNF Descriptors Information with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to test the retrieval of all PNF Descriptors Information with "exclude_default" and "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" and "fields" selector ... Pre-conditions: One or more PNF Descriptors are onboarded in the NFVO. - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude_default" and "fields" attribute selector ... Post-Conditions: none @@ -200,7 +200,7 @@ Create new PNF Descriptor Resource with permitted authorization scope ... Test title: Create new PNF Descriptor Resource with permitted authorization scope ... Test objective: The objective is to test the creation of a new Create new PNF Descriptor resource with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The PNF Descriptor resource is successfully created on the NFVO @@ -215,7 +215,7 @@ Create new PNF Descriptor Resource with not permitted authorization scope ... Test title: Create new PNF Descriptor Resource with not permitted authorization scope ... Test objective: The objective is to test that the creation of a new Create new PNF Descriptor resource fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/Subscriptions.robot b/SOL005/NSDManagement-API/Subscriptions.robot index bbe5044a87ce978a94b4e2614cd8df21e0915dd1..f1d9bcd6473f5133d11d59394dda4d74b27ce0d7 100644 --- a/SOL005/NSDManagement-API/Subscriptions.robot +++ b/SOL005/NSDManagement-API/Subscriptions.robot @@ -15,7 +15,7 @@ Get All NSD Management Subscriptions ... Test title: Get All NSD Management Subscriptions ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ Get NSD Management Subscriptions with attribute-based filter ... Test title: Get NSD Management Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of NSD Management subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ Get NSD Management Subscriptions with invalid attribute-based filter ... Test title: Get NSD Management Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ GET NSD Management Subscription with invalid resource endpoint ... Test title: GET NSD Management Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ Create new NSD Management subscription ... Test title: Create new NSD Management subscription ... Test objective: The objective is to test the creation of a new NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscription is successfully set and it matches the issued subscription @@ -84,7 +84,7 @@ Create duplicated NSD Management subscription with NFVO not creating duplicated ... Test title: Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated NSD Management subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing NSD Management subscription returned is available in the NFVO @@ -100,7 +100,7 @@ Create duplicated NSD Management subscription with NFVO creating duplicated subs ... Test title: Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated NSD Management subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated NSD Management subscription is successfully set and it matches the issued subscription @@ -115,7 +115,7 @@ PUT NSD Management Subscriptions - Method not implemented ... Test title: PUT NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PATCH NSD Management Subscriptions - Method not implemented ... Test title: PATCH NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ DELETE NSD Management Subscriptions - Method not implemented ... Test title: DELETE NSD Management Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete NSD Management subscriptions ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NSD Management subscriptions are not deleted by the failed operation @@ -152,7 +152,7 @@ Get All NSD Management Subscriptions as Paged Response ... Test title: Get All NSD Management Subscriptions as Paged Response ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions as a Paged Response. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ Get NSD Management Subscriptions - Bad Request Response too Big ... Test title: Get NSD Management Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -178,7 +178,7 @@ Create new NSD Management subscription - Unprocessable Content ... Test title: Create new NSD Management subscription - Unprocessable Content ... Test objective: The objective is to test the creation of a new NSD Management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -190,7 +190,7 @@ Get All NSD Management Subscriptions with permitted authorization scope ... Test title: Get All NSD Management Subscriptions with permitted authorization scope ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions with permitted authorization scope ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -203,7 +203,7 @@ Get All NSD Management Subscriptions with not permitted authorization scope ... Test title: Get All NSD Management Subscriptions with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using a not permitted authorization scope ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSDManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml b/SOL005/NSDManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml index f0ef3b27b9303f96fc72ea9909190c3f1cf196a0..92cf5f34ae4bc18534bae23b8a65512f8c067f37 100644 --- a/SOL005/NSDManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml +++ b/SOL005/NSDManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml @@ -27,7 +27,7 @@ topology_template: flavour_id: "VNF-A_flavor" flavour_description: "VNF-A flavor" vnfm_info: - - 'etsivnfm:v2.3.1' + - 'etsivnfm:v5.1.1' requirements: virtualLink: ext_a_right: "vl_right" @@ -47,7 +47,7 @@ topology_template: flavourId: "VNF-B_flavor" flavourDescription: "VNF-B flavor" vnfm_info: - - 'etsivnfm:v4.5.1' + - 'etsivnfm:v5.1.1' requirements: virtualLink: ext_b_left: "vl_left" diff --git a/SOL005/NSFaultManagement-API/Alarms.robot b/SOL005/NSFaultManagement-API/Alarms.robot index 138740b0ddbeff99b5ba1ca6a13cba422b73d5d4..b5cb4488a1e597eed0ee371eee0a9a0bacbbcad5 100644 --- a/SOL005/NSFaultManagement-API/Alarms.robot +++ b/SOL005/NSFaultManagement-API/Alarms.robot @@ -12,7 +12,7 @@ POST Alarms - Method not implemented ... Test title:POST Alarms - Method not implemented ... Test objective: The objective is to test that Post method is not allowed to create Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET information about multiple alarms ... Test title: GET information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET information about multiple alarms with filters ... Test title: GET information about multiple alarms with filters ... Test objective: The objective is to retrieve information about the alarm list and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ GET information about multiple alarms Bad Request Invalid attribute-based filter ... Test title: GET information about multiple alarms Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to try to retrieve information about the alarm list with invalid filters and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ GET information about multiple alarms with "all_fields" attribute selector ... Test title: GET information about multiple alarms with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ GET information about multiple alarms with exclude_default attribute selector ... Test title: GET information about multiple alarms with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET information about multiple alarms with fields attribute selector ... Test title: GET information about multiple alarms with fields attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector ... Test title: GET information about multiple alarms with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -140,7 +140,7 @@ DELETE Alarms - Method not implemented ... Test title: DELETE Alarms - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ GET information about multiple alarms as Paged Response ... Test title: GET information about multiple alarms as Paged Response ... Test objective: The objective is to retrieve information about the alarm list as paged response. ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ GET information about multiple alarms - Bad Request Response too Big ... Test title: GET information about multiple alarms - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of information about the alarm list fails because response is too big, and perform a JSON schema and content validation of the returned problem details data structure ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -178,7 +178,7 @@ GET information about multiple alarms with filter "id" ... Test title: GET information about multiple alarms with filter "id" ... Test objective: The objective is to retrieve information about the alarm list with filter "id" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNestedNsInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -206,7 +206,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyNsVirtualLinkInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -220,7 +220,7 @@ GET information about multiple alarms with filter "rootCauseFaultyComponent.faul ... Test title: GET information about multiple alarms with filter "rootCauseFaultyComponent.faultyVnfInstanceId" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyComponent.faultyVnfInstanceId" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -234,7 +234,7 @@ GET information about multiple alarms with filter "rootCauseFaultyResource.fault ... Test title: GET information about multiple alarms with filter "rootCauseFaultyResource.faultyResourceType" ... Test objective: The objective is to retrieve information about the alarm list with filter "rootCauseFaultyResource.faultyResourceType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -248,7 +248,7 @@ GET information about multiple alarms with filter "eventType" ... Test title: GET information about multiple alarms with filter "eventType" ... Test objective: The objective is to retrieve information about the alarm list with filter "eventType" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -262,7 +262,7 @@ GET information about multiple alarms with filter "perceivedSeverity" ... Test title: GET information about multiple alarms with filter "perceivedSeverity" ... Test objective: The objective is to retrieve information about the alarm list with filter "perceivedSeverity" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -276,7 +276,7 @@ GET information about multiple alarms with filter "probableCause" ... Test title: GET information about multiple alarms with filter "probableCause" ... Test objective: The objective is to retrieve information about the alarm list with filter "probableCause" and perform a JSON schema and content validation of the returned alarms data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -290,7 +290,7 @@ GET information about multiple alarms with permitted authorization scope ... Test title: GET information about multiple alarms with permitted authorization scope ... Test objective: The objective is to retrieve information about the alarm list with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -303,7 +303,7 @@ GET information about multiple alarms with not permitted authorization scope ... Test title: GET information about multiple alarms with not permitted authorization scope ... Test objective: The objective is to test that retrieve information about the alarm list fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/IndividualAlarm.robot b/SOL005/NSFaultManagement-API/IndividualAlarm.robot index de94545c734d7d61a59da342c1b6839a2ac19f2d..d9383d6973e470a5894a2dca7174287155fb8098 100644 --- a/SOL005/NSFaultManagement-API/IndividualAlarm.robot +++ b/SOL005/NSFaultManagement-API/IndividualAlarm.robot @@ -14,7 +14,7 @@ POST Individual Alarm - Method not implemented ... Test title:POST Individual Alarm - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET information about Individual Alarm ... Test title: GET information about Individual Alarm ... Test objective: The objective is to retrieve information about individual alarm and perform a JSON schema and content validation of the returned alarm data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET information about Invalid Individual Alarm ... Test title: GET information about Invalid Individual Alarm ... Test objective: The objective is to try to read an Invalid individual alarm and get 404 not found response code ... Pre-conditions: The related alarm does not exists - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Individual Alarm - Method not implemented ... Test title:PUT Individual Alarm - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Alarm ... Test title: Modify an individual alarm resource ... Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm modifications data structure ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Alarm - Conflict ... Test title: Modify an individual alarm resource - Conflict ... Test objective: The objective is to test that an individual alarm resource cannot be modified if the alarm is already in the state that is requested to be set ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ PATCH Alarm - Precondition failed ... Test title: Modify an individual alarm resource - Precondition failed ... Test objective: The objective is to test that an individual alarm resource cannot be modifed if the resource was modified by another entity ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: @@ -103,7 +103,7 @@ PATCH Alarm - Precondition failed HTTP Conditional Request Not Supported ... Test title: Modify an individual alarm resource - Precondition failed HTTP Conditional Request Not Supported ... Test objective: The objective is to test that an individual alarm resource cannot be modifed if API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Pre-conditions: The related alarm exists - ... Reference: Clause 8.4.3.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Post-Conditions: @@ -116,7 +116,7 @@ DELETE Individual Alarm - Method not implemented ... Test title:DELETE Individual Alarm - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Fault management individual alarm on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PATCH Alarm with permitted authorization scope [Documentation] Test ID: 5.3.3.2.9 ... Test title: Modify an individual alarm resource with permitted authorization scope ... Test objective: The objective is to Modify an individual alarm resource with permitted authorization scope - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ PATCH Alarm with not permitted authorization scope [Documentation] Test ID: 5.3.3.2.10 ... Test title: Modify an individual alarm resource with not permitted authorization scope ... Test objective: The objective is to test that Modify an individual alarm resource fails when using not permitted authorization scope - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/IndividualSubscription.robot b/SOL005/NSFaultManagement-API/IndividualSubscription.robot index 1c819ad1481c612d20feb4b1b5e3ca054053991a..8ee550f35ae932dbab98abff6fb46b99eb0ab401 100644 --- a/SOL005/NSFaultManagement-API/IndividualSubscription.robot +++ b/SOL005/NSFaultManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ Post Individual Subscription - Method not implemented ... Test title:Post Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed for Fault management subscription on NFV ... Pre-conditions:none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ Get Information about an individual subscription ... Test title: Get Information about an individual subscription ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client and perform a JSON schema and content validation of the returned fault management individual subscription data structure ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title:PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Fault management subscription on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title:PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Fault management subscription on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title:DELETE an individual subscription ... Test objective: The objective is to DELETE an individual subscription ... Pre-conditions: The Subsbcription already exists - ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is not deleted @@ -71,7 +71,7 @@ Get Information about an individual subscription with permitted authorization sc [Documentation] Test ID: 5.3.3.4.6 ... Test title: Get Information about an individual subscription with permitted authorization scope ... Test objective: The objective is to read an individual subscription for NFVO alarms subscribed by the client with permitted authorization scope - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ Get Information about an individual subscription with not permitted authorizatio [Documentation] Test ID: 5.3.3.4.7 ... Test title: Get Information about an individual subscription with not permitted authorization scope ... Test objective: The objective is to test that read an individual subscription for NFVO alarms subscribed by the client fails when using a not permitted authorization scope - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/NotificationEndpoint.robot b/SOL005/NSFaultManagement-API/NotificationEndpoint.robot index e871c755e837b4accd4e4e20928faf051f233964..6c0c88583e4e993470d63cb688bc032aefb46c27 100644 --- a/SOL005/NSFaultManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ NS Fault Alarm Notification ... Test title: NS Fault Alarm Notification ... Test objective: The objective is to test that NS Fault Alarm Notification is delivered with success to the notification consumer ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ NS Fault Alarm Cleared Notification ... Test title: NS Fault Alarm Cleared Notification ... Test objective: The objective is to test that NS Fault Alarm Cleared Notification is delivered with success to the notification consumer ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm cleared notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ NS Fault Alarm List Rebuilt Notification ... Test title: NS Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test that NS Fault Alarm List Rebuilt Notification is delivered with success to the notification consumer ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm list rebuilt notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/Notifications.robot b/SOL005/NSFaultManagement-API/Notifications.robot index cf6b810f5594f095b3ef28b03b961e33386d9796..bebd24caebfc354346f3dbf1d29b5b040ab8f403 100644 --- a/SOL005/NSFaultManagement-API/Notifications.robot +++ b/SOL005/NSFaultManagement-API/Notifications.robot @@ -18,7 +18,7 @@ NS Fault Alarm Notification ... Test title: NS Fault Alarm Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm Notification when a virtualised resource within an NS instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, and a subscription for fault alarm notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -31,7 +31,7 @@ NS Fault Alarm Cleared Notification ... Test title: NS Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm Cleared Notification when a faulty virtualised resource within an NS instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ NS Fault Alarm List Rebuilt Notification ... Test title: NS Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of NS Fault Alarm List Rebuilt Notification when the NFVO decides to rebuild the list of its NS alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the NFVO. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ NS Fault Alarm Notification with Instrumental Platform Hook ... Test title: NS Fault Alarm Notification with Instrumental Platform Hook ... Test objective: The objective is to test the dispatch of NS Fault Alarm Notification when a virtualised resource failure within an NS instance is automatically triggered through an instrumenation platform, and perform a JSON schema and content validation of the delivered notification. ... Pre-conditions: A NS instance is instantiated - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: An instrumentation platform is available to trigger the NS instance failure condition ... Post-Conditions: none @@ -70,7 +70,7 @@ NS Fault Alarm Cleared Notification with Instrumental Platform Hook ... Test title: NS Fault Alarm Cleared Notification with Instrumental Platform Hook ... Test objective: The objective is to test the dispatch of NS Fault Clear Alarm Notification when a virtualised resource failure within an NS instance is automatically cleared through an instrumenation platform, and perform a JSON schema and content validation of the delivered notification. ... Pre-conditions: A NS instance is instantiated and a virtualised resource is in faulty state. - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: An instrumentation platform is available to trigger the NS instance failure clear condition ... Post-Conditions: none @@ -83,7 +83,7 @@ NS Fault Alarm List Rebuilt Notification with Instrumental Platform Hook ... Test title: NS Fault Alarm List Rebuilt Notification with Instrumental Platform Hook ... Test objective: The objective is to test the dispatch of NS Fault Alarm List Rebuilt Notification when the NFVO decision to rebuild the list of its NS alarms is automatically triggered through an instrumentation platform, and perform a JSON schema and content validation of the delivered notification. ... Pre-conditions: A NS instance is instantiated and one or more virtualised resource are in faulty state - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: An instrumentation platform is available to trigger the NS instance alarm list rebuilt condition ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot index d53185cf56e1c3e8d033ca3ab81495064472f568..16b6bd6e34860749d703271214af994c742f1382 100644 --- a/SOL005/NSFaultManagement-API/Subscriptions.robot +++ b/SOL005/NSFaultManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Create a new alarm subscription ... Test title: Create a new alarm subscription ... Test objective: The objective is to create a new Fault management alarm subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ Create a duplicated Subscription ... Test title: Create a duplicated alarm subscription ... Test objective: The objective is to create a new subscription with the NFV allowing duplication and perform a JSON schema and content validation of the returned fault management alarms subscription data structure.. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: none @@ -54,7 +54,7 @@ Retrieve a list of alarm subscriptions ... Test title: Retrieve a list of alarm subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ Retrieve a list of alarm subscriptions - Filter ... Test title: Retrieve a list of alarm subscriptions - Filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective:The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -106,7 +106,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ PUT subscriptions - Method not implemented ... Test title:PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -157,7 +157,7 @@ PATCH subscriptions - Method not implemented ... Test title:PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -169,7 +169,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to for Fault management subscriptions on NFV ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -181,7 +181,7 @@ Retrieve a list of alarm subscriptions as Paged Response ... Test title: Retrieve a list of alarm subscriptions as Paged Response ... Test objective: The objective is to retrieve the list of active subscriptions as paged response. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -194,7 +194,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective:The objective is test that the retrieval of active subscriptions list fails because response is too big, and perform a JSON schema and content validation of the returned problem details data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -207,7 +207,7 @@ Retrieve a list of alarm subscriptions with filter "id" ... Test title: Retrieve a list of alarm subscriptions with filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -221,7 +221,7 @@ Retrieve a list of alarm subscriptions with filter "filter.notificationTypes" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -235,7 +235,7 @@ Retrieve a list of alarm subscriptions with filter "filter.faultyResourceTypes" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.faultyResourceTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -249,7 +249,7 @@ Retrieve a list of alarm subscriptions with filter "filter.perceivedSeverities" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -263,7 +263,7 @@ Retrieve a list of alarm subscriptions with filter "filter.eventTypes" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -277,7 +277,7 @@ Retrieve a list of alarm subscriptions with filter "filter.probableCauses" ... Test title: Retrieve a list of alarm subscriptions with filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" and perform a JSON schema and content validation of the returned fault management alarms subscription data structure. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -291,7 +291,7 @@ Create a new alarm subscription - Unprocessable Content ... Test title: Create a new alarm subscription- Unprocessable Content ... Test objective: The objective is to test that creation of a new Fault management alarm subscriptions fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -304,7 +304,7 @@ Create a new alarm subscription - Unprocessable Content ... Test title: Retrieve a list of alarm subscriptions with permitted authorization scope ... Test objective: The objective is to retrieve the list of active subscriptions with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -317,7 +317,7 @@ Create a new alarm subscription - Unprocessable Content ... Test title: Retrieve a list of alarm subscriptions with not permitted authorization scope ... Test objective: The objective is to test that retrieve the list of active subscriptions fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json b/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json index d17abe71dbae59997e38d9447fc60912299beef5..a5f3ae8b18272dcdb43989e3cc92736058256776 100644 --- a/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/FmSubscription.schema.json @@ -2,157 +2,239 @@ "description": "This type represents a subscription related to notifications about VNF faults.\n", "type": "object", "required": [ - "id", - "callbackUri", - "_links" + "id", + "callbackUri", + "_links" ], "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute)..\n", - "type": "object", - "properties": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", "type": "object", "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "anyOf": [ + { + "oneOf": [ + { + "required": [ + "nsdIds" + ] + }, + { + "required": [ + "vnfdIds" + ] + }, + { + "required": [ + "pnfdIds" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "nsInstanceIds" + ] + }, + { + "required": [ + "nsInstanceNames" + ] + } + ] + } + ], + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification. See note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "AlarmNotification", + "AlarmClearedNotification", + "AlarmListRebuiltNotification" + ] + } + }, + "faultyResourceTypes": { + "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + }, + "perceivedSeverities": { + "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", + "type": "array", + "items": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + } + }, + "eventTypes": { + "description": "Match VNF alarms related to NSs with an event type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + } + }, + "probableCauses": { + "description": "Match VNF alarms with a probable cause listed in this attribute.\n", + "type": "array", + "items": { + "type": "string" + } } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "A string as defined in IETF RFC 8259.\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } - }, - "faultyResourceTypes": { - "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] } - }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "fmConnection": { + "description": "An access information and interface information to monitor the FM of VNF instance by the VNFM. This can include for instance certain interface endpoint URI together with necessary credentials to access it.\n", "type": "array", "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } - }, - "eventTypes": { - "description": "Match VNF alarms related to NSs with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } - }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" + "description": "This type represents a MonitoringConnection.\nNOTE: The VNFM can be made aware of monitoring connection information, including their identifiers to be used by configuration means outside the scope of the present document (e.g. using relevant NFV-MANO management APIs as defined in ETSI GS NFV-SOL 009). \n", + "type": "object", + "required": [ + "id", + "monitoringType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "monitoringType": { + "description": "Type of monitoring way. VALUES: • VIM_CISM • EXTERNAL • PAAS\n", + "type": "string", + "enum": [ + "VIM_CISM", + "EXTERNAL", + "PAAS" + ] + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "paasServiceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "accessInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extra": { + "description": "Type specific additional information, if applicable.\n", + "type": "string" + } + } } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", + }, + "_links": { + "description": "Links for this resource.\n", "type": "object", "required": [ - "href" + "self" ], "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } } - } } - } } } \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/FmSubscriptions.schema.json b/SOL005/NSFaultManagement-API/schemas/FmSubscriptions.schema.json index 46b130a9098ad5dee4381c040d23241c9d595b9c..344afa0edeb9c7bf82b537433ae2d5b28c3221e1 100644 --- a/SOL005/NSFaultManagement-API/schemas/FmSubscriptions.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/FmSubscriptions.schema.json @@ -1,161 +1,243 @@ { "type": "array", "item": { - "description": "This type represents a subscription related to notifications about VNF faults.\n", - "type": "object", - "required": [ - "id", - "callbackUri", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute)..\n", - "type": "object", - "properties": { - "nsInstanceSubscriptionFilter": { - "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", - "type": "object", - "properties": { - "nsdIds": { - "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "vnfdIds": { - "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "pnfdIds": { - "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceIds": { - "description": "If present, match NS instances with an instance identifier listed in this attribute.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "nsInstanceNames": { - "description": "If present, match NS instances with a NS Instance Name listed in this attribute.\n", - "type": "array", - "items": { - "description": "A string as defined in IETF RFC 8259.\n", - "type": "string" - } - } - } - }, - "notificationTypes": { - "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification.\n", - "type": "array", - "items": { - "type": "string", - "enum": [ - "AlarmNotification", - "AlarmClearedNotification", - "AlarmListRebuiltNotification" - ] - } + "description": "This type represents a subscription related to notifications about VNF faults.\n", + "type": "object", + "required": [ + "id", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "faultyResourceTypes": { - "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } + "filter": { + "description": "This type represents a subscription filter related to notifications about NS faults. It shall comply with the provisions defined in Table 8.5.3.2-1. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute). NOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "type": "object", + "properties": { + "nsInstanceSubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NS instances.\nNOTE 1: The attributes \"nsdIds\", \"vnfdIds\" and \"pnfdIds\" are alternatives to reference to NS instances that are created based on certain NSDs, or contain VNF instances that are based on certain VNFDs, or contain PNFs that are based on certain PNFDs in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\nNOTE 2: The attributes \"nsInstanceIds\" and \"nsInstanceNames\" are alternatives to reference to particular NS Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "object", + "anyOf": [ + { + "oneOf": [ + { + "required": [ + "nsdIds" + ] + }, + { + "required": [ + "vnfdIds" + ] + }, + { + "required": [ + "pnfdIds" + ] + } + ] + }, + { + "oneOf": [ + { + "required": [ + "nsInstanceIds" + ] + }, + { + "required": [ + "nsInstanceNames" + ] + } + ] + } + ], + "properties": { + "nsdIds": { + "description": "If present, match NS instances that were created based on a NSD identified by one of the nsdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "vnfdIds": { + "description": "If present, match NS instances that contain VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "pnfdIds": { + "description": "If present, match NS instances that contain PNFs that are represented by a PNFD identified by one of the pnfdId values listed in this attribute. See note 1.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceIds": { + "description": "If present, match NS instances with an instance identifier listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "nsInstanceNames": { + "description": "If present, match NS instances with a NS Instance Name listed in this attribute. See note 2.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. Permitted values: - AlarmNotification - AlarmClearedNotification - AlarmListRebuiltNotification. See note.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "AlarmNotification", + "AlarmClearedNotification", + "AlarmListRebuiltNotification" + ] + } + }, + "faultyResourceTypes": { + "description": "Match alarms related to NSs with a faulty resource type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + }, + "perceivedSeverities": { + "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", + "type": "array", + "items": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + } + }, + "eventTypes": { + "description": "Match VNF alarms related to NSs with an event type listed in this attribute.\n", + "type": "array", + "items": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + } + }, + "probableCauses": { + "description": "Match VNF alarms with a probable cause listed in this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + } + } }, - "perceivedSeverities": { - "description": "Match VNF alarms with a perceived severity listed in this attribute.\n", - "type": "array", - "items": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - } + "format": "uri" }, - "eventTypes": { - "description": "Match VNF alarms related to NSs with an event type listed in this attribute.\n", - "type": "array", - "items": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - } + "fmConnection": { + "description": "An access information and interface information to monitor the FM of VNF instance by the VNFM. This can include for instance certain interface endpoint URI together with necessary credentials to access it.\n", + "type": "array", + "items": { + "description": "This type represents a MonitoringConnection.\nNOTE: The VNFM can be made aware of monitoring connection information, including their identifiers to be used by configuration means outside the scope of the present document (e.g. using relevant NFV-MANO management APIs as defined in ETSI GS NFV-SOL 009). \n", + "type": "object", + "required": [ + "id", + "monitoringType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "monitoringType": { + "description": "Type of monitoring way. VALUES: • VIM_CISM • EXTERNAL • PAAS\n", + "type": "string", + "enum": [ + "VIM_CISM", + "EXTERNAL", + "PAAS" + ] + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "paasServiceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "accessInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extra": { + "description": "Type specific additional information, if applicable.\n", + "type": "string" + } + } + } }, - "probableCauses": { - "description": "Match VNF alarms with a probable cause listed in this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "string", - "format": "url" - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } } - } } - } } - } } } \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/alarm.schema.json b/SOL005/NSFaultManagement-API/schemas/alarm.schema.json index c57cc1d4ca5ada92be31763a25284ed613ef6d66..cbe918b9abb09bcbea6e2db3c8e47270e13aac96 100644 --- a/SOL005/NSFaultManagement-API/schemas/alarm.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/alarm.schema.json @@ -1,176 +1,216 @@ { - "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", - "type": "object", - "required": ["id", "managedObjectId", "alarmRaisedTime", "ackState", "perceivedSeverity", "eventTime", "eventType", "probableCause", "isRootCause", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyComponent": { - "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1. NOTE:\tAt least one of the attributes shall be present.\n", - "type": "object", - "properties": { - "faultyNestedNsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyResourceType": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyNsVirtualLinkInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", - "type": "object", - "required": ["faultyResource", "faultyResourceType"], - "properties": { - "faultyResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", - "type": "string" - }, - "vimLevelAdditionalResourceInfo": { - "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", - "type": "object", - "properties": { - "hostName": { - "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", - "type": "string" - }, - "persistentVolume": { - "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", - "type": "string" - }, - "additionalInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "containerNamespace": { - "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": ["COMPUTE", "STORAGE", "NETWORK"] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmAcknowledgedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", - "type": "string", - "enum": ["UNACKNOWLEDGED", "ACKNOWLEDGED"] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": ["CRITICAL", "MAJOR", "MINOR", "WARNING", "INDETERMINATE", "CLEARED"] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": ["COMMUNICATIONS_ALARM", "PROCESSING_ERROR_ALARM", "ENVIRONMENTAL_ALARM", "QOS_ALARM", "EQUIPMENT_ALARM"] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault..\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } + "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", + "type": "object", + "required": [ + "id", + "managedObjectId", + "alarmRaisedTime", + "ackState", + "perceivedSeverity", + "eventTime", + "eventType", + "probableCause", + "isRootCause", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "managedObjectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rootCauseFaultyComponent": { + "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1. NOTE:\tAt least one of the attributes shall be present.\n", + "type": "object", + "properties": { + "faultyNestedNsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyResourceType": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyNsVirtualLinkInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + }, + "rootCauseFaultyResource": { + "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", + "type": "object", + "required": [ + "faultyResource", + "faultyResourceType" + ], + "properties": { + "faultyResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "faultyResourceType": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + } + }, + "alarmRaisedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmChangedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmClearedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmAcknowledgedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "ackState": { + "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", + "type": "string", + "enum": [ + "UNACKNOWLEDGED", + "ACKNOWLEDGED" + ] + }, + "perceivedSeverity": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + }, + "eventTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "eventType": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + }, + "faultType": { + "description": "Additional information to clarify the type of the fault. Valid values applicable to specific Alarms are specified as \"Alarm definition identifier\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", + "type": "string" + }, + "probableCause": { + "description": "Information about the probable cause of the fault. Valid values applicable to specific Alarms are specified as \"Probable cause\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", + "type": "string" + }, + "isRootCause": { + "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", + "type": "boolean" + }, + "correlatedAlarmIds": { + "description": "List of identifiers of other alarms correlated to this fault.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "faultDetails": { + "description": "Provides additional information about the fault. Valid values applicable to specific Alarms are specified as \"Fault details\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json b/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json index 82358b6de495dc2574a046a304590ae7632e4c36..5dddc05e0f8ee8ce5dae9d93236641901251c070 100644 --- a/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/alarmNotification.schema.json @@ -1,257 +1,273 @@ { - "description": "This type represents an alarm notification about NS faults.\n", + "description": "This type represents an alarm notification about NS faults. It shall comply with the provisions defined in Table 8.5.2.5-1. This notification shall be triggered by the NFVO when: • An alarm has been created. • An alarm has been updated, e.g. the severity of the alarm has changed.\n", "type": "object", "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "alarm", - "_links" + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "alarm", + "_links" ], "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "AlarmClearedNotification" - ] - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "alarm": { - "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", - "type": "object", - "required": [ - "id", - "managedObjectId", - "alarmRaisedTime", - "rootCauseFaultyComponent", - "ackState", - "perceivedSeverity", - "eventTime", - "eventType", - "probableCause", - "isRootCause", - "_links" - ], - "properties": { - "id": { + "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "managedObjectId": { + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"AlarmNotification\" for this notification type.\n", + "type": "string", + "enum": [ + "AlarmClearedNotification" + ] + }, + "subscriptionId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "rootCauseFaultyComponent": { - "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1.\n", - "type": "object", - "properties": { - "faultyNestedNsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyResourceType": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyNsVirtualLinkInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarm": { + "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", "type": "object", "required": [ - "faultyResource", - "faultyResourceType" + "id", + "managedObjectId", + "alarmRaisedTime", + "ackState", + "perceivedSeverity", + "eventTime", + "eventType", + "probableCause", + "isRootCause", + "_links" ], "properties": { - "faultyResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { + "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "resourceProviderId": { + }, + "managedObjectId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + }, + "rootCauseFaultyComponent": { + "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1. NOTE:\tAt least one of the attributes shall be present.\n", + "type": "object", + "properties": { + "faultyNestedNsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyResourceType": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyNsVirtualLinkInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + }, + "rootCauseFaultyResource": { + "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", + "type": "object", + "required": [ + "faultyResource", + "faultyResourceType" + ], + "properties": { + "faultyResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "faultyResourceType": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + } + }, + "alarmRaisedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmChangedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmClearedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmAcknowledgedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "ackState": { + "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", + "type": "string", + "enum": [ + "UNACKNOWLEDGED", + "ACKNOWLEDGED" + ] + }, + "perceivedSeverity": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + }, + "eventTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "eventType": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + }, + "faultType": { + "description": "Additional information to clarify the type of the fault. Valid values applicable to specific Alarms are specified as \"Alarm definition identifier\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or the resource provider and can be used as information that complements the ResourceHandle.\n", + }, + "probableCause": { + "description": "Information about the probable cause of the fault. Valid values applicable to specific Alarms are specified as \"Probable cause\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", "type": "string" - } + }, + "isRootCause": { + "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", + "type": "boolean" + }, + "correlatedAlarmIds": { + "description": "List of identifiers of other alarms correlated to this fault.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "faultDetails": { + "description": "Provides additional information about the fault. Valid values applicable to specific Alarms are specified as \"Fault details\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": [ - "COMPUTE", - "STORAGE", - "NETWORK" - ] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", - "type": "string", - "enum": [ - "UNACKNOWLEDGED", - "ACKNOWLEDGED" - ] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "INDETERMINATE", - "CLEARED" - ] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": [ - "COMMUNICATIONS_ALARM", - "PROCESSING_ERROR_ALARM", - "ENVIRONMENTAL_ALARM", - "QOS_ALARM", - "EQUIPMENT_ALARM" - ] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" } - }, - "faultDetails": { - "description": "Provides additional information about the fault..\n", - "type": "string" - }, - "_links": { - "description": "Links for this resource.\n", + }, + "_links": { + "description": "Links to resources related to this notification.\n", "type": "object", "required": [ - "self" + "subscription" ], "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } } - } - } - } - } - }, - "alarmClearedTime": { - "description": "The time stamp indicating when the alarm was cleared.\n" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "alarm" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "alarm": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } } - } } - } } } \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/schemas/alarms.schema.json b/SOL005/NSFaultManagement-API/schemas/alarms.schema.json index 6d4c27e04aca9a14cfc0ef61f6b068f4498db4b0..06cf8ee54ef4c60de90637050f23e6b11a70f273 100644 --- a/SOL005/NSFaultManagement-API/schemas/alarms.schema.json +++ b/SOL005/NSFaultManagement-API/schemas/alarms.schema.json @@ -1,180 +1,219 @@ { - "type": "array", - "items": { - - "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", - "type": "object", - "required": ["id", "managedObjectId", "alarmRaisedTime", "ackState", "perceivedSeverity", "eventTime", "eventType", "probableCause", "isRootCause", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "managedObjectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rootCauseFaultyComponent": { - "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1. NOTE:\tAt least one of the attributes shall be present.\n", - "type": "object", - "properties": { - "faultyNestedNsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyResourceType": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "faultyNsVirtualLinkInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - }, - "rootCauseFaultyResource": { - "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", - "type": "object", - "required": ["faultyResource", "faultyResourceType"], - "properties": { - "faultyResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", - "type": "string" - }, - "vimLevelAdditionalResourceInfo": { - "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", - "type": "object", - "properties": { - "hostName": { - "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", - "type": "string" - }, - "persistentVolume": { - "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", - "type": "string" - }, - "additionalInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "containerNamespace": { - "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", - "type": "string" - } - } - }, - "faultyResourceType": { - "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", - "type": "string", - "enum": ["COMPUTE", "STORAGE", "NETWORK"] - } - } - }, - "alarmRaisedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmChangedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmClearedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "alarmAcknowledgedTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "ackState": { - "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", - "type": "string", - "enum": ["UNACKNOWLEDGED", "ACKNOWLEDGED"] - }, - "perceivedSeverity": { - "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": ["CRITICAL", "MAJOR", "MINOR", "WARNING", "INDETERMINATE", "CLEARED"] - }, - "eventTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "eventType": { - "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment fault (ITU-T Recommendation X.733).\n", - "type": "string", - "enum": ["COMMUNICATIONS_ALARM", "PROCESSING_ERROR_ALARM", "ENVIRONMENTAL_ALARM", "QOS_ALARM", "EQUIPMENT_ALARM"] - }, - "faultType": { - "description": "Additional information to clarify the type of the fault.\n", - "type": "string" - }, - "probableCause": { - "description": "Information about the probable cause of the fault.\n", - "type": "string" - }, - "isRootCause": { - "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", - "type": "boolean" - }, - "correlatedAlarmIds": { - "description": "List of identifiers of other alarms correlated to this fault.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "faultDetails": { - "description": "Provides additional information about the fault..\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": ["self"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } + "type": "array", + "items": { + "description": "The alarm data type encapsulates information about an alarm. It shall comply with the provisions defined in Table 8.5.2.4-1\n", + "type": "object", + "required": [ + "id", + "managedObjectId", + "alarmRaisedTime", + "ackState", + "perceivedSeverity", + "eventTime", + "eventType", + "probableCause", + "isRootCause", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "managedObjectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rootCauseFaultyComponent": { + "description": "This type represents the faulty component that has a negative impact on an NS. It shall comply with the provisions defined in Table 8.5.3.4-1. NOTE:\tAt least one of the attributes shall be present.\n", + "type": "object", + "properties": { + "faultyNestedNsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyResourceType": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "faultyNsVirtualLinkInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + }, + "rootCauseFaultyResource": { + "description": "This type represents the faulty virtual resources that have a negative impact on a NS.\n", + "type": "object", + "required": [ + "faultyResource", + "faultyResourceType" + ], + "properties": { + "faultyResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "faultyResourceType": { + "description": "The enumeration FaultyResourceType represents those types of faulty resource. Acceptable values are: - COMPUTE - Virtual compute resource. - STORAGE - Virtual storage resource. - NETWORK - Virtual network resource.\n", + "type": "string", + "enum": [ + "COMPUTE", + "STORAGE", + "NETWORK" + ] + } + } + }, + "alarmRaisedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmChangedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmClearedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "alarmAcknowledgedTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "ackState": { + "description": "Acknowledgment state of the alarm. Permitted values: UNACKNOWLEDGED ACKNOWLEDGED\n", + "type": "string", + "enum": [ + "UNACKNOWLEDGED", + "ACKNOWLEDGED" + ] + }, + "perceivedSeverity": { + "description": "Indicates the relative level of urgency for operator attention. * CRITICAL: The Critical severity level indicates that a service\n affecting condition has occurred and an immediate corrective action\n is required. Such a severity can be reported, for example, when a\n managed object becomes totally out of service and its capability needs\n to be restored (ITU-T Recommendation X.733).\n* MAJOR: The Major severity level indicates that a service affecting\n condition has developed and an urgent corrective action is required.\n Such a severity can be reported, for example, when there is a severe\n degradation in the capability of the managed object and its full\n capability needs to be restored (ITU-T Recommendation X.733).\n* MINOR: The Minor severity level indicates the existence of a\n non-service affecting fault condition and that corrective action\n should be taken in order to prevent a more serious (for example,\n service affecting) fault. Such a severity can be reported, for\n example, when the detected alarm condition is not currently degrading\n the capacity of the managed object (ITU-T Recommendation X.733).\n* WARNING: The Warning severity level indicates the detection of a\n potential or impending service affecting fault, before any significant\n effects have been felt. Action should be taken to further diagnose (if\n necessary) and correct the problem in order to prevent it from\n becoming a more serious service affecting fault (ITU-T Recommendation\n X.733).\n* INDETERMINATE: The Indeterminate severity level indicates that the\n severity level cannot be determined (ITU-T Recommendation X.733).\n* CLEARED: The Cleared severity level indicates the clearing of one or\n more previously reported alarms. This alarm clears all alarms for this\n managed object that have the same Alarm type, Probable cause and\n Specific problems (if given) (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "INDETERMINATE", + "CLEARED" + ] + }, + "eventTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "eventType": { + "description": "The enumeration EventType represents those types of events that trigger an alarm. - COMMUNICATIONS_ALARM: An alarm of this type is associated with the\n procedure and/or process required conveying information from one point\n to another (ITU-T Recommendation X.733).\n- PROCESSING_ERROR_ALARM: An alarm of this type is associated with a\n software or processing fault (ITU-T Recommendation X.733).\n- ENVIRONMENTAL_ALARM: An alarm of this type is associated with a\n condition related to an enclosure in which the equipment resides\n (ITU-T Recommendation X.733).\n- QOS_ALARM: An alarm of this type is associated with degradation in the\n quality of a service (ITU-T Recommendation X.733).\n- EQUIPMENT_ALARM: An alarm of this type is associated with an equipment\n fault (ITU-T Recommendation X.733).\n", + "type": "string", + "enum": [ + "COMMUNICATIONS_ALARM", + "PROCESSING_ERROR_ALARM", + "ENVIRONMENTAL_ALARM", + "QOS_ALARM", + "EQUIPMENT_ALARM" + ] + }, + "faultType": { + "description": "Additional information to clarify the type of the fault. Valid values applicable to specific Alarms are specified as \"Alarm definition identifier\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", + "type": "string" + }, + "probableCause": { + "description": "Information about the probable cause of the fault. Valid values applicable to specific Alarms are specified as \"Probable cause\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", + "type": "string" + }, + "isRootCause": { + "description": "Attribute indicating if this fault is the root for other correlated alarms. If TRUE, then the alarms listed in the attribute CorrelatedAlarmId are caused by this fault.\n", + "type": "boolean" + }, + "correlatedAlarmIds": { + "description": "List of identifiers of other alarms correlated to this fault.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "faultDetails": { + "description": "Provides additional information about the fault. Valid values applicable to specific Alarms are specified as \"Fault details\" values of the Alarm applicable to Os-Ma-nfvo reference point, as defined in clause 7.4 of ETSI GS NFV-IFA 045.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot index 169db08418313f3a555e4d3e1eb2bf8e68d8f30d..2baa2b154cc8eedb1ae5371f926fa5856afd9c47 100644 --- a/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot @@ -13,7 +13,7 @@ Request a cancellation of an ongoing coordination action ... Test title: Request a cancellation of an ongoing coordination action ... Test objective: The objective is to test the request for the cancellation of an ongoing coordination task ... Pre-conditions: An ongoing coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Request a cancellation of a finished coordination action ... Test title: Request a cancellation of a finished coordination action ... Test objective: The objective is to test the request for the cancellation of a finished coordination action ... Pre-conditions: A finished coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ Request a cancellation of an ongoing coordination action without authentication ... Test title: Request a cancellation of an ongoing coordination action without authentication ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET information about a cancellation of an ongoing coordination action - method ... Test title: GET information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ PUT information about a cancellation of an ongoing coordination action - method ... Test title: PUT information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ PATCH information about a cancellation of an ongoing coordination action - metho ... Test title: PATCH information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ DELETE information about a cancellation of an ongoing coordination action - meth ... Test title: DELETE information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ Request a cancellation of an ongoing coordination action with permitted authoriz ... Test title: Request a cancellation of an ongoing coordination action with permitted authorization scope ... Test objective: The objective is to test the request for the cancellation of an ongoing coordination task with permitted authorization scope ... Pre-conditions: An ongoing coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ Request a cancellation of an ongoing coordination action with not permitted auth ... Test title: Request a cancellation of an ongoing coordination action with not permitted authorization scope ... Test objective: The objective is to test that the request for the cancellation of an ongoing coordination task fails when using not permitted authorization scope ... Pre-conditions: An ongoing coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index c03bacf4d1bcac2ef7a4c94c4d955dc6cc8dc5f2..8221f803a35e8d745c982642b74a06958de3de77 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -13,7 +13,7 @@ Request a Coordination of an LCM operation occurrence synchronously ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO @@ -29,7 +29,7 @@ Request a Coordination of an LCM operation occurrence asynchronously ... Test title: Request a Coordination of an LCM operation occurrence asynchronously ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ Request a Coordination of an LCM operation occurrence - FORBIDDEN ... Test title: Request a Coordination of an LCM operation occurrence - FORBIDDEN ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING". The request is performed by a user that has not the grant to run this operation - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ Request a Coordination of an LCM operation occurrence - CONFLICT ... Test title: Request a Coordination of an LCM operation occurrence - CONFLICT ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... Pre-conditions: The status of the related LCM opeation occurrence is not "PROCESSING" - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un ... Test title: Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable ... Test objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately the request, but can perform it sometime in the future. ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot perform immediately the request - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ Request a Coordination of an LCM operation occurrence without authentication ... Test title: Request a Coordination of an LCM operation occurrence without authentication ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -96,7 +96,7 @@ GET all Coordinations of an LCM operation occurrence - method not implemented ... Test title: GET all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PUT all Coordinations of an LCM operation occurrence - method not implemented ... Test title: PUT all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ PATCH all Coordinations of an LCM operation occurrence - method not implemented ... Test title: PATCH all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ DELETE all Coordinations of an LCM operation occurrence - method not implemented ... Test title: DELETE all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -147,7 +147,7 @@ Request a Coordination of an LCM operation occurrence synchronously with permitt ... Test title: Request a Coordination of an LCM operation occurrence synchronously with permitted authorization scope ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence with permitted authorization scope ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO @@ -162,7 +162,7 @@ Request a Coordination of an LCM operation occurrence synchronously with not per ... Test title: Request a Coordination of an LCM operation occurrence synchronously with not permitted authorization scope ... Test objective: The objective is to test that the synchronous request for the coordination of an LCM operation occurrence fails when using not permitted authorization scope ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot index 2ee2e9d1b6ce3d1b0dbabe33fa3ff92dc9b4b280..833fc48725b7bf0f8c316699daf4f19da58a6a3b 100644 --- a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot @@ -13,7 +13,7 @@ POST an individual coordination action of an LCM operation occurrence - method n ... Test title: POST an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ Get information about a finished coordination task ... Test title: Get information about a finished coordination task ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. ... Pre-conditions: Individual coordination task is terminated - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ Get information about an ongoing coordination task ... Test title: Get information about an ongoing coordination task ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ Get information about an invalid coordination task ... Test title: Get information about an invalid coordination task ... Test objective: The objective is to try to read an individual coordination task ... Pre-conditions: Individual coordination task is not present - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ Get information about a finished coordination task without authentication ... Test title: Get information about a finished coordination task without authentication ... Test objective: The objective is to try to read an individual coordination task without using authentication ... Pre-conditions: none - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ PUT an individual coordination action of an LCM operation occurrence - method no ... Test title: PUT an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ PATCH an individual coordination action of an LCM operation occurrence - method ... Test title: PATCH an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -105,7 +105,7 @@ DELETE an individual coordination action of an LCM operation occurrence - method ... Test title: DELETE an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ Get information about a finished coordination task with permitted authorization ... Test title: Get information about a finished coordination task with permitted authorization scope ... Test objective: The objective is to retrieve information about an individual coordination task with permitted authorization scope ... Pre-conditions: Individual coordination task is terminated - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none @@ -131,7 +131,7 @@ Get information about a finished coordination task with not permitted authorizat ... Test title: Get information about a finished coordination task with not permitted authorization scope ... Test objective: The objective is to test that retrieve information about an individual coordination task fails when using not permitted authorization scope ... Pre-conditions: Individual coordination task is terminated - ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot b/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot index 3d518325858160f5907bd7930a53f3a815882465..53fe62c178d4ab66a30f9e1dedeac4332058efbd 100644 --- a/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/CancelOperationTask.robot @@ -13,7 +13,7 @@ POST Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The objective is to test that POST method cancel the NS LCM operation ... Pre-conditions: NS instance status equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Cancel operation task Not Found ... Test title: POST Cancel operation task Not Found ... Test objective: The objective is to test that POST method fail completing the Cancel NS LCM operation if the resource is not found ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Cancel operation task Conflict ... Test title: POST Cancel operation task Conflict ... Test objective: The objective is to test that POST method fail if a status conflict exist on the NS LCM operation. (i.e. NS instance status not equal to STARTING, PROCESSING or ROLLING_BACK) ... Pre-conditions: NS instance status not equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Cancel operation task - Method not implemented ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Cancel operation task - Method not implemented ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Cancel operation task - Method not implemented ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Cancel operation task - Method not implemented ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.15.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Cancel operation task with permitted authorization scope ... Test title: POST Cancel operation task with permitted authorization scope ... Test objective: The objective is to test that POST method cancel the NS LCM operation with permitted authorization scope ... Pre-conditions: NS instance status equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status equal to FAILED_TEMP @@ -113,7 +113,7 @@ POST Cancel operation task with not permitted authorization scope ... Test title: POST Cancel operation task with not permitted authorization scope ... Test objective: The objective is to test that POST method cancel the NS LCM operation fails when using not permitted authorization scope ... Pre-conditions: NS instance status equal to STARTING, PROCESSING or ROLLING_BACK - ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.15.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot index c5bc0595433183987d8907aa9783f707068de555..dd83de2433c26cf99cb0dd8386514216fa3a4280 100644 --- a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot @@ -13,7 +13,7 @@ POST Continue operation task ... Test title: POST Continue operation task ... Test objective: The objective is to test that POST method trigger a continue on the LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Continue operation task Not Found ... Test title: POST Continue operation task Not Found ... Test objective: The objective is to test that POST method cannot perform a continue operation task because the resource is not found ... Pre-conditions: none - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Continue operation task Conflict ... Test title: POST Continue operation task Conflict ... Test objective: The objective is to test that POST method fail in case of operation status conflict (i.e. NS instance status not equal to FAILED_TEMP ) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Continue operation task - Method not implemented ... Test title: GET Continue operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.13.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.13.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Continue operation task - Method not implemented ... Test title: PUT Continue operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.13.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.13.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Continue operation task - Method not implemented ... Test title: PATCH Continue operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Continue operation task - Method not implemented ... Test title: DELETE Continue operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Continue operation task with permitted authorization scope ... Test title: POST Continue operation task with permitted authorization scope ... Test objective: The objective is to test that POST method trigger a continue on the LCM operation with permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -113,7 +113,7 @@ POST Continue operation task with not permitted authorization scope ... Test title: POST Continue operation task with not permitted authorization scope ... Test objective: The objective is to test that POST method trigger a continue on the LCM operation fails when using not permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.13.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot index 3cdae826599aeb6ea39f8f8be110aa2f045e1e4c..4b76c7dc0067cc925d77743d146e0e9f22516a6e 100644 --- a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot @@ -15,7 +15,7 @@ NS Instance Creation ... Test title: NS Instance Creation ... Test objective: The objective is to test the workflow for Creating a NS instance ... Pre-conditions: none - ... Reference: Clause 6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS resource is in NOT_ISTANTIATED state @@ -32,7 +32,7 @@ NS Instance Creation with DISABLED Network Service Descriptor ... Test title: NS Instance Creation with DISABLED Network Service Descriptor ... Test objective: The objective is to test the workflow for Creating a NS instance with a disabled NSD ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO in disabled operational state. - ... Reference: Clauses 6.4.2.3.1 and 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clauses 6.4.2.3.1 and 5.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot index bc233abc8733ad89a08abfb761dcaa7369daeb28..5228ca944cf004e46820e90a0e39ee0736ce30e2 100644 --- a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot @@ -15,7 +15,7 @@ NS Instance Deletion ... Test title: NS Instance Deletion ... Test objective: The objective is to test the workflow for Deleting a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: Clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS Instance resource is deleted diff --git a/SOL005/NSLifecycleManagement-API/FailOperationTask.robot b/SOL005/NSLifecycleManagement-API/FailOperationTask.robot index 971bb0c8474b89591b5e118ea31081dc755808b0..fcec56ad6f6fb83d2d33ea9773e98f0e9f370333 100644 --- a/SOL005/NSLifecycleManagement-API/FailOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/FailOperationTask.robot @@ -13,7 +13,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method trigger a state change to "finally failed" on the NS LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Fail operation task Not Found ... Test title: POST Fail operation task Not Found ... Test objective: The objective is to test that POST method fail if the NS LCM resource is not found ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Fail operation task Conflict ... Test title: POST Fail operation task Conflict ... Test objective: The objective is to test that POST method fail in case of status conflict on the NS LCM operation (i.e NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Fail operation task - Method not implemented ... Test title: GET Fail operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT Fail operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Fail operation task - Method not implemented ... Test title: PATCH Fail operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE Fail operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Fail operation task with permitted authorization scope ... Test title: POST Fail operation task with permitted authorization scope ... Test objective: The objective is to test that POST method trigger a state change to "finally failed" on the NS LCM operation with permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -113,7 +113,7 @@ POST Fail operation task with not ermitted authorization scope ... Test title: POST Fail operation task with not ermitted authorization scope ... Test objective: The objective is to test that POST method trigger a state change to "finally failed" on the NS LCM operation fails when using not permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.14.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/HealNSTask.robot b/SOL005/NSLifecycleManagement-API/HealNSTask.robot index 9644f4292d6e317fdec362ef3c33b437acf9a758..90adff4023b782f3220096c2f8e54c0c55dc21ae 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTask.robot @@ -13,7 +13,7 @@ POST Heal a NSInstance ... Test title: POST Heal a NSInstance ... Test objective: The objective is to test that POST method trigger a Heal NS instance ... Pre-conditions: NS Instance is in INSTANTIATED state. - ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is still in INSTANTIATED state. @@ -26,7 +26,7 @@ POST Heal a NSInstance - Conflict (Not Instantited) ... Test title: POST Heal a NSInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method fail if NS instance is in NOT_INSTANTIATE state ... Pre-conditions: NS Instance is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS Instance is still in NOT_INSTANTIATED state @@ -39,7 +39,7 @@ GET Heal NSInstance- Method not implemented ... Test title: GET Heal NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Heal NSInstance - Method not implemented ... Test title: PUT Heal NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Heal NSInstance - Method not implemented ... Test title: PATCH Heal NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Heal NSInstance - Method not implemented ... Test title: DELETE Heal NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ POST Heal a NSInstance with permitted authorization scope ... Test title: POST Heal a NSInstance with permitted authorization scope ... Test objective: The objective is to test that POST method trigger a Heal NS instance with permitted authorization scope ... Pre-conditions: NS Instance is in INSTANTIATED state. - ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is still in INSTANTIATED state. @@ -100,7 +100,7 @@ POST Heal a NSInstance with not permitted authorization scope ... Test title: POST Heal a NSInstance with not permitted authorization scope ... Test objective: The objective is to test that POST method trigger a Heal NS instance fails when using not permitted authorization scope ... Pre-conditions: NS Instance is in INSTANTIATED state. - ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is still in INSTANTIATED state. diff --git a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot index 365f84e5e0fa6f5436fdc780f8c8b598b9883539..24440ad47fc66e4da34cd24977abc359f8660e41 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Heal Flow of NS lifecycle management operations ... Test title: Heal Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Healing a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: Clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS Instance still in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot index 07bbcec4062b76c8c98390d59c23b4d2d65e6d47..7291a2b6d97a2b7c84425e03835798fe7f27fa9e 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot @@ -13,7 +13,7 @@ POST Individual NSInstance - Method not implemented ... Test title: POST Individual NSInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Information about an individual NS Instance ... Test title: GET Information about an individual NS Instance ... Test objective: The objective is to test that GET method returns an individual NS instance ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ PUT Individual NSInstance - Method not implemented ... Test title: PUT Individual NSInstance - Method not implemented ... Test objective: TThe objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PATCH Individual NSInstance - Method not implemented ... Test title: PATCH Individual NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ DELETE Individual NSInstance ... Test title: DELETE Individual NSInstance ... Test objective: The objective is to test that DELETE method delete a not INSTANTIATED NS instance ... Pre-conditions: NS instance is not INSTANTIATED . - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Check Postcondition NS Instance is deleted @@ -77,7 +77,7 @@ DELETE Individual NSInstance Conflict ... Test title: DELETE Individual NSInstance Conflict ... Test objective: The objective is to test that DELETE method cannot delete an INSTANTIATED NS instance ... Pre-conditions: one instance of a NS in INSTANTIATED state - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Check Postcondition NS Instance is not deleted @@ -91,7 +91,7 @@ DELETE Individual NSInstance with permitted authorization scope ... Test title: DELETE Individual NSInstance with permitted authorization scope ... Test objective: The objective is to test that DELETE method delete a not INSTANTIATED NS instance with permitted authorization scope ... Pre-conditions: NS instance is not INSTANTIATED . - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Check Postcondition NS Instance is deleted @@ -104,7 +104,7 @@ DELETE Individual NSInstance with not permitted authorization scope ... Test title: DELETE Individual NSInstance with not permitted authorization scope ... Test objective: The objective is to test that DELETE method fails to delete a not INSTANTIATED NS instance when using a not permitted authorization scope ... Pre-conditions: NS instance is not INSTANTIATED . - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot b/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot index 734c5f8db1b9149d0fc3aaa3e14d5e5e10b40a10..95b071aa8f63059534b3d0bcd51171d1e14590f3 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSLCMOccurences.robot @@ -12,7 +12,7 @@ Post Individual NS LCM occurrences - Method not implemented ... Test title: Post Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get status information about Individual NS LCM occurrences ... Test title: Get status information about Individual NS LCM occurrences ... Test objective: The objective is to test that GET method returns the LCM occurrence of the NS ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT status information about Individual NS LCM occurrences - Method not implemen ... Test title: PUT status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH status information about Individual NS LCM occurrences ... Test title: PATCH status information about Individual NS LCM occurrences ... Test objective: The objective is to test that PATCH method modify an existing Individual NS LCM occurrence ... Pre-conditions: An Individual NS LCM occurrence represents a scheduled operation not yet started - ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH status information about Individual NS LCM occurrences - scheduled operati ... Test title: PATCH status information about Individual NS LCM occurrences ... Test objective: The objective is to test that PATCH method modify an existing Individual NS LCM occurrence ... Pre-conditions: An Individual NS LCM occurrence represents a scheduled operation already started - ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH status information about Individual NS LCM occurrences - Precondition fail ... Test title: PATCH status information about Individual NS LCM occurrences - Precondition failed ... Test objective: The objective is to test that PATCH method that modifies an existing Individual NS LCM occurrence fails if the resource was modified by another entity ... Pre-conditions: An Individual NS LCM occurrence represents a scheduled operation not yet started - ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The resource was modified by another entity ... Post-Conditions: none @@ -88,7 +88,7 @@ PATCH status information about Individual NS LCM occurrences - Precondition fail ... Test title: PATCH status information about Individual NS LCM occurrences - Precondition failed HTTP Conditional Request Not Supported ... Test objective: The objective is to test that PATCH method that modifies an existing Individual NS LCM occurrence fails if the API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Pre-conditions: An Individual NS LCM occurrence represents a scheduled operation not yet started - ... Reference: Clause 6.4.10.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Post-Conditions: none @@ -101,7 +101,7 @@ DELETE status information about Individual NS LCM occurrences - Method not imple ... Test title: DELETE status information about Individual NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -113,7 +113,7 @@ PATCH status information about Individual NS LCM occurrences with permitted auth ... Test title: PATCH status information about Individual NS LCM occurrences with permitted authorization scope ... Test objective: The objective is to test that PATCH method modify an existing Individual NS LCM occurrence with permitted authorization scope ... Pre-conditions: An Individual NS LCM occurrence represents a scheduled operation not yet started - ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -125,7 +125,7 @@ PATCH status information about Individual NS LCM occurrences with not permitted ... Test title: PATCH status information about Individual NS LCM occurrences with not permitted authorization scope ... Test objective: The objective is to test that PATCH method modify an existing Individual NS LCM occurrence fails when using not permitted authorization scope ... Pre-conditions: An Individual NS LCM occurrence represents a scheduled operation not yet started - ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.10.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot b/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot index d581fa720013022a15a6bd91eb92a1f863e8fd13..dde1a2286a480597878cb7f706fe228a82f6c876 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualSubscription.robot @@ -14,7 +14,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.17.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Information about an individual subscription ... Test title: GET Information about an individual subscription ... Test objective: The objective is to test the retrieval of NS lifecycle management subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: TThe objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.17.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.17.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: At least one lifecycle management subscription is available in the NFVO - ... Reference: Clause 6.4.17.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.17.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS lifecycle management subscription is not available anymore on NFVO @@ -75,7 +75,7 @@ GET Information about an individual subscription with permitted authorization sc ... Test title: GET Information about an individual subscription with permitted authorization scope ... Test objective: The objective is to test the retrieval of NS lifecycle management subscription and perform a JSON schema validation of the returned subscription data structure with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET Information about an individual subscription with not permitted authorizatio ... Test title: GET Information about an individual subscription with not permitted authorization scope ... Test objective: The objective is to test the retrieval of NS lifecycle management subscription and perform a JSON schema validation of the returned subscription data structure fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.17.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot b/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot index 7c3e8f8dff96d0564d4b575039dafbebaf2d0768..e8849abf988a328e1f90728512f4157fc9fd9980 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualVNFSnapshot.robot @@ -7,7 +7,7 @@ POST Individual VNF Snapshot - Method not implemented ... Test title: POST Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test title: GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test objective: The objective is to GET information about an individual VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Information about an individual VNF Snapshot - NOT FOUND ... Test title: GET Information about an individual VNF Snapshot - NOT FOUND ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot fails when using an invalid resource identifier. ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual VNF Snapshot - Method not implemented ... Test title: PUT Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ PATCH Individual VNF Snapshot - Method not implemented ... Test title: PATCH Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot not modified @@ -69,7 +69,7 @@ DELETE Individual VNF Snapshot ... Test title: DELETE Individual VNF Snapshot ... Test objective: The objective is to delete a VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: VNF Snapshot resource is deleted. @@ -82,7 +82,7 @@ DELETE Individual VNF Snapshot - Conflict ... Test title: DELETE Individual VNF Snapshot Conflict ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF Snapshot resource. ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: VNF snapshot is in use by some operation such as reverting a VNF instance to a VNF snapshot or creating a VNF snapshot package. ... Post-Conditions: VNF Snapshot resource is not deleted. @@ -96,7 +96,7 @@ GET Information about an individual VNF Snapshot with permitted authorization sc ... Test title: GET Information about an individual VNF Snapshot with permitted authorization scope ... Test objective: The objective is to GET information about an individual VNF Snapshot with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ GET Information about an individual VNF Snapshot with not permitted authorizatio ... Test title: GET Information about an individual VNF Snapshot with permitted authorization scope ... Test objective: The objective is to test that GET information about an individual VNF Snapshot fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.20.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot b/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot index 45baf0a9279a609abe94f9b08ea86012fc375d4b..ae3a6c63cf0630f91466c7642a9c5d5dd2c263b0 100644 --- a/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/InstantiateNSTask.robot @@ -13,7 +13,7 @@ POST Instantiate a nsInstance ... Test title: POST Instantiate a nsInstance ... Test objective: The objective is to test that POST method instantiate a new NS instance ... Pre-conditions: An NS instance created and it is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Instantiate a nsInstance with feasibility check only ... Test title: POST Instantiate a nsInstance with feasibility check ... Test objective: The objective is to test that POST method instantiate a new NS instance with feasibility check only ... Pre-conditions: An NS instance created and it is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ POST Instantiate a nsInstance Conflict ... Test title: POST Instantiate a nsInstance Conflict ... Test objective: The objective is to test that the operation cannot be performed due to a conflict with the state of resource (i.e. the resource is in INSTANTIATED state) ... Pre-conditions: resource is in INSTANTIATED state - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not instantiated on the NFVO @@ -54,7 +54,7 @@ GET Instantiate NSInstance - Method not implemented ... Test title: GET Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -66,7 +66,7 @@ PUT Instantiate NSInstance - Method not implemented ... Test title: PUT Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -78,7 +78,7 @@ PATCH Instantiate NSInstance - Method not implemented ... Test title: PATCH Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -90,7 +90,7 @@ DELETE Instantiate NSInstance - Method not implemented ... Test title: DELETE Instantiate NSInstance - Method not implemented ... Test objective: The objective is to test that the operation cannot be performed due because method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none. @@ -102,7 +102,7 @@ POST Instantiate a nsInstance with permitted authorization scope ... Test title: POST Instantiate a nsInstance with permitted authorization scope ... Test objective: The objective is to test that POST method instantiate a new NS instance with permitted authorization scope ... Pre-conditions: An NS instance created and it is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ POST Instantiate a nsInstance with not permitted authorization scope ... Test title: POST Instantiate a nsInstance with not permitted authorization scope ... Test objective: The objective is to test that POST method instantiate a new NS instance fails when using not permitted authorization scope ... Pre-conditions: An NS instance created and it is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot index db1aa88f138dbc903319ee40b5609ae6d4a97ed5..dd44df7e920594932bc94017f72cc00e2892aa36 100644 --- a/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/InstantiateNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Instantiate Flow of NS lifecycle management operations ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot b/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot index f00db3885399cf9102b8bf3f33785ad4f7a42a80..5ab4dadbd215182a421636872925b5e53eb9de7f 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOccurences.robot @@ -12,7 +12,7 @@ POST NS LCM occurrences - Method not implemented ... Test title: POST NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ GET status information about multiple NS LCM occurrences ... Test title: GET status information about multiple NS LCM occurrences ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ GET status information about multiple NS LCM occurrences Bad Request Invalid att ... Test title: GET status information about multiple NS LCM occurrences Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail because of wrong query parameter ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid filter parameter - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ GET status information about multiple NS LCM occurrences Bad Request Invalid att ... Test title: GET status information about multiple NS LCM occurrences Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail because of wrong attributes selector ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid attribute selector - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ GET status information about multiple NS LCM occurrences with "all_fields" ... Test title: GET status information about multiple NS LCM occurrences with "all_fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ GET status information about multiple NS LCM occurrences with "exclude_default" ... Test title: GET status information about multiple NS LCM occurrences with "exclude_default" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ GET status information about multiple NS LCM occurrences with "fields" ... Test title: GET status information about multiple NS LCM occurrences with "fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -102,7 +102,7 @@ GET status information about multiple NS LCM occurrences with "exclude_fields" ... Test title: GET status information about multiple NS LCM occurrences with "exclude_fields" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -115,7 +115,7 @@ PUT status information about multiple NS LCM occurrences - Method not implemente ... Test title: PUT status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ PATCH status information about multiple NS LCM occurrences - Method not implemen ... Test title: PATCH status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -139,7 +139,7 @@ DELETE status information about multiple NS LCM occurrences - Method not impleme ... Test title: DELETE status information about multiple NS LCM occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ GET status information about multiple NS LCM occurrences as Paged Response ... Test title: GET status information about multiple NS LCM occurrences as Paged Reponse ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS as paged response. ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ GET status information about multiple NS LCM occurrences - Bad Request Response ... Test title: GET status information about multiple NS LCM occurrences - Bad Request Response too Big ... Test objective: The objective is to test that GET method fail because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one LCM occurrences available in the NFVO, Invalid filter parameter - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -177,7 +177,7 @@ GET status information about multiple NS LCM occurrences with "fields" and "excl ... Test title: GET status information about multiple NS LCM occurrences with "fields" and "exclude_default" ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -190,7 +190,7 @@ GET status information about multiple NS LCM occurrences - Filter ... Test title: GET status information about multiple NS LCM occurrences - Filter ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS using filtering-based query parameters ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -203,7 +203,7 @@ GET status information about multiple NS LCM occurrences with permitted authoriz ... Test title: GET status information about multiple NS LCM occurrences with permitted authorization scope ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS with permitted authorization scope ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -216,7 +216,7 @@ GET status information about multiple NS LCM occurrences with not permitted auth ... Test title: GET status information about multiple NS LCM occurrences with not permitted authorization scope ... Test objective: The objective is to test that GET method returns a list of LCM occurrences of the NS with permitted authorization scope ... Pre-conditions: At least one LCM occurrences available in the NFVO - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index 60384161f52acd7705edef0c8f3e5d0c92a58db0..1e2ce663402b4813eb6008d2afbbfd07b704f3ac 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -81,7 +81,7 @@ Check resource not Check Operation Notification Status is [Arguments] ${status} - Check Operation Notification NsLcmOperationOccurrenceNotification ${status} + Run Keyword If ${SKIP_INTERMEDIATE_NOTIFICATION_CHECKS} == 0 or (${SKIP_INTERMEDIATE_NOTIFICATION_CHECKS} == 1 and '${status}' == 'RESULT') Check Operation Notification NsLcmOperationOccurrenceNotification ${status} Check Operation Notification [Arguments] ${element} ${status}="" diff --git a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot index ca3a865783de18ffd9e9bc61b85d180bb4668604..d76375edb9834b3d1f1c333f3346736412e8d1d7 100644 --- a/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSLifecycleManagement-API/NotificationEndpoint.robot @@ -15,7 +15,7 @@ Ns Lcm Operation Occurrence Notification ... Test title: Ns Lcm Operation Occurrence Notification ... Test objective: The objective is to test that Ns Lcm Operation Occurrence Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ Ns Identifier Creation Notification ... Test title: Ns Identifier Creation Notification ... Test objective: The objective is to test that Ns Identifier Creation Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for Ns Identifier Creation notification is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ Ns Identifier Deletion Notification ... Test title: Ns Identifier Deletion Notification ... Test objective: The objective is to test that Ns Identifier Deletion Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for Ns Identifier Deletion notification is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ Ns Change Notification ... Test title: Ns Change Notification ... Test objective: The objective is to test that Ns Change Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for Ns Change notification is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ Ns LCM Capacity Shortage Notification ... Test title: Ns LCM Capacity Shortage Notification ... Test objective: The objective is to test that Ns LCM Capacity Shortage Notification is delivered with success to the notification consumer. ... Pre-conditions: A subscription for Ns LCM Capacity Shortage notification is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/Notifications.robot b/SOL005/NSLifecycleManagement-API/Notifications.robot index 6b8f95c9f176f8732be7ed50e82bfc3ff5b6c0fe..8fdc246117f8374b84292a64421eb1019b4159ab 100644 --- a/SOL005/NSLifecycleManagement-API/Notifications.robot +++ b/SOL005/NSLifecycleManagement-API/Notifications.robot @@ -13,7 +13,7 @@ NS LCM Operation Occurrence Start Notification ... Test title: NS LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Start Notification when a new NS LCM operation is started in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ NS LCM Operation Occurrence Result Notification ... Test title: NS LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of NS LCM Operation Occurrence Result Notification when a NS LCM operation is completed in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An NS LCM operation is in progress, and a subscription for NS LCM Operation Occurrence notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ NS Identifier Creation Notification ... Test title: NS Identifier Creation Notification ... Test objective: The objective is to test the dispatch of NS Identifier Creation Notification when a new NS instance resource is created in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for NS identifier creation notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ NS Identifier Deletion Notification ... Test title: NS Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of NS Identifier Deletion Notification when a NS instance resource is deleted in the NFVO, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance resource is created, and a subscription for NS identifier deletion notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ NS Change Notification ... Test title: NS Change Notification ... Test objective: The objective is to test the dispatch of NS Change Notification when a NS instance component is affected by an LCM operation occurrence, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance resource is created, and a subscription for NS change notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ NS LCM Capacity Shortage Notification ... Test title: NS LCM Capacity Shortage Notification ... Test objective: The objective is to test the dispatch of NS LCM Capacity Shortage Notification when a resource shortage occurs during the execution of an NS LCM operation, and perform a JSON schema and content validation of the delivered notification.The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS instance resource is created, and a subscription for NS LCM Capacity Shortage notifications is available in the NFVO. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot b/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot index 9ca9e46285d63f63bed329fdbb43f434bfe0b33c..16a64d21d2ba2bf2e2b4c82d06f19b353a8c0b9a 100644 --- a/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/RetryOperationTask.robot @@ -13,7 +13,7 @@ Post Retry operation task ... Test title: Post Retry operation task ... Test objective: The objective is to test that POST method trigger a retry of NS lifecycle operation in case of temporary failure ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -27,7 +27,7 @@ Post Retry operation task Not Found ... Test title: Post Retry operation task Not Found ... Test objective: The objective is to test that POST method fail in case of NS lifecycle operation not found ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ Post Retry operation task Conflict ... Test title: Post Retry operation task Conflict ... Test objective: The objective is to test that POST method fail in case of NS lifecycle operation status conflict (i.e. NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.11.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ Post Retry operation task with permitted authorization scope ... Test title: Post Retry operation task with permitted authorization scope ... Test objective: The objective is to test that POST method trigger a retry of NS lifecycle operation in case of temporary failure with permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -115,7 +115,7 @@ Post Retry operation task with not permitted authorization scope ... Test title: Post Retry operation task with not permitted authorization scope ... Test objective: The objective is to test that POST method trigger a retry of NS lifecycle operation in case of temporary failure fails when using not permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.11.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot b/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot index 7a738354a913026b39a69ce9e162b442a3a87a65..a2e9fda9934a6a680e0129c8ccb542a5760b0684 100644 --- a/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/RollbackOperationTask.robot @@ -13,7 +13,7 @@ POST Rollback operation task ... Test title: POST Rollback operation task ... Test objective: The objective is to test that POST method triggers a rollback on the NS LCM operation ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -26,7 +26,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that POST method fails if NS LCM operation is not found ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Rollback operation task Conflict ... Test title: POST Rollback operation task Conflict ... Test objective: The objective is to test that POST method fail in case of NS LCM operation status conflict (i.e. NS instance status not equal to FAILED_TEMP) ... Pre-conditions: NS instance status not equal to FAILED_TEMP - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.12.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Rollback operation task with permitted authorization scope ... Test title: POST Rollback operation task with permitted authorization scope ... Test objective: The objective is to test that POST method triggers a rollback on the NS LCM operation with permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance status not equal to FAILED_TEMP @@ -113,7 +113,7 @@ POST Rollback operation task with not permitted authorization scope ... Test title: POST Rollback operation task with not permitted authorization scope ... Test objective: The objective is to test that POST method triggers a rollback on the NS LCM operation fails when using not permitted authorization scope ... Pre-conditions: NS instance status equal to FAILED_TEMP - ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.12.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot b/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot index b863abec37cea571bba3a21f1085dbc0acc0f96a..eb7cc1a0d90771d4e2ee910983f5fc2b33917b11 100644 --- a/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/ScaleNSTask.robot @@ -13,7 +13,7 @@ POST Scale a nsInstance ... Test title: POST Scale a nsInstance ... Test objective: The objective is to test that POST method scales NS instance ... Pre-conditions: NS instance is INSTANTIATED state - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is INSTANTIATED state and NS has been scaled @@ -27,7 +27,7 @@ POST Scale a nsInstance - Conflict (Not Instantited) ... Test title: POST Scale a nsInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method cannot scale NS instance because of conflict in resource status (i.e. because the resource is in NOT_INSTANTIATED state) ... Pre-conditions: NS instance is in NOT_INSTANTIATED state. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The Scale NS operation is not triggered on the NFVO @@ -40,7 +40,7 @@ GET Scale NSInstance- Method not implemented ... Test title: GET Scale NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Scale NSInstance - Method not implemented ... Test title: PUT Scale NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Scale NSInstance - Method not implemented ... Test title: PATCH Scale NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Scale NSInstance - Method not implemented ... Test title: DELETE Scale NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ POST Scale a nsInstance with permitted authorization scope ... Test title: POST Scale a nsInstance with permitted authorization scope ... Test objective: The objective is to test that POST method scales NS instance with permitted authorization scope ... Pre-conditions: NS instance is INSTANTIATED state - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is INSTANTIATED state and NS has been scaled @@ -102,7 +102,7 @@ POST Scale a nsInstance with not permitted authorization scope ... Test title: POST Scale a nsInstance with not permitted authorization scope ... Test objective: The objective is to test that POST method scales NS instance fails when using not permitted authorization scope ... Pre-conditions: NS instance is INSTANTIATED state - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot index d91d7cd06683169625b327b4fac002a8eb8be097..fcdd5f2fe6d95a9f2d7aaedd9173e01a92acf06d 100644 --- a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Scale Flow of NS lifecycle management operations ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/Subscriptions.robot b/SOL005/NSLifecycleManagement-API/Subscriptions.robot index 3125b8a082980e4400c7806068ccc29b99857236..3df6ac0340bbbac45bd78147ad536925ebf4c568 100644 --- a/SOL005/NSLifecycleManagement-API/Subscriptions.robot +++ b/SOL005/NSLifecycleManagement-API/Subscriptions.robot @@ -15,7 +15,7 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The objective is to test that POST method create a subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: subscription is created in the NFVO @@ -29,7 +29,7 @@ POST Create a new Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The objective is to test that POST method create a duplicate subscription ... Pre-conditions: a subscription shall already exist - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: duplication supported by NFVO ... Post-Conditions: duplicate subscription is created in the NFVO @@ -43,7 +43,7 @@ POST Create a new Subscription - NO-DUPLICATION ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The objective is to test that POST method cannot create a duplicate subscription ... Pre-conditions: a subscription shall already exist - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: duplication NOT supported by NFVO ... Post-Conditions: duplicate subscription is not created in the NFVO @@ -56,7 +56,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Subscription - Filter ... Test title: GET Subscription - Filter ... Test objective: The objective is Get the list of active subscriptions using a filter ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is Get the list of active subscriptions using an invalid filter ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -95,7 +95,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -108,7 +108,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -121,7 +121,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -134,7 +134,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -147,7 +147,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -159,7 +159,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method cannot modify a NS lifecycle management subscription ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -183,7 +183,7 @@ GET Subscriptions as Paged Response ... Test title: GET Subscriptions as Paged Response ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions as paged response. ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response ... Post-Conditions: none @@ -196,7 +196,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of active subscriptions list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response ... Post-Conditions: none @@ -209,7 +209,7 @@ POST Create a new subscription - Unprocessable Content ... Test title: POST Create a new subscription - Unprocessable Content ... Test objective: The objective is to test the creation of a new lifecycle management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -221,7 +221,7 @@ GET Subscriptions with permitted authorization scope ... Test title: GET Subscriptions with permitted authorization scope ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -234,7 +234,7 @@ GET Subscriptions with not permitted authorization scope ... Test title: GET Subscriptions with not permitted authorization scope ... Test objective: The objective is to test that GET method retrieve the list of existing subscriptions fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.16.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot b/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot index 350ac232163a0f5ae3218774f174facd478f642e..ced22f44eeff50dc518f06d15593cade6c70b48b 100644 --- a/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/TerminateNSTask.robot @@ -12,7 +12,7 @@ POST Terminate a NSInstance ... Test title: POST Terminate a NSInstance ... Test objective: The objective is to test that POST method terminate the NS ... Pre-conditions: NS instance in INSTANTIATED state - ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance has NOT_INSTANTIATED state @@ -26,7 +26,7 @@ POST Terminate a NSInstance - Conflict (Not Instantited) ... Test title: POST Terminate a NSInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method cannot terminate the NS because of conflict in resource status (i.e. the resource is not in INSTANTIATED state) ... Pre-conditions: NS instance is in NOT_INSTANTIATED state - ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance is in NOT_INSTANTIATED state @@ -40,7 +40,7 @@ GET Terminate NSInstance- Method not implemented ... Test title: GET Terminate NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ PUT Terminate NSInstance - Method not implemented ... Test title: PUT Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PATCH Terminate NSInstance - Method not implemented ... Test title: PATCH Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ DELETE Terminate NSInstance - Method not implemented ... Test title: DELETE Terminate NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ POST Terminate a NSInstance with permitted authorization scope ... Test title: POST Terminate a NSInstance with permitted authorization scope ... Test objective: The objective is to test that POST method terminate the NS with permitted authorization scope ... Pre-conditions: NS instance in INSTANTIATED state - ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: NS instance has NOT_INSTANTIATED state @@ -102,7 +102,7 @@ POST Terminate a NSInstance with not permitted authorization scope ... Test title: POST Terminate a NSInstance with permitted authorization scope ... Test objective: The objective is to test that POST method terminate the NS fails when using not permitted authorization scope ... Pre-conditions: NS instance in INSTANTIATED state - ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot index f6f909397462786795283f54852a7f2d70c117a1..1c7e28bc12268441d1158fd0535a0999cbaa436c 100644 --- a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot @@ -14,7 +14,7 @@ Terminate Flow of NS lifecycle management operations ... Test title: Terminate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Terminate a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: Clause 6.4.8 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.8 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in NOT_INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot index 3e679881469c2fb914139d02132071615c40ca62..9f060aadc91f079ee0e2689056d36a8188a01493 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot @@ -13,7 +13,7 @@ POST Update a NSInstance ... Test title: POST Update a NSInstance ... Test objective: The objective is to test that POST method update a NS instance ... Pre-conditions: An NS instance is in INSTANTIATED state - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is still INSTANTIATED and updated on the NFVO @@ -26,7 +26,7 @@ POST Update a NSInstance with feasibility check only ... Test title: POST Update a NSInstance ... Test objective: The objective is to test that POST method update a NS instance with feasibility check only ... Pre-conditions: An NS instance is in INSTANTIATED state - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Update a NSInstance - Conflict (Not Instantited) ... Test title: POST Update a NSInstance - Conflict (Not Instantited) ... Test objective: The objective is to test that POST method fail if a NS Instance is not existing or is in NOT_INSTANTIATED state ... Pre-conditions: An NS instance is in INSTANTIATED state - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not updated on the NFVO @@ -52,7 +52,7 @@ GET Update NSInstance- Method not implemented ... Test title: GET Update NSInstance- Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Update NSInstance - Method not implemented ... Test title: PUT Update NSInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Update NSInstance - Method not implemented ... Test title: PATCH Update NSInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Update NSInstance - Method not implemented ... Test title: DELETE Update NSInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Update a NSInstance with permitted authorization scope ... Test title: POST Update a NSInstance with permitted authorization scope ... Test objective: The objective is to test that POST method update a NS instance with permitted authorization scope ... Pre-conditions: An NS instance is in INSTANTIATED state - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is still INSTANTIATED and updated on the NFVO @@ -113,7 +113,7 @@ POST Update a NSInstance with not permitted authorization scope ... Test title: POST Update a NSInstance with not permitted authorization scope ... Test objective: The objective is to test that POST method update a NS instance fails when using not permitted authorization scope ... Pre-conditions: An NS instance is in INSTANTIATED state - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot index e1a2a8bdab79cbdd5c8bb7ce8b4033bafd2f1c3a..f47b817914d85d5b3030b74fa966209d11811a36 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot @@ -15,7 +15,7 @@ Update Flow of NS lifecycle management operations ... Test title: Update Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Update a NS instance ... Pre-conditions: the resource is in INSTANTIATED state - ... Reference: Clause 6.4.6 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.6 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot b/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot index 4a6c415fe1f8f01e10e4980c9467c241df611e8c..5a8f8d1c38f1f2a2e28bd66cdb5de09672d0b721 100644 --- a/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot +++ b/SOL005/NSLifecycleManagement-API/VNFSnapshots.robot @@ -7,7 +7,7 @@ POST VNF Snapshots - Method Not Implemented ... Test title: POST VNF Snapshots - Method Not Implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -19,7 +19,7 @@ GET information about multiple VNF Snapshots ... Test title: GET information about multiple VNF Snapshots ... Test objective: The objective is to get information about multiples VNF snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ GET information about multiple VNF Snapshots with "all_fields" attribute selecto ... Test title: GET information about multiple VNF Snapshots with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ GET information about multiple VNF Snapshots with "exclude_default" attribute se ... Test title: GET information about multiple VNF Snapshots with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET information about multiple VNF Snapshots with "fields" attribute selector ... Test title: GET information about multiple VNF Snapshots with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ GET information about multiple VNF Snapshots with "exclude_default" and "fields" ... Test title: GET information about multiple VNF Snapshots with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ GET information about multiple VNF Snapshots with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF Snapshots with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ GET VNF Snapshots - Bad Request Response too Big ... Test title: GET VNF Snapshots - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing VNF Snapshots list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO does not support paged response. ... Post-Conditions: none @@ -136,7 +136,7 @@ GET VNF Snapshots as Paged Response ... Test title: GET VNF Snapshots as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing VNF Snapshots as paged response. ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: NFVO supports paged response. ... Post-Conditions: none @@ -149,7 +149,7 @@ PUT VNF Snapshots - Method not implemented ... Test title: PUT VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -161,7 +161,7 @@ PATCH VNF Snapshots - Method not implemented ... Test title: PATCH VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -173,7 +173,7 @@ DELETE VNF Snapshots - Method not implemented ... Test title: DELETE VNF Snapshots - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -185,7 +185,7 @@ GET information about multiple VNF Snapshots using Filter ... Test title: GET information about multiple VNF Snapshots using Filter ... Test objective: The objective is to get information about multiples VNF snapshots using filter ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -198,7 +198,7 @@ GET information about multiple VNF Snapshots with permitted authorization scope ... Test title: GET information about multiple VNF Snapshots with permitted authorization scope ... Test objective: The objective is to get information about multiples VNF snapshots with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -211,7 +211,7 @@ GET information about multiple VNF Snapshots with not permitted authorization sc ... Test title: GET information about multiple VNF Snapshots with not permitted authorization scope ... Test objective: The objective is to test that get information about multiples VNF snapshots fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.19.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml b/SOL005/NSLifecycleManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml index fcbb7729bd1a2eb39f50acc2512c1f0556c0544e..049c0f558951756fb75c0f89108773192bbd0df4 100644 --- a/SOL005/NSLifecycleManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml +++ b/SOL005/NSLifecycleManagement-API/descriptors/SOL001/NSD/nsd_SOL001.yaml @@ -27,7 +27,7 @@ topology_template: flavourId: "VNF-B_flavor" flavourDescription: "VNF-B flavor" vnfm_info: - - 'etsivnfm:v4.5.1' + - 'etsivnfm:v5.1.1' requirements: virtualLink: ext_b_right: "vl_right" diff --git a/SOL005/NSLifecycleManagement-API/environment/variables.txt b/SOL005/NSLifecycleManagement-API/environment/variables.txt index e3846e8c6c853ce0549bfa15663d4aa14c2334ed..1773790954491d8af8f50227a1472911ee8c702d 100644 --- a/SOL005/NSLifecycleManagement-API/environment/variables.txt +++ b/SOL005/NSLifecycleManagement-API/environment/variables.txt @@ -20,6 +20,14 @@ ${SUBSCRIPTIONS_PERMITTED_SCOPE} nslcm:v2:subscriptions ${SNAPSHOT_PERMITTED_SCOPE} nslcm:v2:subscriptions ${NOT_PERMITTED_SCOPE} nslcm:v2:invalid +################################################################################################ +##### THIS VARIABLE BELOW ALLOWS TO SKIP INTERMEDIATE LIFEFYCLE OP OCC INTERMEDIATE CHECKS ##### +##### IT IS INTENDED TO BE A KNOWN DEVIATION FROM STANDARDS ##### + +${SKIP_INTERMEDIATE_NOTIFICATION_CHECKS} 0 + +################################################################################################ + ${CONTENT_TYPE} application/json ${ACCEPT_JSON} application/json diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json index 3382fff9cb322ea23b47a8911b77f547102aef0d..fd6798a2679101875fb6163c2e93b3833deb104b 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsInstance.schema.json @@ -1734,14 +1734,14 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\nNOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be\n used, otherwise it will be ignored by the CISM.\nNOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address.\nNOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\nNOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be \n able to configure an external load balancer. Otherwise it shall be ignored.\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address. \n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. \n", "type": "object", "required": [ "type" ], "properties": { "type": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", @@ -1753,12 +1753,40 @@ "type": "string", "format": "IP" }, + "externalIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, "addressPoolName": { - "description": "Name of an address pool from which the container cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", + "description": "Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", "type": "array", "items": { "type": "string" } + }, + "loadBalancerSourceRanges": { + "description": "List of client IP address ranges allowed to access an external load balancer. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } } } } @@ -2807,6 +2835,10 @@ "extensions": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" + }, + "vnfmId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } } } @@ -3026,14 +3058,14 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\nNOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be\n used, otherwise it will be ignored by the CISM.\nNOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address.\nNOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\nNOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be \n able to configure an external load balancer. Otherwise it shall be ignored.\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address. \n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. \n", "type": "object", "required": [ "type" ], "properties": { "type": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", @@ -3045,12 +3077,40 @@ "type": "string", "format": "IP" }, + "externalIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, "addressPoolName": { - "description": "Name of an address pool from which the container cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", + "description": "Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", "type": "array", "items": { "type": "string" } + }, + "loadBalancerSourceRanges": { + "description": "List of client IP address ranges allowed to access an external load balancer. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } } } } diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json index f0d5530849ad7129cf6490c498153c6ebdcb1519..9954b08796a452d120424ac5e88452b4f850cd59 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsInstances.schema.json @@ -1736,14 +1736,14 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\nNOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be\n used, otherwise it will be ignored by the CISM.\nNOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address.\nNOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\nNOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be \n able to configure an external load balancer. Otherwise it shall be ignored.\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address. \n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. \n", "type": "object", "required": [ "type" ], "properties": { "type": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", @@ -1755,12 +1755,40 @@ "type": "string", "format": "IP" }, + "externalIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, "addressPoolName": { - "description": "Name of an address pool from which the container cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", + "description": "Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", "type": "array", "items": { "type": "string" } + }, + "loadBalancerSourceRanges": { + "description": "List of client IP address ranges allowed to access an external load balancer. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } } } } @@ -2809,6 +2837,10 @@ "extensions": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" + }, + "vnfmId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } } } @@ -3028,14 +3060,14 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\nNOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be\n used, otherwise it will be ignored by the CISM.\nNOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address.\nNOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\nNOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be \n able to configure an external load balancer. Otherwise it shall be ignored.\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address. \n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. \n", "type": "object", "required": [ "type" ], "properties": { "type": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", "type": "string", "enum": [ "IPV4", @@ -3047,12 +3079,40 @@ "type": "string", "format": "IP" }, + "externalIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, "addressPoolName": { - "description": "Name of an address pool from which the container cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", + "description": "Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", "type": "array", "items": { "type": "string" } + }, + "loadBalancerSourceRanges": { + "description": "List of client IP address ranges allowed to access an external load balancer. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } } } } diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json index 44af453a239d6333d7dd7a62485bdb67c9ece299..0c3473fec2d42e1a15ca33829ef0c0dd7a1942cb 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOcc.schema.json @@ -1,1185 +1,1958 @@ { - "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n", - "type": "object", - "required": ["id", "operationState", "statusEnteredTime", "nsInstanceId", "lcmOperationType", "startTime", "isAutomaticInvocation", "isCancelPending", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": ["PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": ["INSTANTIATE", "SCALE", "UPDATE", "TERMINATE", "HEAL"] - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 6.7 shall apply. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n", - "type": "string", - "enum": ["INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] - }, - "isCancelPending": { - "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", - "type": "string", - "enum": ["GRACEFUL", "FORCEFUL"] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", - "type": "object", - "properties": { - "affectedVnfs": { - "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", - "type": "object", - "required": ["vnfInstanceId", "vnfdId", "vnfProfileId", "vnfName", "changeType", "changeResult"], - "anyOf": [{ - "required": ["changedExtConnectivity"] - }, { - "oneOf": [{ - "required": ["changedVnfInfo"] - }, { - "required": ["modificationsTriggeredByVnfPkgChange"] - }] - }], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n", - "type": "string", - "enum": ["ADD", "REMOVE", "INSTANTIATE", "TERMINATE", "SCALE", "CHANGE_FLAVOUR", "HEAL", "OPERATE", "MODIFY_INFORMATION", "CHANGE_EXTERNAL_VNF_CONNECTIVITY", "CHANGE_VNFPKG"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "anyOf": [{ - "required": ["changedVnfInfo"] - }, { - "required": ["changedVnfInfo"] - }, { - "required": ["modificationsTriggeredByVnfPkgChange"] - }], - "oneOf": [{ - "required": ["changedVnfInfo"] - }, { - "required": ["modificationsTriggeredByVnfPkgChange"] - }], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": ["vnfInstanceId"], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", - "type": "array", - "items": { - "type": "object", - "required": ["id", "resourceHandle"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", - "type": "object", - "required": ["id", "resourceHandle"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "secondaryCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "trunkResourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "currentVnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", - "type": "object", - "required": ["cpdId"], - "properties": { - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", - "type": "object", - "anyOf": [{ - "required": ["linkPortId"] - }, { - "required": ["cpProtocolData"] - }], - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "createExtLinkPort": { - "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", - "type": "boolean" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": ["layerProtocol"], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": ["IP_OVER_ETHERNET"] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", - "type": "object", - "anyOf": [{ - "required": ["ipAddresses"] - }, { - "required": ["macAddress"] - }], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", - "type": "string", - "enum": ["VLAN", "INHERIT"] - }, - "segmentationId": { - "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", - "type": "array", - "items": { - "type": "object", - "required": ["type"], - "oneOf": [{ - "required": ["fixedAddresses"] - }, { - "required": ["numDynamicAddresses"] - }, { - "required": ["addressRange"] - }], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", - "type": "string", - "enum": ["IPV4", "IPV6"] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": ["minAddress", "maxAddress"], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", - "type": "object", - "properties": { - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - }, - "affectedPnfs": { - "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": ["pnfId", "pnfdId", "pnfProfileId", "cpInstanceId"], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": ["ADD", "REMOVE", "MODIFY"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - }, - "affectedVls": { - "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", - "type": "object", - "required": ["nsVirtualLinkInstanceId", "nsVirtualLinkDescId", "vlProfileId", "changeType", "changeResult"], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", - "type": "string", - "enum": ["ADD", "DELETE", "MODIFY", "ADD_LINK_PORT", "REMOVE_LINK_PORT"] - }, - "linkPortIds": { - "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - }, - "affectedVnffgs": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": ["vnffgInstanceId", "vnffgdId"], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": ["ADD", "DELETE", "MODIFY"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - }, - "affectedNss": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": ["nsInstanceId", "nsdId", "changeType", "changeResult"], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": ["ADD", "REMOVE", "INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED", "PARTIALLY_COMPLETED"] - }, - "changedInfo": { - "description": "Information about the changed NS instance information, if applicable.\n", - "type": "object", - "properties": { - "wanConnectionInfoModifications": { - "description": "Information about the modified WAN related connectivity information, if applicable.\n", - "type": "array", - "items": { - "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", - "type": "object", - "required": ["wanConnectionInfoId"], - "properties": { - "wanConnectionInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "mscsName": { - "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", - "type": "string" - }, - "mscsDescription": { - "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", - "type": "string" - }, - "mscsEndpoints": { - "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", - "type": "array", - "items": { - "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", - "type": "object", - "required": ["mscsEndpointId", "directionality", "connectivityServiceEndpoinId"], - "properties": { - "mscsEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "directionality": { - "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", - "type": "string", - "enum": ["INBOUND", "OUTBOUND", "BOTH"] - }, - "connectivityServiceEndpoinId": { - "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - }, - "removeMscsEndpointIds": { - "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "connectivityServiceEndpoints": { - "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", - "type": "array", - "items": { - "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", - "type": "object", - "required": ["connectivityServiceEndpointId", "vimId"], - "properties": { - "connectivityServiceEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "siteToWanLayer2ProtocolData": { - "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", - "type": "object", - "required": ["layer2ConnectionInfo"], - "properties": { - "layer2ConnectionInfo": { - "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", - "type": "object", - "required": ["connectionType", "interfaceType", "interfaceTagging", "encapsulationType"], - "properties": { - "connectionType": { - "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", - "type": "string", - "enum": ["CSE", "AGGREGATE_CSE"] - }, - "interfaceType": { - "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", - "type": "string", - "enum": ["PARENT", "LOGICAL"] - }, - "interfaceTagging": { - "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", - "type": "string", - "enum": ["UNTAGGED", "TAGGED"] - }, - "encapsulationType": { - "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", - "type": "string", - "enum": ["ETH", "VLAN", "VXLAN"] - }, - "vlanTaggingType": { - "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", - "type": "string", - "enum": ["DOT1Q", "QINQ", "QINANY"] - }, - "wanSegmentIds": { - "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", - "type": "object", - "required": ["wanSegmentIdValue"], - "properties": { - "wanSegmentIdValue": { - "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", - "type": "string" - }, - "wanSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - }, - "vxlanConfig": { - "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", - "type": "object", - "required": ["peerMode"], - "properties": { - "peerMode": { - "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", - "type": "string", - "enum": ["STATIC", "BGP_EVPN"] - }, - "peers": { - "description": "List of IP addresses of VTEP peers when using static mode.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - }, - "lagInterfaceData": { - "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", - "type": "object", - "required": ["aggregatedEndpoints", "lacpActivation", "lacpConfig"], - "properties": { - "aggregatedEndpoints": { - "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "lacpActivation": { - "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", - "type": "boolean" - }, - "lacpConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "layer2ControlProtocol": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "mtuL2": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", - "type": "object", - "required": ["macVrfName"], - "properties": { - "macVrfName": { - "description": "Name (or identifier) of the MAC-VRF instance.\n", - "type": "string" - } - } - }, - "forwardingConfig": { - "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", - "type": "object", - "oneOf": [{ - "required": ["networkResources"] - }, { - "required": ["vnSegmentIds"] - }], - "properties": { - "networkResources": { - "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", - "type": "string" - } - } - } - }, - "vnSegmentIds": { - "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", - "type": "object", - "required": ["vnSegmentIdValue"], - "properties": { - "vnSegmentIdValue": { - "description": "Identifier of the network segment.\n", - "type": "string" - }, - "vnSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - } - } - } - } - }, - "siteToWanLayer3ProtocolData": { - "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", - "type": "object", - "required": ["routingInfo"], - "properties": { - "logicalInterfaceIpAddress": { - "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", - "type": "object", - "required": ["ipAddress", "associatedSegmentId"], - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "associatedSegmentId": { - "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", - "type": "string" - } - } - }, - "routingInfo": { - "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", - "type": "object", - "required": ["routingProtocol", "routingAddressFamily"], - "properties": { - "routingProtocol": { - "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", - "type": "string", - "enum": ["BGP", "RIP", "OSPF", "STATIC", "DIRECT", "VRRP"] - }, - "staticRouting": { - "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", - "type": "object", - "required": ["ipVersion", "ipPrefix", "prefixSize", "nextHop"], - "properties": { - "ipVersion": { - "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": ["IPV4", "IPV6"] - }, - "ipPrefix": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "prefixSize": { - "description": "The IP prefix size.\n", - "type": "number" - }, - "nextHop": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "routingAddressFamily": { - "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": ["IPV4", "IPv6"] - }, - "ospfRouting": { - "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", - "type": "object", - "required": ["areaId"], - "properties": { - "areaId": { - "description": "The routing area identifier, e.g., a number or an IP address.\n", - "type": "string" - } - } - }, - "bgpRouting": { - "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", - "type": "object", - "required": ["bgpAs"], - "properties": { - "bgpAs": { - "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", - "type": "object" - }, - "bgpNeighbour": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "bgpAdditionalParam": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "routeMapsDistribution": { - "description": "Maps of routes that are permitted or denied for redistribution.\n", - "type": "object", - "required": ["policy", "sequence", "matchAndSetRule"], - "properties": { - "policy": { - "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", - "type": "string", - "enum": ["PERMIT", "DENY"] - }, - "sequence": { - "description": "Sequence or index number assigned to the route-map.\n", - "type": "number" - }, - "matchAndSetRule": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - }, - "mtuL3": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the virtual routing and forwarding (VRF).\n", - "type": "object", - "required": ["vrfName"], - "properties": { - "vrfName": { - "description": "Name (or identifier) of the VRF instance.\n", - "type": "string" - } - } - }, - "bfdConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "removeConnectivityServiceEndpoints": { - "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "affectedSaps": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": ["sapInstanceId", "sapdId"], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": ["ADD", "REMOVE", "MODIFY"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - } - } - }, - "lcmCoordinations": { - "description": "Information about LCM coordination actions (see clause 12) related to this LCM operation occurrence.\n", - "type": "array", - "items": { - "type": "object", - "required": ["id", "coordinationActionName", "startTime", "endpointType"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "coordinationActionName": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "coordinationResult": { - "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result\nof executing an LCM coordination action. The coordination result also implies the action\nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType\nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", - "type": "string", - "enum": ["CONTINUE", "ABORT", "CACELLED"] - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "endTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "endpointType": { - "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", - "type": "string", - "enum": ["MGMT"] - }, - "delay": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - } - } - } - }, - "rejectedLcmCoordinations": { - "description": "Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means they can be tried again after a delay. See note 3.\n", - "type": "array", - "items": { - "type": "object", - "required": ["coordinationActionName", "rejectionTime", "endpointType", "delay"], - "properties": { - "coordinationActionName": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rejectionTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "endpointType": { - "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", - "type": "string", - "enum": ["MGMT"] - }, - "delay": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - } - } - } - }, - "warnings": { - "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included VNF LCM operations or NS LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": ["self", "nsInstance"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "continue": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } + "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1: This allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2: A coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED†and \"ROLLED_BACK\".\n", + "type": "object", + "required": [ + "id", + "operationState", + "statusEnteredTime", + "nsInstanceId", + "lcmOperationType", + "startTime", + "isAutomaticInvocation", + "isCancelPending", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "Value | Description ------|------------ PROCESSING | The NS LCM operation is currently in execution. COMPLETED | The NS LCM operation has been completed successfully. PARTIALLY_COMPLETED | The NS LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The NS LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The NS LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The NS LCM operation is currently being rolled back. ROLLED_BACK | The NS LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "PARTIALLY_COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "isAutomaticInvocation": { + "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", + "type": "boolean" + }, + "operationParams": { + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 6.7 shall apply. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "HEAL", + "TERMINATE" + ] + }, + "isCancelPending": { + "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", + "type": "boolean" + }, + "cancelMode": { + "description": "Cancellation mode.\nIf the NS LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nIf the NS LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", + "type": "string", + "enum": [ + "GRACEFUL", + "FORCEFUL" + ] + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "resourceChanges": { + "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", + "type": "object", + "properties": { + "affectedVnfs": { + "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFs.\nNOTE: At least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" or “changedCertificateInfo†shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", + "type": "object", + "required": [ + "vnfInstanceId", + "vnfdId", + "vnfProfileId", + "vnfName", + "changeType", + "changeResult" + ], + "anyOf": [ + { + "required": [ + "changedExtConnectivity" + ] + }, + { + "oneOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ] + } + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfName": { + "description": "Name of the VNF Instance.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY - CHANGE_VNFPKG\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "TERMINATE", + "SCALE", + "CHANGE_FLAVOUR", + "HEAL", + "OPERATE", + "MODIFY_INFORMATION", + "CHANGE_EXTERNAL_VNF_CONNECTIVITY", + "CHANGE_VNFPKG" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + }, + "changedInfo": { + "description": "Information about the changed VNF instance information, including VNF configurable properties, and certificate content if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ], + "oneOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ], + "properties": { + "changedVnfInfo": { + "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", + "type": "object", + "required": [ + "vnfInstanceId" + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", + "type": "array", + "items": { + "description": "This type represents information about an VNF external VL.", + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "extNetAttDefResource": { + "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", + "type": "array", + "items": { + "description": "This type represents the information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network\n", + "type": "object", + "required": [ + "netAttDefResourceInfoId", + "netAttDefResource" + ], + "properties": { + "netAttDefResourceInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "netAttDefResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "associatedExtCpId": { + "description": "Identifier of the external CP of the VNF associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "associatedVnfcCpId": { + "description": "Identifier of the VNFC CP of the VNF associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1: In case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance different than the one that has used it before the operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396 [11]). See notes 2, 3 and 4.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of a VNF external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: In case a link port is provided, the NFVO shall use that link port when connecting the VNF external CP to the external VL. • In case a link port is not provided, the NFVO or VNFM shall create a link port on the external VL, and use that link port to connect the VNF external CP to the external VL. In the case of container-based deployment of the VNFC exposing the external CP, the NFVO and VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\nNOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\"\n for an external CP instance connected or to be connected to a virtual network not\n categorized as secondary container cluster network:\n - At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n - If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n - If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier\n when communicating with the VNFM. If the NFVO knows that there can be an identifier collision\n when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\nNOTE 3: The following conditions apply to the attributes \"netAttDefResourceId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n − Void.\n − At least one of these attributes shall be present for a to-be-created external CP instance or an existing\n external CP instance.\nNOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network\n attachment definition resource is needed to fulfil the connectivity requirements of the external CP,\n e.g. to build a link redundant mated pair in SR-IOV cases. When more than one \"netAttDefResourceId\"\n is indicated, all shall belong to the same namespace as defined by the corresponding \n \"containerNamespace\" attribute in the \"resourceHandle\" attribute in the \"NetAttDefResourceData\".\nNOTE 5: Either \"linkPortId\" or \"netAttDefResourceId\" may be included, but not both.\n", + "type": "object", + "oneOf": [ + { + "required": [ + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 3.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET", + "IP_FOR_VIRTUAL_CP" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1: At least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2: Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3: If the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4: Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "ipAddresses" + ] + }, + { + "required": [ + "macAddress" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: - VLAN: The subport uses VLAN as encapsulation type. - INHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "oneOf": [ + { + "required": [ + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values:\n - IPV4\n - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "virtualCpAddress": { + "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be \n able to configure an external load balancer. Otherwise it shall be ignored.\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address. \n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. \n", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "loadBalancerIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "externalIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "addressPoolName": { + "description": "Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "loadBalancerSourceRanges": { + "description": "List of client IP address ranges allowed to access an external load balancer. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + } + } + } + } + } + }, + "netAttDefResourceId": { + "description": "Identifier of the \"NetAttDefResourceData\" structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 3, 4 and 5.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "modificationsTriggeredByVnfPkgChange": { + "description": "This type represents attribute modifications that were performed by the VNFM on an \"Individual VNF instance\" resource when changing the current VNF package. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", + "type": "object", + "properties": { + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + } + } + }, + "changedCertificateInfo": { + "description": "Information about changed certificate, if applicable. See note\n", + "type": "array", + "items": { + "description": "This type provides input information related to certificate and certificate management.\n", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "certificateConfigurationInfo": { + "description": "This type provides input information related to certificate management\n", + "type": "object", + "required": [ + "securityPolicy" + ], + "properties": { + "certificateBaseProfile": { + "description": "Information for certificate profile.", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "securityPolicy": { + "description": "Information for security policy to be satisfied for certificate.", + "type": "array", + "items": { + "type": "object", + "description": "This type represents the input information related to certificate management.\n", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "maxValidityPeriod": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + }, + "allowedAlgorithm": { + "description": "Allowed signature algorithm.\n", + "type": "string" + }, + "minimumKeyLength": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + } + } + } + }, + "delegationSupportedCertificateManagements": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "cmfInfo": { + "type": "object", + "description": "This type provides input information related to CMF for certificate management\n", + "required": [ + "id", + "endPoint", + "supportedProtocol" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "endPoint": { + "description": "End point of CMF instance.\n", + "type": "object", + "required": [ + "ipAddress", + "link" + ], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "link": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + }, + "supportedProtocol": { + "type": "array", + "description": "Supported protocol by CMF instance. Permitted values:\n CMP\n CMPv2\n EST\n SCEP\n", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "CMP", + "CMPv2", + "EST", + "SCEP" + ] + } + }, + "certificateChain": { + "description": "Certificate chain that this CMF provides.", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "certificateContents": { + "description": "Information for contents of issued certificates. The information contained in this attribute may be updated over time during the VNF LCM, e.g. certificate(s) renewal.\n", + "type": "array", + "items": { + "description": "This type provides input information related to certificate content. \nNOTE : The CertificateDesc data type is defined in clause 7.1.19.2 of ETSI GS NFV IFA 011\n", + "type": "object", + "required": [ + "id", + "certficateDescId", + "certificateType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "certficateDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "certificateType": { + "description": "Type of this certificate. Values: * VNFCI_CERT * VNFOAM_CERT\n", + "type": "string", + "enum": [ + "VNFCI_CERT", + "NFOAM_CERT" + ] + }, + "supportedCertificateManagement": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "version": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "serialNumber": { + "description": "Serial number of this certificate\n", + "type": "integer" + }, + "signatureAlgorithm": { + "description": "Algorithm of this certificate’s signature.\n", + "type": "string" + }, + "issuer": { + "description": "Issuer of this certificate.\n", + "type": "string" + }, + "notBefore": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "notAfter": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "subject": { + "description": "Subject of this certificate.\n", + "type": "string" + }, + "publicKeyAlgorithm": { + "description": "Algorithm of this certificate’s public key\n", + "type": "string" + }, + "certificateExtensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + } + } + } + } + } + } + }, + "affectedPnfs": { + "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", + "type": "object", + "required": [ + "pnfId", + "pnfdId", + "pnfProfileId", + "cpInstanceId" + ], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "cpInstanceId": { + "description": "Identifier of the CP in the scope of the PNF.\n", + "type": "array", + "items": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedVls": { + "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE: The resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", + "type": "object", + "required": [ + "nsVirtualLinkInstanceId", + "nsVirtualLinkDescId", + "vlProfileId", + "changeType", + "changeResult" + ], + "properties": { + "nsVirtualLinkInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vlProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", + "type": "string", + "enum": [ + "ADD", + "DELETE", + "MODIFY", + "ADD_LINK_PORT", + "REMOVE_LINK_PORT" + ] + }, + "linkPortIds": { + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedVnffgs": { + "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", + "type": "object", + "required": [ + "vnffgInstanceId", + "vnffgdId" + ], + "properties": { + "vnffgInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "DELETE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedNss": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", + "type": "object", + "required": [ + "nsInstanceId", + "nsdId", + "changeType", + "changeResult" + ], + "properties": { + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "SCALE", + "UPDATE", + "HEAL", + "TERMINATE" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED", + "PARTIALLY_COMPLETED" + ] + }, + "changedInfo": { + "description": "Information about the changed NS instance information, if applicable.\n", + "type": "object", + "properties": { + "wanConnectionInfoModifications": { + "description": "Information about the modified WAN related connectivity information, if applicable.\n", + "type": "array", + "items": { + "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", + "type": "object", + "required": [ + "wanConnectionInfoId" + ], + "properties": { + "wanConnectionInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "mscsName": { + "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsDescription": { + "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", + "type": "object", + "required": [ + "mscsEndpointId", + "directionality", + "connectivityServiceEndpoinId" + ], + "properties": { + "mscsEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "directionality": { + "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: - INBOUND: to indicate into the WAN. - OUTBOUND: to indicate from the WAN. - BOTH: to indicate bidirectional data traffic to/from the WAN.\n", + "type": "string", + "enum": [ + "INBOUND", + "OUTBOUND", + "BOTH" + ] + }, + "connectivityServiceEndpoinId": { + "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + }, + "removeMscsEndpointIds": { + "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "connectivityServiceEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", + "type": "object", + "required": [ + "connectivityServiceEndpointId", + "vimId" + ], + "properties": { + "connectivityServiceEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "siteToWanLayer2ProtocolData": { + "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE: Either \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", + "type": "object", + "required": [ + "layer2ConnectionInfo" + ], + "properties": { + "layer2ConnectionInfo": { + "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", + "type": "object", + "required": [ + "connectionType", + "interfaceType", + "interfaceTagging", + "encapsulationType" + ], + "properties": { + "connectionType": { + "description": "The type of connection to be established on the connectivity service point. Permitted values: - CSE: defined by the characteristics of the existing referred connectivity service point. - AGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", + "type": "string", + "enum": [ + "CSE", + "AGGREGATE_CSE" + ] + }, + "interfaceType": { + "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: - PARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. - LOGICAL: create logical interfaces.\n", + "type": "string", + "enum": [ + "PARENT", + "LOGICAL" + ] + }, + "interfaceTagging": { + "description": "The type of frames to forward on the connectivity service point. Permitted values: - UNTAGGED: an interface where frames are not tagged. - TAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", + "type": "string", + "enum": [ + "UNTAGGED", + "TAGGED" + ] + }, + "encapsulationType": { + "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: - ETH: generic Ethernet encapsulation. - VLAN: encapsulation based on VLAN. - VXLAN: encapsulation based on VXLAN.\n", + "type": "string", + "enum": [ + "ETH", + "VLAN", + "VXLAN" + ] + }, + "vlanTaggingType": { + "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: - DOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. - QINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", + "type": "string", + "enum": [ + "DOT1Q", + "QINQ", + "QINANY" + ] + }, + "wanSegmentIds": { + "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", + "type": "object", + "required": [ + "wanSegmentIdValue" + ], + "properties": { + "wanSegmentIdValue": { + "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", + "type": "string" + }, + "wanSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + }, + "vxlanConfig": { + "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", + "type": "object", + "required": [ + "peerMode" + ], + "properties": { + "peerMode": { + "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: - STATIC - BGP_EVPN\n", + "type": "string", + "enum": [ + "STATIC", + "BGP_EVPN" + ] + }, + "peers": { + "description": "List of IP addresses of VTEP peers when using static mode.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + }, + "lagInterfaceData": { + "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", + "type": "object", + "required": [ + "aggregatedEndpoints", + "lacpActivation", + "lacpConfig" + ], + "properties": { + "aggregatedEndpoints": { + "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "lacpActivation": { + "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", + "type": "boolean" + }, + "lacpConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "layer2ControlProtocol": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "mtuL2": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", + "type": "object", + "required": [ + "macVrfName" + ], + "properties": { + "macVrfName": { + "description": "Name (or identifier) of the MAC-VRF instance.\n", + "type": "string" + } + } + }, + "forwardingConfig": { + "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", + "type": "object", + "oneOf": [ + { + "required": [ + "networkResources" + ] + }, + { + "required": [ + "vnSegmentIds" + ] + } + ], + "properties": { + "networkResources": { + "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + } + }, + "vnSegmentIds": { + "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", + "type": "object", + "required": [ + "vnSegmentIdValue" + ], + "properties": { + "vnSegmentIdValue": { + "description": "Identifier of the network segment.\n", + "type": "string" + }, + "vnSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + } + } + } + } + }, + "siteToWanLayer3ProtocolData": { + "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", + "type": "object", + "required": [ + "routingInfo" + ], + "properties": { + "logicalInterfaceIpAddress": { + "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", + "type": "object", + "required": [ + "ipAddress", + "associatedSegmentId" + ], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "associatedSegmentId": { + "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", + "type": "string" + } + } + }, + "routingInfo": { + "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", + "type": "object", + "required": [ + "routingProtocol", + "routingAddressFamily" + ], + "properties": { + "routingProtocol": { + "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: - BGP: used for dynamic routing BGPv4. - RIP: used for dynamic routing RIPv2. - OSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). - STATIC: used for static routing. - DIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. - VRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", + "type": "string", + "enum": [ + "BGP", + "RIP", + "OSPF", + "STATIC", + "DIRECT", + "VRRP" + ] + }, + "staticRouting": { + "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", + "type": "object", + "required": [ + "ipVersion", + "ipPrefix", + "prefixSize", + "nextHop" + ], + "properties": { + "ipVersion": { + "description": "The IP version applicable to the routing entry. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "ipPrefix": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "prefixSize": { + "description": "The IP prefix size.\n", + "type": "number" + }, + "nextHop": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "routingAddressFamily": { + "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPv6" + ] + }, + "ospfRouting": { + "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", + "type": "object", + "required": [ + "areaId" + ], + "properties": { + "areaId": { + "description": "The routing area identifier, e.g., a number or an IP address.\n", + "type": "string" + } + } + }, + "bgpRouting": { + "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", + "type": "object", + "required": [ + "bgpAs" + ], + "properties": { + "bgpAs": { + "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", + "type": "object" + }, + "bgpNeighbour": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "bgpAdditionalParam": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "routeMapsDistribution": { + "description": "Maps of routes that are permitted or denied for redistribution.\n", + "type": "object", + "required": [ + "policy", + "sequence", + "matchAndSetRule" + ], + "properties": { + "policy": { + "description": "The policy to apply to the route distribution.\nPermitted values: - PERMIT - DENY\n", + "type": "string", + "enum": [ + "PERMIT", + "DENY" + ] + }, + "sequence": { + "description": "Sequence or index number assigned to the route-map.\n", + "type": "number" + }, + "matchAndSetRule": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "mtuL3": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the virtual routing and forwarding (VRF).\n", + "type": "object", + "required": [ + "vrfName" + ], + "properties": { + "vrfName": { + "description": "Name (or identifier) of the VRF instance.\n", + "type": "string" + } + } + }, + "bfdConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "removeConnectivityServiceEndpoints": { + "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "affectedSaps": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", + "type": "object", + "required": [ + "sapInstanceId", + "sapdId" + ], + "properties": { + "sapInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + } + } + }, + "lcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) related to this LCM operation occurrence.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "coordinationActionName", + "startTime", + "endpointType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result \nof executing an LCM coordination action. The coordination result also implies the action \nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType \nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, \n i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CACELLED" + ] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": [ + "MGMT" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + }, + "rejectedLcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means they can be tried again after a delay. See note 3.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "coordinationActionName", + "rejectionTime", + "endpointType", + "delay" + ], + "properties": { + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rejectionTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": [ + "MGMT" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included VNF LCM operations or NS LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "nsInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsInstance": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "cancel": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "retry": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "rollback": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "continue": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "fail": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json index 5fddcf8939eccb21639c2d9a487806e3c1e7262e..53e954f4bb267f5b86e3ec7fbf33a1ed9d754cc8 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOpOccs.schema.json @@ -1,1189 +1,1961 @@ { - "type": "array", - "items": - { - "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1:\tThis allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2:\tA coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3:\tThe list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED” and \"ROLLED_BACK\".\n", - "type": "object", - "required": ["id", "operationState", "statusEnteredTime", "nsInstanceId", "lcmOperationType", "startTime", "isAutomaticInvocation", "isCancelPending", "_links"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operationState": { - "description": "The enumeration NsLcmOperationStateType shall comply with the provisions defined in Table 6.5.4.4-1. Value | Description ------|------------ PROCESSING | The LCM operation is currently in execution. COMPLETED | The LCM operation has been completed successfully. PARTIALLY_COMPLETED | The LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action won't succeed. OLLING_BACK | The LCM operation is currently being rolled back. ROLLED_BACK | The LCM operation has been successfully rolled back, i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": ["PROCESSING", "COMPLETED", "FAILED_TEMP", "FAILED", "ROLLING_BACK", "ROLLED_BACK"] - }, - "stateEnteredTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "lcmOperationType": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": ["INSTANTIATE", "SCALE", "UPDATE", "TERMINATE", "HEAL"] - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "isAutomaticInvocation": { - "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", - "type": "boolean" - }, - "operationParams": { - "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 6.7 shall apply. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n", - "type": "string", - "enum": ["INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] - }, - "isCancelPending": { - "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", - "type": "boolean" - }, - "cancelMode": { - "description": "Cancellation mode.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nThe NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", - "type": "string", - "enum": ["GRACEFUL", "FORCEFUL"] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": ["status", "detail"], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "resourceChanges": { - "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", - "type": "object", - "properties": { - "affectedVnfs": { - "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs.\nNOTE:\tAt least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", - "type": "object", - "required": ["vnfInstanceId", "vnfdId", "vnfProfileId", "vnfName", "changeType", "changeResult"], - "anyOf": [{ - "required": ["changedExtConnectivity"] - }, { - "oneOf": [{ - "required": ["changedVnfInfo"] - }, { - "required": ["modificationsTriggeredByVnfPkgChange"] - }] - }], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY -\tCHANGE_VNFPKG\n", - "type": "string", - "enum": ["ADD", "REMOVE", "INSTANTIATE", "TERMINATE", "SCALE", "CHANGE_FLAVOUR", "HEAL", "OPERATE", "MODIFY_INFORMATION", "CHANGE_EXTERNAL_VNF_CONNECTIVITY", "CHANGE_VNFPKG"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "anyOf": [{ - "required": ["changedVnfInfo"] - }, { - "required": ["changedVnfInfo"] - }, { - "required": ["modificationsTriggeredByVnfPkgChange"] - }], - "oneOf": [{ - "required": ["changedVnfInfo"] - }, { - "required": ["modificationsTriggeredByVnfPkgChange"] - }], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": ["vnfInstanceId"], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", - "type": "array", - "items": { - "type": "object", - "required": ["id", "resourceHandle"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1:\tThe use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2:\tThe value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", - "type": "object", - "required": ["id", "resourceHandle"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "secondaryCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "trunkResourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "currentVnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1:\tIn case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: \tThe map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: \tWithin one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk.\n", - "type": "object", - "required": ["cpdId"], - "properties": { - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See note 2 and note 3.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port or network address information per instance of an external connection point. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the external VL. In a link port is not provided, the VNFM shall create a link port on the external VL, and use that link port to connect the external CP to the external VL. NOTE 1:\tThe following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\":\n -\tAt least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n -\tIf the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n -\tIf both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2:\tIn case the NFVO manages its own identifier space, the NFVO may remap this identifier when communicating with the VNFM. If the NFVO knows that there can be an identifier collision when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\n", - "type": "object", - "anyOf": [{ - "required": ["linkPortId"] - }, { - "required": ["cpProtocolData"] - }], - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "createExtLinkPort": { - "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", - "type": "boolean" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See note 1.\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\n", - "type": "object", - "required": ["layerProtocol"], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": ["IP_OVER_ETHERNET"] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet. NOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3:\tIf the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4:\tDepending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", - "type": "object", - "anyOf": [{ - "required": ["ipAddresses"] - }, { - "required": ["macAddress"] - }], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: -\tVLAN: The subport uses VLAN as encapsulation type. -\tINHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", - "type": "string", - "enum": ["VLAN", "INHERIT"] - }, - "segmentationId": { - "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", - "type": "array", - "items": { - "type": "object", - "required": ["type"], - "oneOf": [{ - "required": ["fixedAddresses"] - }, { - "required": ["numDynamicAddresses"] - }, { - "required": ["addressRange"] - }], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values: - IPV4\n - IPV6\n", - "type": "string", - "enum": ["IPV4", "IPV6"] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": ["minAddress", "maxAddress"], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - }, - "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed on an \"Individual VNF instance\" resource when changing the current VNF package. The attributes that can be included consist of those requested to be modified explicitly in the \"ChangeCurrentVnfPkgRequest\" data structure, and additional attributes of the \"VnfInstance\" data structure that were modified implicitly during the operation. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", - "type": "object", - "properties": { - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - }, - "affectedPnfs": { - "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": ["pnfId", "pnfdId", "pnfProfileId", "cpInstanceId"], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": ["ADD", "REMOVE", "MODIFY"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - }, - "affectedVls": { - "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE:\tThe resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", - "type": "object", - "required": ["nsVirtualLinkInstanceId", "nsVirtualLinkDescId", "vlProfileId", "changeType", "changeResult"], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", - "type": "string", - "enum": ["ADD", "DELETE", "MODIFY", "ADD_LINK_PORT", "REMOVE_LINK_PORT"] - }, - "linkPortIds": { - "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - }, - "affectedVnffgs": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": ["vnffgInstanceId", "vnffgdId"], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": ["ADD", "DELETE", "MODIFY"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - }, - "affectedNss": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": ["nsInstanceId", "nsdId", "changeType", "changeResult"], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": ["ADD", "REMOVE", "INSTANTIATE", "SCALE", "UPDATE", "HEAL", "TERMINATE"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED", "PARTIALLY_COMPLETED"] - }, - "changedInfo": { - "description": "Information about the changed NS instance information, if applicable.\n", - "type": "object", - "properties": { - "wanConnectionInfoModifications": { - "description": "Information about the modified WAN related connectivity information, if applicable.\n", - "type": "array", - "items": { - "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", - "type": "object", - "required": ["wanConnectionInfoId"], - "properties": { - "wanConnectionInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "mscsName": { - "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", - "type": "string" - }, - "mscsDescription": { - "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", - "type": "string" - }, - "mscsEndpoints": { - "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", - "type": "array", - "items": { - "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", - "type": "object", - "required": ["mscsEndpointId", "directionality", "connectivityServiceEndpoinId"], - "properties": { - "mscsEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "directionality": { - "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: -\tINBOUND: to indicate into the WAN. -\tOUTBOUND: to indicate from the WAN. -\tBOTH: to indicate bidirectional data traffic to/from the WAN.\n", - "type": "string", - "enum": ["INBOUND", "OUTBOUND", "BOTH"] - }, - "connectivityServiceEndpoinId": { - "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - }, - "removeMscsEndpointIds": { - "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "connectivityServiceEndpoints": { - "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", - "type": "array", - "items": { - "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", - "type": "object", - "required": ["connectivityServiceEndpointId", "vimId"], - "properties": { - "connectivityServiceEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "siteToWanLayer2ProtocolData": { - "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE:\tEither \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", - "type": "object", - "required": ["layer2ConnectionInfo"], - "properties": { - "layer2ConnectionInfo": { - "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", - "type": "object", - "required": ["connectionType", "interfaceType", "interfaceTagging", "encapsulationType"], - "properties": { - "connectionType": { - "description": "The type of connection to be established on the connectivity service point. Permitted values: -\tCSE: defined by the characteristics of the existing referred connectivity service point. -\tAGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", - "type": "string", - "enum": ["CSE", "AGGREGATE_CSE"] - }, - "interfaceType": { - "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: -\tPARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. -\tLOGICAL: create logical interfaces.\n", - "type": "string", - "enum": ["PARENT", "LOGICAL"] - }, - "interfaceTagging": { - "description": "The type of frames to forward on the connectivity service point. Permitted values: -\tUNTAGGED: an interface where frames are not tagged. -\tTAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", - "type": "string", - "enum": ["UNTAGGED", "TAGGED"] - }, - "encapsulationType": { - "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: -\tETH: generic Ethernet encapsulation. -\tVLAN: encapsulation based on VLAN. -\tVXLAN: encapsulation based on VXLAN.\n", - "type": "string", - "enum": ["ETH", "VLAN", "VXLAN"] - }, - "vlanTaggingType": { - "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: -\tDOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. -\tQINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", - "type": "string", - "enum": ["DOT1Q", "QINQ", "QINANY"] - }, - "wanSegmentIds": { - "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", - "type": "object", - "required": ["wanSegmentIdValue"], - "properties": { - "wanSegmentIdValue": { - "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", - "type": "string" - }, - "wanSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - }, - "vxlanConfig": { - "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", - "type": "object", - "required": ["peerMode"], - "properties": { - "peerMode": { - "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: -\tSTATIC -\tBGP_EVPN\n", - "type": "string", - "enum": ["STATIC", "BGP_EVPN"] - }, - "peers": { - "description": "List of IP addresses of VTEP peers when using static mode.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - }, - "lagInterfaceData": { - "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", - "type": "object", - "required": ["aggregatedEndpoints", "lacpActivation", "lacpConfig"], - "properties": { - "aggregatedEndpoints": { - "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "lacpActivation": { - "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", - "type": "boolean" - }, - "lacpConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "layer2ControlProtocol": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "mtuL2": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", - "type": "object", - "required": ["macVrfName"], - "properties": { - "macVrfName": { - "description": "Name (or identifier) of the MAC-VRF instance.\n", - "type": "string" - } - } - }, - "forwardingConfig": { - "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", - "type": "object", - "oneOf": [{ - "required": ["networkResources"] - }, { - "required": ["vnSegmentIds"] - }], - "properties": { - "networkResources": { - "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM. NOTE: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle.\n", - "type": "object", - "required": ["resourceId"], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Type of the resource in the scope of the VIM, the WIM or the resource provider. The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. See note.\n", - "type": "string" - } - } - } - }, - "vnSegmentIds": { - "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", - "type": "object", - "required": ["vnSegmentIdValue"], - "properties": { - "vnSegmentIdValue": { - "description": "Identifier of the network segment.\n", - "type": "string" - }, - "vnSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - } - } - } - } - }, - "siteToWanLayer3ProtocolData": { - "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", - "type": "object", - "required": ["routingInfo"], - "properties": { - "logicalInterfaceIpAddress": { - "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", - "type": "object", - "required": ["ipAddress", "associatedSegmentId"], - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "associatedSegmentId": { - "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", - "type": "string" - } - } - }, - "routingInfo": { - "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", - "type": "object", - "required": ["routingProtocol", "routingAddressFamily"], - "properties": { - "routingProtocol": { - "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: -\tBGP: used for dynamic routing BGPv4. -\tRIP: used for dynamic routing RIPv2. -\tOSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). -\tSTATIC: used for static routing. -\tDIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. -\tVRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", - "type": "string", - "enum": ["BGP", "RIP", "OSPF", "STATIC", "DIRECT", "VRRP"] - }, - "staticRouting": { - "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", - "type": "object", - "required": ["ipVersion", "ipPrefix", "prefixSize", "nextHop"], - "properties": { - "ipVersion": { - "description": "The IP version applicable to the routing entry. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": ["IPV4", "IPV6"] - }, - "ipPrefix": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "prefixSize": { - "description": "The IP prefix size.\n", - "type": "number" - }, - "nextHop": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "routingAddressFamily": { - "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: -\tIPV4 -\tIPV6\n", - "type": "string", - "enum": ["IPV4", "IPv6"] - }, - "ospfRouting": { - "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", - "type": "object", - "required": ["areaId"], - "properties": { - "areaId": { - "description": "The routing area identifier, e.g., a number or an IP address.\n", - "type": "string" - } - } - }, - "bgpRouting": { - "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", - "type": "object", - "required": ["bgpAs"], - "properties": { - "bgpAs": { - "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", - "type": "object" - }, - "bgpNeighbour": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "bgpAdditionalParam": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "routeMapsDistribution": { - "description": "Maps of routes that are permitted or denied for redistribution.\n", - "type": "object", - "required": ["policy", "sequence", "matchAndSetRule"], - "properties": { - "policy": { - "description": "The policy to apply to the route distribution.\nPermitted values: -\tPERMIT -\tDENY\n", - "type": "string", - "enum": ["PERMIT", "DENY"] - }, - "sequence": { - "description": "Sequence or index number assigned to the route-map.\n", - "type": "number" - }, - "matchAndSetRule": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - }, - "mtuL3": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the virtual routing and forwarding (VRF).\n", - "type": "object", - "required": ["vrfName"], - "properties": { - "vrfName": { - "description": "Name (or identifier) of the VRF instance.\n", - "type": "string" - } - } - }, - "bfdConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "removeConnectivityServiceEndpoints": { - "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "affectedSaps": { - "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": ["sapInstanceId", "sapdId"], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": ["ADD", "REMOVE", "MODIFY"] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": ["COMPLETED", "ROLLED_BACK", "FAILED"] - } - } - } - } - } - }, - "lcmCoordinations": { - "description": "Information about LCM coordination actions (see clause 12) related to this LCM operation occurrence.\n", - "type": "array", - "items": { - "type": "object", - "required": ["id", "coordinationActionName", "startTime", "endpointType"], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "coordinationActionName": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "coordinationResult": { - "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result\nof executing an LCM coordination action. The coordination result also implies the action\nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType\nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", - "type": "string", - "enum": ["CONTINUE", "ABORT", "CACELLED"] - }, - "startTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "endTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "endpointType": { - "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", - "type": "string", - "enum": ["MGMT"] - }, - "delay": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - } - } - } - }, - "rejectedLcmCoordinations": { - "description": "Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means they can be tried again after a delay. See note 3.\n", - "type": "array", - "items": { - "type": "object", - "required": ["coordinationActionName", "rejectionTime", "endpointType", "delay"], - "properties": { - "coordinationActionName": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "rejectionTime": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - }, - "endpointType": { - "description": "The endpoint type used by this coordination action. Valid values: -\tMGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", - "type": "string", - "enum": ["MGMT"] - }, - "delay": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "format": "date-time" - } - } - } - }, - "warnings": { - "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included VNF LCM operations or NS LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "_links": { - "description": "Links to resources related to this resource.\n", - "type": "object", - "required": ["self", "nsInstance"], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "nsInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "cancel": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "retry": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "rollback": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "continue": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "fail": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": ["href"], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } + "type": "array", + "items": { + "description": "This type represents a request a NS lifecycle operation occurrence. It shall comply with the provisions defined in Table 6.5.2.3-1.\nNOTE 1: This allows the OSS/BSS to obtain a copy of the latest \"result\" notification if it has not received it due to an error. If the notification represents the successful result of a lifecycle operation, at least an affectedVnf, or affectedPnf, or affectedVl, or affectedVnffg or affectedNs, or affectedSap shall be present.\nNOTE 2: A coordination action has timed out if the NFVO has not been able to read the \"Individual coordination action\" resource within a timeout interval after requesting the coordination to be started or to be cancelled. The length of the timeout interval is defined by means outside the scope of the present document\nNOTE 3: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has reached a terminal state, i.e. one of \"COMPLETED\", \"FAILED\", “PARTIALLY COMPLETED†and \"ROLLED_BACK\".\n", + "type": "object", + "required": [ + "id", + "operationState", + "statusEnteredTime", + "nsInstanceId", + "lcmOperationType", + "startTime", + "isAutomaticInvocation", + "isCancelPending", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "Value | Description ------|------------ PROCESSING | The NS LCM operation is currently in execution. COMPLETED | The NS LCM operation has been completed successfully. PARTIALLY_COMPLETED | The NS LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The NS LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The NS LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The NS LCM operation is currently being rolled back. ROLLED_BACK | The NS LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "PARTIALLY_COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "isAutomaticInvocation": { + "description": "Set to true if this NS LCM operation occurrence has been automatically triggered by the NFVO. This occurs in the case of auto-scaling, auto-healing and when a nested NS is modified as a result of an operation on its composite NS. Set to false otherwise.\n", + "type": "boolean" + }, + "operationParams": { + "description": "Input parameters of the LCM operation. This attribute shall be formatted according to the request data type of the related LCM operation. In addition, the provisions in clause 6.7 shall apply. The following mapping between lcmOperationType and the data type of this attribute shall apply: - INSTANTIATE: InstantiateNsRequest - SCALE: ScaleNsRequest - UPDATE: UpdateNsRequest - HEAL: HealNsRequest - TERMINATE: TerminateNsRequest This attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "HEAL", + "TERMINATE" + ] + }, + "isCancelPending": { + "description": "If the LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state and the operation is being cancelled, this attribute shall be set to true. Otherwise, it shall be set to false.\n", + "type": "boolean" + }, + "cancelMode": { + "description": "Cancellation mode.\nIf the NS LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the NFVO shall not start any new VNF lifecycle management and resource management operation, and shall wait for the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, to finish execution or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\nIf the NS LCM operation occurrence is in \"PROCESSING\" or \"ROLLING_BACK\" state, the NFVO shall not start any new VNF lifecycle management and resource management operation, shall cancel the ongoing VNF lifecycle management and resource management operations in the underlying system, typically the VNFM and VIM, and shall wait for the cancellation to finish or to time out. After that, the NFVO shall put the operation occurrence into the FAILED_TEMP state.\n", + "type": "string", + "enum": [ + "GRACEFUL", + "FORCEFUL" + ] + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "resourceChanges": { + "description": "This attribute contains information about the cumulative changes to virtualised resources that were performed so far by the LCM operation since its start, if applicable\n", + "type": "object", + "properties": { + "affectedVnfs": { + "description": "Information about the VNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFs.\nNOTE: At least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" or “changedCertificateInfo†shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", + "type": "object", + "required": [ + "vnfInstanceId", + "vnfdId", + "vnfProfileId", + "vnfName", + "changeType", + "changeResult" + ], + "anyOf": [ + { + "required": [ + "changedExtConnectivity" + ] + }, + { + "oneOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ] + } + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfName": { + "description": "Name of the VNF Instance.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY - CHANGE_VNFPKG\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "TERMINATE", + "SCALE", + "CHANGE_FLAVOUR", + "HEAL", + "OPERATE", + "MODIFY_INFORMATION", + "CHANGE_EXTERNAL_VNF_CONNECTIVITY", + "CHANGE_VNFPKG" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + }, + "changedInfo": { + "description": "Information about the changed VNF instance information, including VNF configurable properties, and certificate content if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ], + "oneOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ], + "properties": { + "changedVnfInfo": { + "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", + "type": "object", + "required": [ + "vnfInstanceId" + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", + "type": "array", + "items": { + "description": "This type represents information about an VNF external VL.", + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "extNetAttDefResource": { + "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", + "type": "array", + "items": { + "description": "This type represents the information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network\n", + "type": "object", + "required": [ + "netAttDefResourceInfoId", + "netAttDefResource" + ], + "properties": { + "netAttDefResourceInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "netAttDefResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "associatedExtCpId": { + "description": "Identifier of the external CP of the VNF associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "associatedVnfcCpId": { + "description": "Identifier of the VNFC CP of the VNF associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1: In case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance different than the one that has used it before the operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396 [11]). See notes 2, 3 and 4.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of a VNF external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: In case a link port is provided, the NFVO shall use that link port when connecting the VNF external CP to the external VL. • In case a link port is not provided, the NFVO or VNFM shall create a link port on the external VL, and use that link port to connect the VNF external CP to the external VL. In the case of container-based deployment of the VNFC exposing the external CP, the NFVO and VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\nNOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\"\n for an external CP instance connected or to be connected to a virtual network not\n categorized as secondary container cluster network:\n - At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n - If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n - If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier\n when communicating with the VNFM. If the NFVO knows that there can be an identifier collision\n when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\nNOTE 3: The following conditions apply to the attributes \"netAttDefResourceId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n − Void.\n − At least one of these attributes shall be present for a to-be-created external CP instance or an existing\n external CP instance.\nNOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network\n attachment definition resource is needed to fulfil the connectivity requirements of the external CP,\n e.g. to build a link redundant mated pair in SR-IOV cases. When more than one \"netAttDefResourceId\"\n is indicated, all shall belong to the same namespace as defined by the corresponding \n \"containerNamespace\" attribute in the \"resourceHandle\" attribute in the \"NetAttDefResourceData\".\nNOTE 5: Either \"linkPortId\" or \"netAttDefResourceId\" may be included, but not both.\n", + "type": "object", + "oneOf": [ + { + "required": [ + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 3.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET", + "IP_FOR_VIRTUAL_CP" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1: At least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2: Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3: If the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4: Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "ipAddresses" + ] + }, + { + "required": [ + "macAddress" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: - VLAN: The subport uses VLAN as encapsulation type. - INHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "oneOf": [ + { + "required": [ + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values:\n - IPV4\n - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "virtualCpAddress": { + "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be \n able to configure an external load balancer. Otherwise it shall be ignored.\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address. \n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. \n", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "loadBalancerIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "externalIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "addressPoolName": { + "description": "Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "loadBalancerSourceRanges": { + "description": "List of client IP address ranges allowed to access an external load balancer. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + } + } + } + } + } + }, + "netAttDefResourceId": { + "description": "Identifier of the \"NetAttDefResourceData\" structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 3, 4 and 5.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "modificationsTriggeredByVnfPkgChange": { + "description": "This type represents attribute modifications that were performed by the VNFM on an \"Individual VNF instance\" resource when changing the current VNF package. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", + "type": "object", + "properties": { + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + } + } + }, + "changedCertificateInfo": { + "description": "Information about changed certificate, if applicable. See note\n", + "type": "array", + "items": { + "description": "This type provides input information related to certificate and certificate management.\n", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "certificateConfigurationInfo": { + "description": "This type provides input information related to certificate management\n", + "type": "object", + "required": [ + "securityPolicy" + ], + "properties": { + "certificateBaseProfile": { + "description": "Information for certificate profile.", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "securityPolicy": { + "description": "Information for security policy to be satisfied for certificate.", + "type": "array", + "items": { + "type": "object", + "description": "This type represents the input information related to certificate management.\n", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "maxValidityPeriod": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + }, + "allowedAlgorithm": { + "description": "Allowed signature algorithm.\n", + "type": "string" + }, + "minimumKeyLength": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + } + } + } + }, + "delegationSupportedCertificateManagements": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "cmfInfo": { + "type": "object", + "description": "This type provides input information related to CMF for certificate management\n", + "required": [ + "id", + "endPoint", + "supportedProtocol" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "endPoint": { + "description": "End point of CMF instance.\n", + "type": "object", + "required": [ + "ipAddress", + "link" + ], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "link": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + }, + "supportedProtocol": { + "type": "array", + "description": "Supported protocol by CMF instance. Permitted values:\n CMP\n CMPv2\n EST\n SCEP\n", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "CMP", + "CMPv2", + "EST", + "SCEP" + ] + } + }, + "certificateChain": { + "description": "Certificate chain that this CMF provides.", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "certificateContents": { + "description": "Information for contents of issued certificates. The information contained in this attribute may be updated over time during the VNF LCM, e.g. certificate(s) renewal.\n", + "type": "array", + "items": { + "description": "This type provides input information related to certificate content. \nNOTE : The CertificateDesc data type is defined in clause 7.1.19.2 of ETSI GS NFV IFA 011\n", + "type": "object", + "required": [ + "id", + "certficateDescId", + "certificateType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "certficateDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "certificateType": { + "description": "Type of this certificate. Values: * VNFCI_CERT * VNFOAM_CERT\n", + "type": "string", + "enum": [ + "VNFCI_CERT", + "NFOAM_CERT" + ] + }, + "supportedCertificateManagement": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "version": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "serialNumber": { + "description": "Serial number of this certificate\n", + "type": "integer" + }, + "signatureAlgorithm": { + "description": "Algorithm of this certificate’s signature.\n", + "type": "string" + }, + "issuer": { + "description": "Issuer of this certificate.\n", + "type": "string" + }, + "notBefore": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "notAfter": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "subject": { + "description": "Subject of this certificate.\n", + "type": "string" + }, + "publicKeyAlgorithm": { + "description": "Algorithm of this certificate’s public key\n", + "type": "string" + }, + "certificateExtensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + } + } + } + } + } + } + }, + "affectedPnfs": { + "description": "Information about the PNF instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", + "type": "object", + "required": [ + "pnfId", + "pnfdId", + "pnfProfileId", + "cpInstanceId" + ], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "cpInstanceId": { + "description": "Identifier of the CP in the scope of the PNF.\n", + "type": "array", + "items": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedVls": { + "description": "Information about the VL instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE: The resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", + "type": "object", + "required": [ + "nsVirtualLinkInstanceId", + "nsVirtualLinkDescId", + "vlProfileId", + "changeType", + "changeResult" + ], + "properties": { + "nsVirtualLinkInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vlProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", + "type": "string", + "enum": [ + "ADD", + "DELETE", + "MODIFY", + "ADD_LINK_PORT", + "REMOVE_LINK_PORT" + ] + }, + "linkPortIds": { + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedVnffgs": { + "description": "Information about the VNFFG instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", + "type": "object", + "required": [ + "vnffgInstanceId", + "vnffgdId" + ], + "properties": { + "vnffgInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "DELETE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedNss": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", + "type": "object", + "required": [ + "nsInstanceId", + "nsdId", + "changeType", + "changeResult" + ], + "properties": { + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "SCALE", + "UPDATE", + "HEAL", + "TERMINATE" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED", + "PARTIALLY_COMPLETED" + ] + }, + "changedInfo": { + "description": "Information about the changed NS instance information, if applicable.\n", + "type": "object", + "properties": { + "wanConnectionInfoModifications": { + "description": "Information about the modified WAN related connectivity information, if applicable.\n", + "type": "array", + "items": { + "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", + "type": "object", + "required": [ + "wanConnectionInfoId" + ], + "properties": { + "wanConnectionInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "mscsName": { + "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsDescription": { + "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", + "type": "object", + "required": [ + "mscsEndpointId", + "directionality", + "connectivityServiceEndpoinId" + ], + "properties": { + "mscsEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "directionality": { + "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: - INBOUND: to indicate into the WAN. - OUTBOUND: to indicate from the WAN. - BOTH: to indicate bidirectional data traffic to/from the WAN.\n", + "type": "string", + "enum": [ + "INBOUND", + "OUTBOUND", + "BOTH" + ] + }, + "connectivityServiceEndpoinId": { + "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + }, + "removeMscsEndpointIds": { + "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "connectivityServiceEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", + "type": "object", + "required": [ + "connectivityServiceEndpointId", + "vimId" + ], + "properties": { + "connectivityServiceEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "siteToWanLayer2ProtocolData": { + "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE: Either \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", + "type": "object", + "required": [ + "layer2ConnectionInfo" + ], + "properties": { + "layer2ConnectionInfo": { + "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", + "type": "object", + "required": [ + "connectionType", + "interfaceType", + "interfaceTagging", + "encapsulationType" + ], + "properties": { + "connectionType": { + "description": "The type of connection to be established on the connectivity service point. Permitted values: - CSE: defined by the characteristics of the existing referred connectivity service point. - AGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", + "type": "string", + "enum": [ + "CSE", + "AGGREGATE_CSE" + ] + }, + "interfaceType": { + "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: - PARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. - LOGICAL: create logical interfaces.\n", + "type": "string", + "enum": [ + "PARENT", + "LOGICAL" + ] + }, + "interfaceTagging": { + "description": "The type of frames to forward on the connectivity service point. Permitted values: - UNTAGGED: an interface where frames are not tagged. - TAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", + "type": "string", + "enum": [ + "UNTAGGED", + "TAGGED" + ] + }, + "encapsulationType": { + "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: - ETH: generic Ethernet encapsulation. - VLAN: encapsulation based on VLAN. - VXLAN: encapsulation based on VXLAN.\n", + "type": "string", + "enum": [ + "ETH", + "VLAN", + "VXLAN" + ] + }, + "vlanTaggingType": { + "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: - DOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. - QINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", + "type": "string", + "enum": [ + "DOT1Q", + "QINQ", + "QINANY" + ] + }, + "wanSegmentIds": { + "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", + "type": "object", + "required": [ + "wanSegmentIdValue" + ], + "properties": { + "wanSegmentIdValue": { + "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", + "type": "string" + }, + "wanSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + }, + "vxlanConfig": { + "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", + "type": "object", + "required": [ + "peerMode" + ], + "properties": { + "peerMode": { + "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: - STATIC - BGP_EVPN\n", + "type": "string", + "enum": [ + "STATIC", + "BGP_EVPN" + ] + }, + "peers": { + "description": "List of IP addresses of VTEP peers when using static mode.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + }, + "lagInterfaceData": { + "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", + "type": "object", + "required": [ + "aggregatedEndpoints", + "lacpActivation", + "lacpConfig" + ], + "properties": { + "aggregatedEndpoints": { + "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "lacpActivation": { + "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", + "type": "boolean" + }, + "lacpConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "layer2ControlProtocol": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "mtuL2": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", + "type": "object", + "required": [ + "macVrfName" + ], + "properties": { + "macVrfName": { + "description": "Name (or identifier) of the MAC-VRF instance.\n", + "type": "string" + } + } + }, + "forwardingConfig": { + "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", + "type": "object", + "oneOf": [ + { + "required": [ + "networkResources" + ] + }, + { + "required": [ + "vnSegmentIds" + ] + } + ], + "properties": { + "networkResources": { + "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + } + }, + "vnSegmentIds": { + "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", + "type": "object", + "required": [ + "vnSegmentIdValue" + ], + "properties": { + "vnSegmentIdValue": { + "description": "Identifier of the network segment.\n", + "type": "string" + }, + "vnSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + } + } + } + } + }, + "siteToWanLayer3ProtocolData": { + "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", + "type": "object", + "required": [ + "routingInfo" + ], + "properties": { + "logicalInterfaceIpAddress": { + "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", + "type": "object", + "required": [ + "ipAddress", + "associatedSegmentId" + ], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "associatedSegmentId": { + "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", + "type": "string" + } + } + }, + "routingInfo": { + "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", + "type": "object", + "required": [ + "routingProtocol", + "routingAddressFamily" + ], + "properties": { + "routingProtocol": { + "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: - BGP: used for dynamic routing BGPv4. - RIP: used for dynamic routing RIPv2. - OSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). - STATIC: used for static routing. - DIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. - VRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", + "type": "string", + "enum": [ + "BGP", + "RIP", + "OSPF", + "STATIC", + "DIRECT", + "VRRP" + ] + }, + "staticRouting": { + "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", + "type": "object", + "required": [ + "ipVersion", + "ipPrefix", + "prefixSize", + "nextHop" + ], + "properties": { + "ipVersion": { + "description": "The IP version applicable to the routing entry. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "ipPrefix": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "prefixSize": { + "description": "The IP prefix size.\n", + "type": "number" + }, + "nextHop": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "routingAddressFamily": { + "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPv6" + ] + }, + "ospfRouting": { + "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", + "type": "object", + "required": [ + "areaId" + ], + "properties": { + "areaId": { + "description": "The routing area identifier, e.g., a number or an IP address.\n", + "type": "string" + } + } + }, + "bgpRouting": { + "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", + "type": "object", + "required": [ + "bgpAs" + ], + "properties": { + "bgpAs": { + "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", + "type": "object" + }, + "bgpNeighbour": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "bgpAdditionalParam": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "routeMapsDistribution": { + "description": "Maps of routes that are permitted or denied for redistribution.\n", + "type": "object", + "required": [ + "policy", + "sequence", + "matchAndSetRule" + ], + "properties": { + "policy": { + "description": "The policy to apply to the route distribution.\nPermitted values: - PERMIT - DENY\n", + "type": "string", + "enum": [ + "PERMIT", + "DENY" + ] + }, + "sequence": { + "description": "Sequence or index number assigned to the route-map.\n", + "type": "number" + }, + "matchAndSetRule": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "mtuL3": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the virtual routing and forwarding (VRF).\n", + "type": "object", + "required": [ + "vrfName" + ], + "properties": { + "vrfName": { + "description": "Name (or identifier) of the VRF instance.\n", + "type": "string" + } + } + }, + "bfdConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "removeConnectivityServiceEndpoints": { + "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "affectedSaps": { + "description": "Information about the nested NS instances that were affected during the lifecycle operation, if this notification represents the result of a lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", + "type": "object", + "required": [ + "sapInstanceId", + "sapdId" + ], + "properties": { + "sapInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + } + } + }, + "lcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) related to this LCM operation occurrence.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "coordinationActionName", + "startTime", + "endpointType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result \nof executing an LCM coordination action. The coordination result also implies the action \nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType \nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, \n i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CACELLED" + ] + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": [ + "MGMT" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + }, + "rejectedLcmCoordinations": { + "description": "Information about LCM coordination actions (see clause 12) that were rejected by 503 error which means they can be tried again after a delay. See note 3.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "coordinationActionName", + "rejectionTime", + "endpointType", + "delay" + ], + "properties": { + "coordinationActionName": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "rejectionTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "endpointType": { + "description": "The endpoint type used by this coordination action. Valid values: - MGMT: coordination with other operation supporting management systems (e.g. OSS/BSS)\n", + "type": "string", + "enum": [ + "MGMT" + ] + }, + "delay": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + } + }, + "warnings": { + "description": "Warning messages that were generated while the operation was executing.\nIf the operation has included VNF LCM operations or NS LCM coordination actions and these have resulted in warnings, such warnings should be added to this attribute.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "nsInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsInstance": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "cancel": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "retry": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "rollback": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "continue": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "fail": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } + } } \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json index 5fbda4394a976fe5f37690789553d53caa741ae8..c22a254dc841f9a7b69a30eeeb141f88ac7cd804 100644 --- a/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json +++ b/SOL005/NSLifecycleManagement-API/schemas/NsLcmOperationOccurrenceNotification.schema.json @@ -1,1573 +1,1807 @@ { - "type": "object", - "description": "This type represents an NS lifecycle management operation occurrence notification, which informs the receiver of changes in the NS lifecycle caused by an NS LCM operation occurrence. The NS LCM operation occurrence may be triggered by the OSS/BSS or automatically triggered by the NFVO.", - "required": [ - "id", - "nsInstanceId", - "nsLcmOpOccId", - "operation", - "notificationType", - "subscriptionId", - "timestamp", - "notificationStatus", - "operationState", - "isAutomaticInvocation", - "_links" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsLcmOpOccId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "operation": { - "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", - "type": "string", - "enum": [ - "INSTANTIATE", - "SCALE", - "UPDATE", - "TERMINATE", - "HEAL" - ] - }, - "notificationType": { - "description": "Discriminator for the different notification types. Shall be set to \"NsLcmOperationOccurrenceNotification\" for this notification type.\n", - "type": "string" - }, - "subscriptionId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "timestamp": { - "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "notificationStatus": { - "description": "Indicates whether this notification reports about the start of a NS lifecycle operation or the result of a NS lifecycle operation. Permitted values: - START: Informs about the start of the NS LCM operation occurrence. - RESULT: Informs about the final or intermediate result of the NS LCM operation occurrence.\n", - "type": "string", - "enum": [ - "START", - "RESULT" - ] - }, - "operationState": { - "description": "Value | Description ------|------------ PROCESSING | The NS LCM operation is currently in execution. COMPLETED | The NS LCM operation has been completed successfully. PARTIALLY_COMPLETED | The NS LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The NS LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The NS LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The NS LCM operation is currently being rolled back. ROLLED_BACK | The NS LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", - "type": "string", - "enum": [ - "PROCESSING", - "COMPLETED", - "PARTIALLY_COMPLETED", - "FAILED_TEMP", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ] - }, - "isAutomaticInvocation": { - "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", - "type": "boolean" - }, - "verbosity": { - "description": "The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. It shall comply with the provisions defined in table 6.5.4.11-1. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to\n be sent via the notification mechanism.\n", - "type": "string", - "enum": [ - "FULL", - "SHORT" - ] - }, - "affectedVnf": { - "description": "Information about the VNF instances that were affected during the lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFs.\nNOTE: At least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", - "type": "object", - "required": [ - "vnfInstanceId", - "vnfdId", - "vnfProfileId", - "vnfName", - "changeType", - "changeResult" - ], - "anyOf": [ - { - "required": [ - "changedExtConnectivity" - ] - }, - { - "oneOf": [ - { - "required": [ - "changedVnfInfo" - ] - }, - { - "required": [ - "modificationsTriggeredByVnfPkgChange" - ] - } - ] - } - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vnfName": { - "description": "Name of the VNF Instance.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY - CHANGE_VNFPKG\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "TERMINATE", - "SCALE", - "CHANGE_FLAVOUR", - "HEAL", - "OPERATE", - "MODIFY_INFORMATION", - "CHANGE_EXTERNAL_VNF_CONNECTIVITY", - "CHANGE_VNFPKG" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - }, - "changedInfo": { - "description": "Information about the changed VNF instance information, including VNF configurable properties,if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "changedVnfInfo" - ] - }, - { - "required": [ - "changedVnfInfo" - ] - }, - { - "required": [ - "modificationsTriggeredByVnfPkgChange" - ] - } - ], - "oneOf": [ - { - "required": [ - "changedVnfInfo" - ] - }, - { - "required": [ - "modificationsTriggeredByVnfPkgChange" - ] - } - ], - "properties": { - "changedVnfInfo": { - "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", - "type": "object", - "required": [ - "vnfInstanceId" - ], - "properties": { - "vnfInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfInstanceName": { - "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfInstanceDescription": { - "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", - "type": "string" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "changedExtConnectivity": { - "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", - "type": "array", - "items": { - "description": "This type represents information about an VNF external VL.", - "type": "object", - "required": [ - "id", - "resourceHandle", - "currentVnfExtCpData" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", - "type": "string" - }, - "vimLevelAdditionalResourceInfo": { - "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", - "type": "object", - "properties": { - "hostName": { - "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "persistentVolume": { - "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "additionalInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "containerNamespace": { - "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", - "type": "string" - } - } - }, - "extLinkPorts": { - "description": "Link ports of this VL.\n", - "type": "array", - "items": { - "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", - "type": "object", - "required": [ - "id", - "resourceHandle" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceHandle": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", - "type": "string" - }, - "vimLevelAdditionalResourceInfo": { - "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", - "type": "object", - "properties": { - "hostName": { - "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "persistentVolume": { - "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "additionalInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "containerNamespace": { - "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", - "type": "string" - } - } - }, - "cpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "secondaryCpInstanceId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "trunkResourceId": { - "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - }, - "extNetAttDefResource": { - "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", - "type": "array", - "items": { - "description": "This type represents the information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network\n", - "type": "object", - "required": [ - "netAttDefResourceInfoId", - "netAttDefResource" - ], - "properties": { - "netAttDefResourceInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "netAttDefResource": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", - "type": "string" - }, - "vimLevelAdditionalResourceInfo": { - "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", - "type": "object", - "properties": { - "hostName": { - "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "persistentVolume": { - "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "additionalInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "containerNamespace": { - "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", - "type": "string" - } - } - }, - "associatedExtCpId": { - "description": "Identifier of the external CP of the VNF associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - }, - "associatedVnfcCpId": { - "description": "Identifier of the VNFC CP of the VNF associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - }, - "currentVnfExtCpData": { - "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1: In case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance different than the one that has used it before the operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n", - "type": "object", - "required": [ - "cpdId" - ], - "properties": { - "cpdId": { - "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", - "type": "string" - }, - "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396 [11]). See notes 2, 3 and 4.\n", - "type": "object", - "additionalProperties": { - "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of a VNF external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: In case a link port is provided, the NFVO shall use that link port when connecting the VNF external CP to the external VL. • In case a link port is not provided, the NFVO or VNFM shall create a link port on the external VL, and use that link port to connect the VNF external CP to the external VL. In the case of container-based deployment of the VNFC exposing the external CP, the NFVO and VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\nNOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\"\n for an external CP instance connected or to be connected to a virtual network not\n categorized as secondary container cluster network:\n - At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n - If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n - If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier\n when communicating with the VNFM. If the NFVO knows that there can be an identifier collision\n when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\nNOTE 3: The following conditions apply to the attributes \"netAttDefResourceId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n − Void.\n − At least one of these attributes shall be present for a to-be-created external CP instance or an existing\n external CP instance.\nNOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network\n attachment definition resource is needed to fulfil the connectivity requirements of the external CP,\n e.g. to build a link redundant mated pair in SR-IOV cases. When more than one \"netAttDefResourceId\"\n is indicated, all shall belong to the same namespace as defined by the corresponding \n \"containerNamespace\" attribute in the \"resourceHandle\" attribute in the \"NetAttDefResourceData\".\nNOTE 5: Either \"linkPortId\" or \"netAttDefResourceId\" may be included, but not both.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "linkPortId" - ] - }, - { - "required": [ - "cpProtocolData" - ] - } - ], - "properties": { - "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - }, - "linkPortId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "createExtLinkPort": { - "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", - "type": "boolean" - }, - "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 3.\n", - "type": "array", - "items": { - "description": "This type represents network protocol data.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", - "type": "object", - "required": [ - "layerProtocol" - ], - "properties": { - "layerProtocol": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note.\n", - "type": "string", - "enum": [ - "IP_OVER_ETHERNET", - "IP_FOR_VIRTUAL_CP" - ] - }, - "ipOverEthernet": { - "description": "This type represents network address data for IP over Ethernet. NOTE 1: At least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2: Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3: If the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4: Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", - "type": "object", - "anyOf": [ - { - "required": [ - "ipAddresses" - ] - }, - { - "required": [ - "macAddress" - ] - } - ], - "properties": { - "macAddress": { - "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", - "type": "string", - "format": "MAC" - }, - "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: - VLAN: The subport uses VLAN as encapsulation type. - INHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", - "type": "string", - "enum": [ - "VLAN", - "INHERIT" - ] - }, - "segmentationId": { - "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", - "type": "string" - }, - "ipAddresses": { - "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", - "type": "array", - "items": { - "type": "object", - "required": [ - "type" - ], - "oneOf": [ - { - "required": [ - "fixedAddresses" - ] - }, - { - "required": [ - "numDynamicAddresses" - ] - }, - { - "required": [ - "addressRange" - ] - } - ], - "properties": { - "type": { - "description": "The type of the IP addresses. Permitted values:\n - IPV4\n - IPV6\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "fixedAddresses": { - "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - }, - "numDynamicAddresses": { - "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", - "type": "integer" - }, - "addressRange": { - "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", - "type": "object", - "required": [ - "minAddress", - "maxAddress" - ], - "properties": { - "minAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "maxAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "subnetId": { - "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - }, - "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\nNOTE 1: If the container cluster is set up to be able to configure an external load balancer this address will be\n used, otherwise it will be ignored by the CISM.\nNOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address.\nNOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\nNOTE 4: The loadBalancerIp and the addressPoolName attributes shall not be present at the same time.\n", - "type": "object", - "required": [ - "type" - ], - "properties": { - "type": { - "description": "Identifier of layer(s) and protocol(s). Permitted values: IP_OVER_ETHERNET.\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "loadBalancerIp": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "addressPoolName": { - "description": "Name of an address pool from which the container cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", - "type": "array", - "items": { - "type": "string" - } - } - } - } - } - } - }, - "netAttDefResourceId": { - "description": "Identifier of the \"NetAttDefResourceData\" structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 3, 4 and 5.\n", - "type": "array", - "items": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "modificationsTriggeredByVnfPkgChange": { - "description": "This type represents attribute modifications that were performed by the VNFM on an \"Individual VNF instance\" resource when changing the current VNF package. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", - "type": "object", - "properties": { - "vnfConfigurableProperties": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "extensions": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - }, - "vnfdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vnfProvider": { - "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfProductName": { - "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", - "type": "string" - }, - "vnfSoftwareVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - }, - "vnfdVersion": { - "description": "A Version. Representation: string of variable length.\n", - "type": "string" - } - } - } - } - } - } - } - }, - "affectedPnf": { - "description": "Information about the PNF instances that were affected during the lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", - "type": "object", - "required": [ - "pnfId", - "pnfdId", - "pnfProfileId", - "cpInstanceId" - ], - "properties": { - "pnfId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "pnfdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "pnfName": { - "description": "Name of the PNF.\n", - "type": "string" - }, - "cpInstanceId": { - "description": "Identifier of the CP in the scope of the PNF.\n", - "type": "array", - "items": { - "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", - "type": "string" - } - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVl": { - "description": "Information about the VL instances that were affected during the lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE: The resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", - "type": "object", - "required": [ - "nsVirtualLinkInstanceId", - "nsVirtualLinkDescId", - "vlProfileId", - "changeType", - "changeResult" - ], - "properties": { - "nsVirtualLinkInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "nsVirtualLinkDescId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "vlProfileId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY", - "ADD_LINK_PORT", - "REMOVE_LINK_PORT" - ] - }, - "linkPortIds": { - "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", - "type": "array", - "items": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - } - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedVnffg": { - "description": "Information about the VNFFG instances that were affected during the lifecycle operation. See note 1. \n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", - "type": "object", - "required": [ - "vnffgInstanceId", - "vnffgdId" - ], - "properties": { - "vnffgInstanceId": { - "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", - "type": "string" - }, - "vnffgdId": { - "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "DELETE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "affectedNs": { - "description": "Information about the SAP instances that were affected during the lifecycle operation.See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", - "type": "object", - "required": [ - "nsInstanceId", - "nsdId", - "changeType", - "changeResult" - ], - "properties": { - "nsInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "nsdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "INSTANTIATE", - "SCALE", - "UPDATE", - "HEAL", - "TERMINATE" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED", - "PARTIALLY_COMPLETED" - ] - }, - "changedInfo": { - "description": "Information about the changed NS instance information, if applicable.\n", - "type": "object", - "properties": { - "wanConnectionInfoModifications": { - "description": "Information about the modified WAN related connectivity information, if applicable.\n", - "type": "array", - "items": { - "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", - "type": "object", - "required": [ - "wanConnectionInfoId" - ], - "properties": { - "wanConnectionInfoId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "mscsName": { - "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", - "type": "string" - }, - "mscsDescription": { - "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", - "type": "string" - }, - "mscsEndpoints": { - "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", - "type": "array", - "items": { - "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", - "type": "object", - "required": [ - "mscsEndpointId", - "directionality", - "connectivityServiceEndpoinId" - ], - "properties": { - "mscsEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "directionality": { - "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: - INBOUND: to indicate into the WAN. - OUTBOUND: to indicate from the WAN. - BOTH: to indicate bidirectional data traffic to/from the WAN.\n", - "type": "string", - "enum": [ - "INBOUND", - "OUTBOUND", - "BOTH" - ] - }, - "connectivityServiceEndpoinId": { - "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - }, - "removeMscsEndpointIds": { - "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "connectivityServiceEndpoints": { - "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", - "type": "array", - "items": { - "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", - "type": "object", - "required": [ - "connectivityServiceEndpointId", - "vimId" - ], - "properties": { - "connectivityServiceEndpointId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "siteToWanLayer2ProtocolData": { - "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE: Either \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", - "type": "object", - "required": [ - "layer2ConnectionInfo" - ], - "properties": { - "layer2ConnectionInfo": { - "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", - "type": "object", - "required": [ - "connectionType", - "interfaceType", - "interfaceTagging", - "encapsulationType" - ], - "properties": { - "connectionType": { - "description": "The type of connection to be established on the connectivity service point. Permitted values: - CSE: defined by the characteristics of the existing referred connectivity service point. - AGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", - "type": "string", - "enum": [ - "CSE", - "AGGREGATE_CSE" - ] - }, - "interfaceType": { - "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: - PARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. - LOGICAL: create logical interfaces.\n", - "type": "string", - "enum": [ - "PARENT", - "LOGICAL" - ] - }, - "interfaceTagging": { - "description": "The type of frames to forward on the connectivity service point. Permitted values: - UNTAGGED: an interface where frames are not tagged. - TAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", - "type": "string", - "enum": [ - "UNTAGGED", - "TAGGED" - ] - }, - "encapsulationType": { - "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: - ETH: generic Ethernet encapsulation. - VLAN: encapsulation based on VLAN. - VXLAN: encapsulation based on VXLAN.\n", - "type": "string", - "enum": [ - "ETH", - "VLAN", - "VXLAN" - ] - }, - "vlanTaggingType": { - "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: - DOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. - QINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", - "type": "string", - "enum": [ - "DOT1Q", - "QINQ", - "QINANY" - ] - }, - "wanSegmentIds": { - "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", - "type": "object", - "required": [ - "wanSegmentIdValue" - ], - "properties": { - "wanSegmentIdValue": { - "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", - "type": "string" - }, - "wanSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - }, - "vxlanConfig": { - "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", - "type": "object", - "required": [ - "peerMode" - ], - "properties": { - "peerMode": { - "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: - STATIC - BGP_EVPN\n", - "type": "string", - "enum": [ - "STATIC", - "BGP_EVPN" - ] - }, - "peers": { - "description": "List of IP addresses of VTEP peers when using static mode.\n", - "type": "array", - "items": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - } - }, - "lagInterfaceData": { - "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", - "type": "object", - "required": [ - "aggregatedEndpoints", - "lacpActivation", - "lacpConfig" - ], - "properties": { - "aggregatedEndpoints": { - "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "lacpActivation": { - "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", - "type": "boolean" - }, - "lacpConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "layer2ControlProtocol": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "mtuL2": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", - "type": "object", - "required": [ - "macVrfName" - ], - "properties": { - "macVrfName": { - "description": "Name (or identifier) of the MAC-VRF instance.\n", - "type": "string" - } - } - }, - "forwardingConfig": { - "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", - "type": "object", - "oneOf": [ - { - "required": [ - "networkResources" - ] - }, - { - "required": [ - "vnSegmentIds" - ] - } - ], - "properties": { - "networkResources": { - "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", - "type": "array", - "items": { - "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", - "type": "object", - "required": [ - "resourceId" - ], - "properties": { - "vimId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceProviderId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "resourceId": { - "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", - "type": "string" - }, - "vimLevelResourceType": { - "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", - "type": "string" - }, - "vimLevelAdditionalResourceInfo": { - "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", - "type": "object", - "properties": { - "hostName": { - "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "persistentVolume": { - "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", - "type": "string" - }, - "additionalInfo": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "containerNamespace": { - "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", - "type": "string" - } - } - } - }, - "vnSegmentIds": { - "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", - "type": "object", - "required": [ - "vnSegmentIdValue" - ], - "properties": { - "vnSegmentIdValue": { - "description": "Identifier of the network segment.\n", - "type": "string" - }, - "vnSegmentIdUpperRange": { - "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", - "type": "string" - } - } - } - } - } - } - }, - "siteToWanLayer3ProtocolData": { - "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", - "type": "object", - "required": [ - "routingInfo" - ], - "properties": { - "logicalInterfaceIpAddress": { - "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", - "type": "object", - "required": [ - "ipAddress", - "associatedSegmentId" - ], - "properties": { - "ipAddress": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "associatedSegmentId": { - "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", - "type": "string" - } - } - }, - "routingInfo": { - "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", - "type": "object", - "required": [ - "routingProtocol", - "routingAddressFamily" - ], - "properties": { - "routingProtocol": { - "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: - BGP: used for dynamic routing BGPv4. - RIP: used for dynamic routing RIPv2. - OSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). - STATIC: used for static routing. - DIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. - VRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", - "type": "string", - "enum": [ - "BGP", - "RIP", - "OSPF", - "STATIC", - "DIRECT", - "VRRP" - ] - }, - "staticRouting": { - "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", - "type": "object", - "required": [ - "ipVersion", - "ipPrefix", - "prefixSize", - "nextHop" - ], - "properties": { - "ipVersion": { - "description": "The IP version applicable to the routing entry. Permitted values: - IPV4 - IPV6\n", - "type": "string", - "enum": [ - "IPV4", - "IPV6" - ] - }, - "ipPrefix": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "prefixSize": { - "description": "The IP prefix size.\n", - "type": "number" - }, - "nextHop": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - } - } - }, - "routingAddressFamily": { - "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: - IPV4 - IPV6\n", - "type": "string", - "enum": [ - "IPV4", - "IPv6" - ] - }, - "ospfRouting": { - "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", - "type": "object", - "required": [ - "areaId" - ], - "properties": { - "areaId": { - "description": "The routing area identifier, e.g., a number or an IP address.\n", - "type": "string" - } - } - }, - "bgpRouting": { - "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", - "type": "object", - "required": [ - "bgpAs" - ], - "properties": { - "bgpAs": { - "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", - "type": "object" - }, - "bgpNeighbour": { - "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", - "type": "string", - "format": "IP" - }, - "bgpAdditionalParam": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - }, - "routeMapsDistribution": { - "description": "Maps of routes that are permitted or denied for redistribution.\n", - "type": "object", - "required": [ - "policy", - "sequence", - "matchAndSetRule" - ], - "properties": { - "policy": { - "description": "The policy to apply to the route distribution.\nPermitted values: - PERMIT - DENY\n", - "type": "string", - "enum": [ - "PERMIT", - "DENY" - ] - }, - "sequence": { - "description": "Sequence or index number assigned to the route-map.\n", - "type": "number" - }, - "matchAndSetRule": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - }, - "mtuL3": { - "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", - "type": "number" - }, - "virtualRoutingAndForwarding": { - "description": "Configuration related to the virtual routing and forwarding (VRF).\n", - "type": "object", - "required": [ - "vrfName" - ], - "properties": { - "vrfName": { - "description": "Name (or identifier) of the VRF instance.\n", - "type": "string" - } - } - }, - "bfdConfig": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", - "type": "object" - } - } - } - } - } - }, - "removeConnectivityServiceEndpoints": { - "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - } - } - } - } - } - } - } - } - }, - "affectedSap": { - "description": "Information about the SAP instances that were affected during the lifecycle operation. See note 1.\n", - "type": "array", - "items": { - "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", - "type": "object", - "required": [ - "sapInstanceId", - "sapdId" - ], - "properties": { - "sapInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "sapName": { - "description": "Human readable name for the SAP.\n", - "type": "string" - }, - "changeType": { - "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", - "type": "string", - "enum": [ - "ADD", - "REMOVE", - "MODIFY" - ] - }, - "changeResult": { - "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", - "type": "string", - "enum": [ - "COMPLETED", - "ROLLED_BACK", - "FAILED" - ] - } - } - } - }, - "feasibilityCheckResult": { - "description": "The enumeration FeasibilityCheckResultType defines the permitted values to represent the result of executing a feasibility check according to the options defined in clause 6.5.4.14. It shall comply with the provisions defined in table 6.5.4.15-1.\n", - "type": "string", - "enum": [ - "FEASIBILITY_CHECK_DONE", - "FEASIBILITY_CHECK_DONE_WITH_RESERVATION" - ] - }, - "error": { - "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", - "type": "object", - "required": [ - "status", - "detail" - ], - "properties": { - "type": { - "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", - "type": "string", - "format": "URI" - }, - "title": { - "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", - "type": "string" - }, - "status": { - "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", - "type": "integer" - }, - "detail": { - "description": "A human-readable explanation specific to this occurrence of the problem.\n", - "type": "string" - }, - "instance": { - "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", - "type": "string", - "format": "URI" - } - } - }, - "_links": { - "type": "object", - "required": [ - "nsInstance" - ], - "properties": { - "nsInstance": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "subscription": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - }, - "nslcmOpOcc": { - "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", - "type": "string", - "format": "url" - } - } - } - } - } - } - } \ No newline at end of file + "type": "object", + "description": "This type represents an NS lifecycle management operation occurrence notification, which informs the receiver of changes in the NS lifecycle caused by an NS LCM operation occurrence. The NS LCM operation occurrence may be triggered by the OSS/BSS or automatically triggered by the NFVO.", + "required": [ + "id", + "nsInstanceId", + "nsLcmOpOccId", + "operation", + "notificationType", + "subscriptionId", + "timestamp", + "notificationStatus", + "operationState", + "isAutomaticInvocation", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operation": { + "description": "The enumeration NsLcmOpType represents those lifecycle operations that trigger a NS lifecycle management operation occurrence notification. Value | Description ------|------------ INSTANTIATE | Represents the \"Instantiate NS\" LCM operation. SCALE | Represents the \"Scale NS\" LCM operation. UPDATE | Represents the \"Update NS\" LCM operation. TERMINATE | Represents the \"Terminate NS\" LCM operation. HEAL | Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"NsLcmOperationOccurrenceNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "notificationStatus": { + "description": "Indicates whether this notification reports about the start of a NS lifecycle operation or the result of a NS lifecycle operation. Permitted values: - START: Informs about the start of the NS LCM operation occurrence. - RESULT: Informs about the final or intermediate result of the NS LCM operation occurrence.\n", + "type": "string", + "enum": [ + "START", + "RESULT" + ] + }, + "operationState": { + "description": "Value | Description ------|------------ PROCESSING | The NS LCM operation is currently in execution. COMPLETED | The NS LCM operation has been completed successfully. PARTIALLY_COMPLETED | The NS LCM operation has been partially completed with accepTable errors. FAILED_TEMP | The NS LCM operation has failed and execution has stopped, but the execution of the operation is not considered to be closed. FAILED | The NS LCM operation has failed and it cannot be retried or rolled back, as it is determined that such action will not succeed. OLLING_BACK | The NS LCM operation is currently being rolled back. ROLLED_BACK | The NS LCM operation has been successfully rolled back, i.e. The state of the NS prior to the original operation invocation has been restored as closely as possible.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "PARTIALLY_COMPLETED", + "FAILED_TEMP", + "FAILED", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "isAutomaticInvocation": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "verbosity": { + "description": "The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation occurrence notifications. It shall comply with the provisions defined in table 6.5.4.11-1. * FULL: This signals a full notification which contains all change details. * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to\n be sent via the notification mechanism.\n", + "type": "string", + "enum": [ + "FULL", + "SHORT" + ] + }, + "affectedVnf": { + "description": "Information about the VNF instances that were affected during the lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFs.\nNOTE: At least one of the attributes \"changedVnfInfo\", \"changedExtConnectivity\" or \"modificationsTriggeredByVnfPkgChange\" or “changedCertificateInfo†shall be present. Not more than one of \"changedVnfInfo\" and \"modificationsTriggeredByVnfPkgChange\" shall be present.\n", + "type": "object", + "required": [ + "vnfInstanceId", + "vnfdId", + "vnfProfileId", + "vnfName", + "changeType", + "changeResult" + ], + "anyOf": [ + { + "required": [ + "changedExtConnectivity" + ] + }, + { + "oneOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ] + } + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vnfName": { + "description": "Name of the VNF Instance.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change Permitted values: - ADD - REMOVE - INSTANTIATE - TERMINATE - SCALE - CHANGE_FLAVOUR - HEAL - OPERATE - MODIFY_INFORMATION - CHANGE_EXTERNAL_VNF_CONNECTIVITY - CHANGE_VNFPKG\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "TERMINATE", + "SCALE", + "CHANGE_FLAVOUR", + "HEAL", + "OPERATE", + "MODIFY_INFORMATION", + "CHANGE_EXTERNAL_VNF_CONNECTIVITY", + "CHANGE_VNFPKG" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + }, + "changedInfo": { + "description": "Information about the changed VNF instance information, including VNF configurable properties, and certificate content if applicable. When the \"changedInfo\" attribute is present, either the \"changedVnfInfo\" attribute or the \"changedExtConnectivity\" attribute or both shall be present.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ], + "oneOf": [ + { + "required": [ + "changedVnfInfo" + ] + }, + { + "required": [ + "modificationsTriggeredByVnfPkgChange" + ] + } + ], + "properties": { + "changedVnfInfo": { + "description": "This type represents the information that is requested to be modified for a VNF instance. The information to be modified shall comply with the associated NSD. EXAMPLE. The vnfPkgId attribute value for a particular VNF instance can only be updated with a value that matches the identifier value of a VNF package whose vnfdId is present in the associated profile of the NSD.\n", + "type": "object", + "required": [ + "vnfInstanceId" + ], + "properties": { + "vnfInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfInstanceName": { + "description": "New value of the \"vnfInstanceName\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfInstanceDescription": { + "description": "New value of the \"vnfInstanceDescription\" attribute in \"VnfInstance\", or \"null\" to remove the attribute.\n", + "type": "string" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "changedExtConnectivity": { + "description": "Information about changed external connectivity, if applicable. Only information about external VL instances that have been added or modified shall be provided. See note.\n", + "type": "array", + "items": { + "description": "This type represents information about an VNF external VL.", + "type": "object", + "required": [ + "id", + "resourceHandle", + "currentVnfExtCpData" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "extLinkPorts": { + "description": "Link ports of this VL.\n", + "type": "array", + "items": { + "description": "This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to an NS VL. NOTE 1: The use cases UC#4 and UC#5 in Annex A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration. NOTE 2: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\" attribute.\n", + "type": "object", + "required": [ + "id", + "resourceHandle" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceHandle": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "cpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "secondaryCpInstanceId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "trunkResourceId": { + "description": "An identifier maintained by the VIM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + }, + "extNetAttDefResource": { + "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", + "type": "array", + "items": { + "description": "This type represents the information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network\n", + "type": "object", + "required": [ + "netAttDefResourceInfoId", + "netAttDefResource" + ], + "properties": { + "netAttDefResourceInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "netAttDefResource": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + }, + "associatedExtCpId": { + "description": "Identifier of the external CP of the VNF associated to this network attachment definition resource. Shall be present when the network attachment definition resource is used for external connectivity by the VNF\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + }, + "associatedVnfcCpId": { + "description": "Identifier of the VNFC CP of the VNF associated to this network attachment definition resource. May be present when the network attachment definition resource is used for internal connectivity by the VNF.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + } + }, + "currentVnfExtCpData": { + "description": "This type represents configuration information for external CPs created from a CPD.\nNOTE 1: In case this identifier refers to a CPD with trunking enabled, the external CP instances created from this CPD will represent ports in a trunk. NOTE 2: The map entry value shall be set to \"null\" in order to delete a \"VnfExtCpConfig\" entry identified by a particular key value from the map, i.e. for the disconnection of an existing external CP instance addressed by cpInstanceId in the deleted map entry from a particular external virtual link, and deletion of that instance in case it represents a subport. Deleting the last key from the map removes the affected instance of the \"VnfExtCpData\" structure from its parent data structure. NOTE 3: Within one VNF instance, all VNFC instances created from a particular VDU have the same external connectivity. Thus, given a particular value of the \"cpdId' attribute, there shall be one \"cpConfig\" entry for each VNFC instance that has been or can be created from a VDU which includes a CPD identified by the \"cpdId\" attribute. If the cpConfig represents a subport in a trunk, all \"cpConfig\" entries in this list shall have the same segmentationId, which means they are connected to the same set of external VLs via the trunk. NOTE 4: If, as defined by the input parameters of a \"ChangeVnfFlavour\", \"ChangeExtVnfConnectivity\" or \"ChangeCurrentVnfPkg\" operation, a cpConfig map entry identified by a particular map key value is moved into another \"ExtVirtualLinkData\" or \"VnfExtCpData\" structure, this particular cpConfig map entry may be used by an external CP instance different than the one that has used it before the operation, or by no external CP instance at all. Renaming a CPD identifier during the \"changeCurrentVnfPkg\" operation does not count as moving the related \"cpConfig\" map entries to a new \"extCpData\" structure.\n", + "type": "object", + "required": [ + "cpdId" + ], + "properties": { + "cpdId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "cpConfig": { + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the API consumer. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396 [11]). See notes 2, 3 and 4.\n", + "type": "object", + "additionalProperties": { + "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of a VNF external connection point. In the case of VM-based deployment of the VNFC exposing the external CP: In case a link port is provided, the NFVO shall use that link port when connecting the VNF external CP to the external VL. • In case a link port is not provided, the NFVO or VNFM shall create a link port on the external VL, and use that link port to connect the VNF external CP to the external VL. In the case of container-based deployment of the VNFC exposing the external CP, the NFVO and VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\nNOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\"\n for an external CP instance connected or to be connected to a virtual network not\n categorized as secondary container cluster network:\n - At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for\n an external CP instance representing a subport that is to be created, or an external CP instance\n that is to be created by creating the corresponding VNFC or VNF instance during the current or\n a subsequent LCM operation, or for an existing external CP instance that is to be re-configured\n or added to a particular external virtual link.\n - If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided\n referencing a pre-created link port with pre-configured address information.\n - If both \"cpProtocolData\" and \"linkportId\" are provided, the API consumer shall ensure that\n the cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\nNOTE 2: In case the NFVO manages its own identifier space, the NFVO may remap this identifier\n when communicating with the VNFM. If the NFVO knows that there can be an identifier collision\n when communicating with the VNFM by using the identifier from the OSS/BSS, the NFVO shall remap it.\nNOTE 3: The following conditions apply to the attributes \"netAttDefResourceId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n − Void.\n − At least one of these attributes shall be present for a to-be-created external CP instance or an existing\n external CP instance.\nNOTE 4: Cardinality greater than 1 is only applicable for specific cases where more than one network\n attachment definition resource is needed to fulfil the connectivity requirements of the external CP,\n e.g. to build a link redundant mated pair in SR-IOV cases. When more than one \"netAttDefResourceId\"\n is indicated, all shall belong to the same namespace as defined by the corresponding \n \"containerNamespace\" attribute in the \"resourceHandle\" attribute in the \"NetAttDefResourceData\".\nNOTE 5: Either \"linkPortId\" or \"netAttDefResourceId\" may be included, but not both.\n", + "type": "object", + "oneOf": [ + { + "required": [ + "linkPortId" + ] + }, + { + "required": [ + "cpProtocolData" + ] + } + ], + "properties": { + "parentCpConfigId": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + }, + "linkPortId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "createExtLinkPort": { + "description": "Indicates the need to create a dedicated link port for the external CP. If set to True, a link port is created. If set to False, no link port is created. This attribute is only applicable for external CP instances without a floating IP address that expose a VIP CP instance for which a dedicated IP address is allocated. It shall be present in that case and shall be absent otherwise.\n", + "type": "boolean" + }, + "cpProtocolData": { + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 3.\n", + "type": "array", + "items": { + "description": "This type represents network protocol data.\nNOTE:\tThis attribute allows to signal the addition of further types of layer and protocol in future versions of the present document in a backwards-compatible way. In the current version of the present document, only IP over Ethernet is supported.\n", + "type": "object", + "required": [ + "layerProtocol" + ], + "properties": { + "layerProtocol": { + "description": "Identifier of layer(s) and protocol(s). Permitted values: - IP_OVER_ETHERNET - IP_FOR_VIRTUAL_CP See note.\n", + "type": "string", + "enum": [ + "IP_OVER_ETHERNET", + "IP_FOR_VIRTUAL_CP" + ] + }, + "ipOverEthernet": { + "description": "This type represents network address data for IP over Ethernet. NOTE 1: At least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2: Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present. NOTE 3: If the CP instance represents a subport in a trunk, \"segmentationId\" shall be present. Otherwise it shall not be present. NOTE 4: Depending on the NFVI networking infrastructure, the \"segmentationId\" may indicate the actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the transport header of the packets or it may be an identifier used between the application and the NFVI networking infrastructure to identify the network sub-interface of the trunk port in question. In the latter case the NFVI infrastructure will map this local \"segmentationId\" to whatever \"segmentationId\" is actually used by the NFVI's transport technology.\n", + "type": "object", + "anyOf": [ + { + "required": [ + "ipAddresses" + ] + }, + { + "required": [ + "macAddress" + ] + } + ], + "properties": { + "macAddress": { + "description": "A MAC address. Representation: string that consists of groups of two hexadecimal digits, separated by hyphens or colons.\n", + "type": "string", + "format": "MAC" + }, + "segmentationType": { + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values are: - VLAN: The subport uses VLAN as encapsulation type. - INHERIT: The subport gets its segmentation type from the network it is connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "type": "string", + "enum": [ + "VLAN", + "INHERIT" + ] + }, + "segmentationId": { + "description": "Identification of the network segment to which the CP instance connects to. See note 3 and note 4.\n", + "type": "string" + }, + "ipAddresses": { + "description": "List of IP addresses to assign to the CP instance. Each entry represents IP address data for fixed or dynamic IP address assignment per subnet. If this attribute is not present, no IP address shall be assigned. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "type" + ], + "oneOf": [ + { + "required": [ + "fixedAddresses" + ] + }, + { + "required": [ + "numDynamicAddresses" + ] + }, + { + "required": [ + "addressRange" + ] + } + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values:\n - IPV4\n - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "fixedAddresses": { + "description": "Fixed addresses to assign (from the subnet defined by \"subnetId\" if provided). Exactly one of \"fixedAddresses\", \"numDynamicAddresses\" or \"ipAddressRange\" shall be present.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + }, + "numDynamicAddresses": { + "description": "Number of dynamic addresses to assign (from the subnet defined by \"subnetId\" if provided). See note 2.\n", + "type": "integer" + }, + "addressRange": { + "description": "An IP address range to be used, e.g. in case of egress connections. In case this attribute is present, IP addresses from the range will be used.\n", + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "subnetId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + } + } + } + } + } + }, + "virtualCpAddress": { + "description": "This type represents network address data for a virtual CP. It shall comply with the provisions defined in table 6.5.3.12a-1.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the CIS cluster is set up to be \n able to configure an external load balancer. Otherwise it shall be ignored.\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the\n container cluster will assign an IP address. \n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP\n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for\n Kubernetes® that supports configuration of address pools for load balancer services.\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time. \n", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "The type of the IP addresses. Permitted values: IPV4, IPV6.\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "loadBalancerIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "externalIp": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "addressPoolName": { + "description": "Name of an address pool from which the CIS cluster will assign an IP address to the virtual CP. See notes 3 and 4.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "loadBalancerSourceRanges": { + "description": "List of client IP address ranges allowed to access an external load balancer. See note 1.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "minAddress", + "maxAddress" + ], + "properties": { + "minAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "maxAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + } + } + } + } + } + }, + "netAttDefResourceId": { + "description": "Identifier of the \"NetAttDefResourceData\" structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 3, 4 and 5.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "modificationsTriggeredByVnfPkgChange": { + "description": "This type represents attribute modifications that were performed by the VNFM on an \"Individual VNF instance\" resource when changing the current VNF package. The \"ModificationsTriggeredByVnfPkgChange\" data type shall comply with the provisions defined in table 6.5.3.79-1.\n", + "type": "object", + "properties": { + "vnfConfigurableProperties": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "vnfdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vnfProvider": { + "description": "If present, this attribute signals the new value of the \"vnfProvider\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfProductName": { + "description": "If present, this attribute signals the new value of the \"vnfProductName\" attribute in \"VnfInstance\". If present, this attribute (which depends on the value of the \"vnfdId\" attribute) was modified implicitly during the related operation, and contains a copy of the value of the related attribute from the VNFD in the VNF Package identified by the \"vnfdId\" attribute.\n", + "type": "string" + }, + "vnfSoftwareVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "vnfdVersion": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + } + } + }, + "changedCertificateInfo": { + "description": "Information about changed certificate, if applicable. See note\n", + "type": "array", + "items": { + "description": "This type provides input information related to certificate and certificate management.\n", + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "certificateConfigurationInfo": { + "description": "This type provides input information related to certificate management\n", + "type": "object", + "required": [ + "securityPolicy" + ], + "properties": { + "certificateBaseProfile": { + "description": "Information for certificate profile.", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "securityPolicy": { + "description": "Information for security policy to be satisfied for certificate.", + "type": "array", + "items": { + "type": "object", + "description": "This type represents the input information related to certificate management.\n", + "required": [ + "id" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "maxValidityPeriod": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + }, + "allowedAlgorithm": { + "description": "Allowed signature algorithm.\n", + "type": "string" + }, + "minimumKeyLength": { + "description": "A number as defined in IETF RFC 8259.\n", + "type": "number" + } + } + } + }, + "delegationSupportedCertificateManagements": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "cmfInfo": { + "type": "object", + "description": "This type provides input information related to CMF for certificate management\n", + "required": [ + "id", + "endPoint", + "supportedProtocol" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "endPoint": { + "description": "End point of CMF instance.\n", + "type": "object", + "required": [ + "ipAddress", + "link" + ], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "link": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + }, + "supportedProtocol": { + "type": "array", + "description": "Supported protocol by CMF instance. Permitted values:\n CMP\n CMPv2\n EST\n SCEP\n", + "minItems": 1, + "items": { + "type": "string", + "enum": [ + "CMP", + "CMPv2", + "EST", + "SCEP" + ] + } + }, + "certificateChain": { + "description": "Certificate chain that this CMF provides.", + "type": "array", + "items": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "certificateContents": { + "description": "Information for contents of issued certificates. The information contained in this attribute may be updated over time during the VNF LCM, e.g. certificate(s) renewal.\n", + "type": "array", + "items": { + "description": "This type provides input information related to certificate content. \nNOTE : The CertificateDesc data type is defined in clause 7.1.19.2 of ETSI GS NFV IFA 011\n", + "type": "object", + "required": [ + "id", + "certficateDescId", + "certificateType" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "certficateDescId": { + "description": "Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.\n", + "type": "string" + }, + "certificateType": { + "description": "Type of this certificate. Values: * VNFCI_CERT * VNFOAM_CERT\n", + "type": "string", + "enum": [ + "VNFCI_CERT", + "NFOAM_CERT" + ] + }, + "supportedCertificateManagement": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "version": { + "description": "A Version. Representation: string of variable length.\n", + "type": "string" + }, + "serialNumber": { + "description": "Serial number of this certificate\n", + "type": "integer" + }, + "signatureAlgorithm": { + "description": "Algorithm of this certificate’s signature.\n", + "type": "string" + }, + "issuer": { + "description": "Issuer of this certificate.\n", + "type": "string" + }, + "notBefore": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "notAfter": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "subject": { + "description": "Subject of this certificate.\n", + "type": "string" + }, + "publicKeyAlgorithm": { + "description": "Algorithm of this certificate’s public key\n", + "type": "string" + }, + "certificateExtensions": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + } + } + } + } + } + } + }, + "affectedPnf": { + "description": "Information about the PNF instances that were affected during the lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified PNFs. It shall comply with the provisions in Table 6.5.3.3-1.\n", + "type": "object", + "required": [ + "pnfId", + "pnfdId", + "pnfProfileId", + "cpInstanceId" + ], + "properties": { + "pnfId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "pnfdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "pnfName": { + "description": "Name of the PNF.\n", + "type": "string" + }, + "cpInstanceId": { + "description": "Identifier of the CP in the scope of the PNF.\n", + "type": "array", + "items": { + "description": "An Identifier that is unique within respect to a PNF. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedVl": { + "description": "Information about the VL instances that were affected during the lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted, modified and temporary VLs. NOTE: The resource handles of the affected NS link ports can be found by dereferencing the identifiers in the \"linkPortIds\" attribute.\n", + "type": "object", + "required": [ + "nsVirtualLinkInstanceId", + "nsVirtualLinkDescId", + "vlProfileId", + "changeType", + "changeResult" + ], + "properties": { + "nsVirtualLinkInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "nsVirtualLinkDescId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "vlProfileId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: * ADD * DELETE * MODIFY * ADD_LINK_PORT * REMOVE_LINK_PORT\n", + "type": "string", + "enum": [ + "ADD", + "DELETE", + "MODIFY", + "ADD_LINK_PORT", + "REMOVE_LINK_PORT" + ] + }, + "linkPortIds": { + "description": "Identifiers of the link ports of the affected VL related to the change. Each identifier references an \"NsLinkPortInfo\" structure.\nShall be set when changeType is equal to \"ADD_LINK_PORT\" or \"REMOVE_LINK_PORT\", and the related \"NsLinkPortInfo\" structures are present (case \"add\") or have been present (case \"remove\") in the \"NsVirtualLinkInfo\" structure that is represented by the \"virtualLink¬Info\" attribute in the \"NsInstance\" structure. See note.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: * COMPLETED * ROLLED_BACK * FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedVnffg": { + "description": "Information about the VNFFG instances that were affected during the lifecycle operation. See note 1. \n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified VNFFG instances. It shall comply with the provisions in Table 6.5.3.5-1.\n", + "type": "object", + "required": [ + "vnffgInstanceId", + "vnffgdId" + ], + "properties": { + "vnffgInstanceId": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + }, + "vnffgdId": { + "description": "An identifier that is unique within a NS descriptor. Representation: string of variable length.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of change. Permitted values: - ADD - DELETE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "DELETE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "affectedNs": { + "description": "Information about the SAP instances that were affected during the lifecycle operation.See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified nested NSs. It shall comply with the provisions in Table 6.5.3.6-1.\n", + "type": "object", + "required": [ + "nsInstanceId", + "nsdId", + "changeType", + "changeResult" + ], + "properties": { + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - INSTANTIATE - SCALE - UPDATE - HEAL - TERMINATE\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "INSTANTIATE", + "SCALE", + "UPDATE", + "HEAL", + "TERMINATE" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED - PARTIALLY_COMPLETED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED", + "PARTIALLY_COMPLETED" + ] + }, + "changedInfo": { + "description": "Information about the changed NS instance information, if applicable.\n", + "type": "object", + "properties": { + "wanConnectionInfoModifications": { + "description": "Information about the modified WAN related connectivity information, if applicable.\n", + "type": "array", + "items": { + "description": "This type represents attribute modifications that were performed on WAN connection information. The attributes that can be included consist of those requested to be modified explicitly with the \"UpdateNsRequest\" data structure. It shall comply with the provisions defined in table 6.5.3.93-1.\n", + "type": "object", + "required": [ + "wanConnectionInfoId" + ], + "properties": { + "wanConnectionInfoId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "mscsName": { + "description": "If present, this attribute signals modifications of the \"mscsName\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsDescription": { + "description": "If present, this attribute signals modifications of the \"mscsDescription\" attribute in \"MscsInfo\" as defined in clause 6.5.3.82.\n", + "type": "string" + }, + "mscsEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "This type provides encapsulates information about an MSCS endpoint of the MSCS. It shall comply with the provisions defined in table 6.5.3.83-1.\n", + "type": "object", + "required": [ + "mscsEndpointId", + "directionality", + "connectivityServiceEndpoinId" + ], + "properties": { + "mscsEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "directionality": { + "description": "Directionality of the data traffic in the context of the terminating MSCS endpoint from WAN’s perspective. Permitted values: - INBOUND: to indicate into the WAN. - OUTBOUND: to indicate from the WAN. - BOTH: to indicate bidirectional data traffic to/from the WAN.\n", + "type": "string", + "enum": [ + "INBOUND", + "OUTBOUND", + "BOTH" + ] + }, + "connectivityServiceEndpoinId": { + "description": "References the connectivity service endpoint configuration information applicable to support the MSCS endpoint. More than one connectivity service endpoint can be referred when endpoints are in LAG mode.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + }, + "removeMscsEndpointIds": { + "description": "If present, this attribute signals the deletion of certain entries in the \"mscsEndpoints\" attribute array in \"MscsInfo\", as defined in clause 6.5.3.82.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "connectivityServiceEndpoints": { + "description": "If present, this attribute signals modifications of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "This type provides configuration data for the NFVI-PoP network gateway providing connectivity service endpoints. The connectivity service endpoints are used as endpoints by an MSCS. It shall comply with the provisions defined in Table 6.5.3.84-1.\n", + "type": "object", + "required": [ + "connectivityServiceEndpointId", + "vimId" + ], + "properties": { + "connectivityServiceEndpointId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "siteToWanLayer2ProtocolData": { + "description": "This type provides information about Layer 2 protocol specific information for the configuration of the NFVI-PoP network gateway to enable the stitching of the intra-site VN to the MSCS over the WAN. It shall comply with the provisions defined in Table 6.5.3.85-1. NOTE: Either \"networkResources\" or \"vnSegmentsIds\" shall be provided, but not both.\n", + "type": "object", + "required": [ + "layer2ConnectionInfo" + ], + "properties": { + "layer2ConnectionInfo": { + "description": "Layer 2 protocol parameters of the connectivity service endpoint (CSE).\n", + "type": "object", + "required": [ + "connectionType", + "interfaceType", + "interfaceTagging", + "encapsulationType" + ], + "properties": { + "connectionType": { + "description": "The type of connection to be established on the connectivity service point. Permitted values: - CSE: defined by the characteristics of the existing referred connectivity service point. - AGGREGATE_CSE: create an aggregation of the connectivity service endpoints.\n", + "type": "string", + "enum": [ + "CSE", + "AGGREGATE_CSE" + ] + }, + "interfaceType": { + "description": "To indicate whether to create logical interfaces on the referred connectivity service endpoint or new aggregated connectivity service endpoint. Permitted values: - PARENT: use the mapped interface to the connectivity service endpoint as is, i.e., do not create logical interfaces. - LOGICAL: create logical interfaces.\n", + "type": "string", + "enum": [ + "PARENT", + "LOGICAL" + ] + }, + "interfaceTagging": { + "description": "The type of frames to forward on the connectivity service point. Permitted values: - UNTAGGED: an interface where frames are not tagged. - TAGGED: an interface configured to forward tagged frames (i.e., enabled for VLAN tagging).\n", + "type": "string", + "enum": [ + "UNTAGGED", + "TAGGED" + ] + }, + "encapsulationType": { + "description": "The type of encapsulation. If the interfaceTagging=\"TAGGED\", either \"VLAN\" or \"VXLAN\" shall be set. Permitted values: - ETH: generic Ethernet encapsulation. - VLAN: encapsulation based on VLAN. - VXLAN: encapsulation based on VXLAN.\n", + "type": "string", + "enum": [ + "ETH", + "VLAN", + "VXLAN" + ] + }, + "vlanTaggingType": { + "description": "Type of encapsulation method for VLAN tagging. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VLAN\". Permitted values: - DOT1Q: used when packets on the CSE are encapsulated with one or a set of customer VLAN identifiers. - QINQ: used when packets on the CSE are encapsulated with multiple customer VLAN identifiers and a single\n service VLAN identifier.\n- QINANY: used when packets on the CSE have no specific customer VLAN and a service VLAN identifier is used.\n", + "type": "string", + "enum": [ + "DOT1Q", + "QINQ", + "QINANY" + ] + }, + "wanSegmentIds": { + "description": "Segment identifiers to pass on the tagged interface. Shall be present if encapsulationType=\"VLAN\" or “VXLAN\".\n", + "type": "object", + "required": [ + "wanSegmentIdValue" + ], + "properties": { + "wanSegmentIdValue": { + "description": "Identifier of the network segment (e.g., VLAN id or VNI).\n", + "type": "string" + }, + "wanSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"wanSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + }, + "vxlanConfig": { + "description": "Additional configuration needed when using VXLAN encapsulation. Shall be present if interfaceTagging=\"TAGGED\" and encapsulationType=\"VXLAN\".\n", + "type": "object", + "required": [ + "peerMode" + ], + "properties": { + "peerMode": { + "description": "Type of VXLAN access mode. Default value is \"STATIC\".\nPermitted values: - STATIC - BGP_EVPN\n", + "type": "string", + "enum": [ + "STATIC", + "BGP_EVPN" + ] + }, + "peers": { + "description": "List of IP addresses of VTEP peers when using static mode.\n", + "type": "array", + "items": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + } + }, + "lagInterfaceData": { + "description": "Information for setting up a LAG interface aggregating multiple connectivity service endpoints.\n", + "type": "object", + "required": [ + "aggregatedEndpoints", + "lacpActivation", + "lacpConfig" + ], + "properties": { + "aggregatedEndpoints": { + "description": "List of the connectivity service endpoints that are to be aggregated. Shall be present if connectionType=\"AGGREGATE_CSE\". In case of aggregating connectivity service endpoints, only one SiteToWanLayer2ProtocolData shall be provided for the whole set of aggregated endpoints.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "lacpActivation": { + "description": "Indicates whether to activate LACP on the interface. If \"TRUE\", the LACP is to be activated, or \"FALSE\" otherwise. Default value is \"FALSE\".\n", + "type": "boolean" + }, + "lacpConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "layer2ControlProtocol": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "mtuL2": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 2 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the L2 virtual routing and forwarding (MAC-VRF).\n", + "type": "object", + "required": [ + "macVrfName" + ], + "properties": { + "macVrfName": { + "description": "Name (or identifier) of the MAC-VRF instance.\n", + "type": "string" + } + } + }, + "forwardingConfig": { + "description": "Information related to the forwarding of the VN in the NFVI-PoP to the connectivity service endpoint, if information about the VN to \"stitch\" is already known. . by the OSS/BSS. Shall not be provided otherwise, in which case the NFVO will infer the forwarding configuration based on the NS VL, or external VL, or externally-managed VL provisioning.\n", + "type": "object", + "oneOf": [ + { + "required": [ + "networkResources" + ] + }, + { + "required": [ + "vnSegmentIds" + ] + } + ], + "properties": { + "networkResources": { + "description": "Reference to the VN resource to be forwarded into/from the MSCS. See note.\n", + "type": "array", + "items": { + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance or by an NS instance. Information about the resource is available from the VIM.\nNOTE 1:\tThe value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM, the CISM, the WIM or the resource provider and can be used as information that complements the ResourceHandle. When the container infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would correspond to the ‘kind’ field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition. NOTE 2:\tWhen the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the following way: * For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide per resource type. * For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, i.e. the value of the ‘claimName’ field in the Kubernetes® manifest, or a compound name built by Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own manifest. * For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of the ‘metadata.name’ field in Kubernetes® manifest. \n", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance. Representation: string of variable length.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Additional resource information which is specific to this resource and its type, and which is available from the VIM or the CISM or the resource provider. See note 1.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider. NOTE:\tAt least one attribute shall be present. \n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note. \n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise. \n", + "type": "string" + } + } + } + }, + "vnSegmentIds": { + "description": "Identifiers of the network segments of the VN resources to be forwarded into/from the MSCS.\n", + "type": "object", + "required": [ + "vnSegmentIdValue" + ], + "properties": { + "vnSegmentIdValue": { + "description": "Identifier of the network segment.\n", + "type": "string" + }, + "vnSegmentIdUpperRange": { + "description": "Identifier of the upper range network segment, in case the \"vnSegmentIds\" is used to define a range.\n", + "type": "string" + } + } + } + } + } + } + }, + "siteToWanLayer3ProtocolData": { + "description": "This type provides information about Layer 3 protocol specific information for the stitching of the intra-site VN to the multi-site connectivity service over the WAN. It shall comply with the provisions defined in Table 6.5.3.86-1.\n", + "type": "object", + "required": [ + "routingInfo" + ], + "properties": { + "logicalInterfaceIpAddress": { + "description": "IP addressing information associated to a logical interface. Shall be present if the \"interfaceType\" of the SiteToWanLayer2ProtocolData is equal to \"LOGICAL\".\n", + "type": "object", + "required": [ + "ipAddress", + "associatedSegmentId" + ], + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "associatedSegmentId": { + "description": "The associated segment identifier that has triggered the creation of the logical interface. The value shall be one of the values listed in the \"wanSegmentIds\" of the \"siteToWanLayer2ProtocolData\".\n", + "type": "string" + } + } + }, + "routingInfo": { + "description": "The routing information that is activated on the connectivity service endpoint. More than one \"routingInfo\" is allowed to enable stacking different routing protocols (e.g., one routing protocol for IPv4 and another one for IPv6).\n", + "type": "object", + "required": [ + "routingProtocol", + "routingAddressFamily" + ], + "properties": { + "routingProtocol": { + "description": "The routing protocol that is activated on the connectivity service endpoint. Permitted values: - BGP: used for dynamic routing BGPv4. - RIP: used for dynamic routing RIPv2. - OSPF: used for dynamic routing (OSPF version 2 for IPv4; and OSPF version 3 for IPv6). - STATIC: used for static routing. - DIRECT: used when the NFVI-PoP network is directly connected to the WAN provider network. - VRRP: used when the NFVI-PoP network is directly connected to the WAN provider network with virtual\n router redundancy protocol support (VRRP).\n", + "type": "string", + "enum": [ + "BGP", + "RIP", + "OSPF", + "STATIC", + "DIRECT", + "VRRP" + ] + }, + "staticRouting": { + "description": "Defines a static route. It shall only be present if the routingProtocol=\"STATIC\".\n", + "type": "object", + "required": [ + "ipVersion", + "ipPrefix", + "prefixSize", + "nextHop" + ], + "properties": { + "ipVersion": { + "description": "The IP version applicable to the routing entry. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPV6" + ] + }, + "ipPrefix": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "prefixSize": { + "description": "The IP prefix size.\n", + "type": "number" + }, + "nextHop": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + } + } + }, + "routingAddressFamily": { + "description": "The IP version applicable to the dynamic routing protocol. Shall be present for dynamic routing protocols. Permitted values: - IPV4 - IPV6\n", + "type": "string", + "enum": [ + "IPV4", + "IPv6" + ] + }, + "ospfRouting": { + "description": "Defines parameters for OSPF routing. It shall only be present if the routingProtocol=\"OSPF\".\n", + "type": "object", + "required": [ + "areaId" + ], + "properties": { + "areaId": { + "description": "The routing area identifier, e.g., a number or an IP address.\n", + "type": "string" + } + } + }, + "bgpRouting": { + "description": "Defines parameters for BGP routing. It shall only be present if the routingProtocol=\"BGP\".\n", + "type": "object", + "required": [ + "bgpAs" + ], + "properties": { + "bgpAs": { + "description": "The Autonomous System (AS) identification applicable to the BGP routing info entry.\n", + "type": "object" + }, + "bgpNeighbour": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "bgpAdditionalParam": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + }, + "routeMapsDistribution": { + "description": "Maps of routes that are permitted or denied for redistribution.\n", + "type": "object", + "required": [ + "policy", + "sequence", + "matchAndSetRule" + ], + "properties": { + "policy": { + "description": "The policy to apply to the route distribution.\nPermitted values: - PERMIT - DENY\n", + "type": "string", + "enum": [ + "PERMIT", + "DENY" + ] + }, + "sequence": { + "description": "Sequence or index number assigned to the route-map.\n", + "type": "number" + }, + "matchAndSetRule": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + }, + "mtuL3": { + "description": "Maximum Transmission Unit (MTU) that can be forwarded at layer 3 (in bytes). Default value is \"1500\" (bytes).\n", + "type": "number" + }, + "virtualRoutingAndForwarding": { + "description": "Configuration related to the virtual routing and forwarding (VRF).\n", + "type": "object", + "required": [ + "vrfName" + ], + "properties": { + "vrfName": { + "description": "Name (or identifier) of the VRF instance.\n", + "type": "string" + } + } + }, + "bfdConfig": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + } + } + } + } + } + }, + "removeConnectivityServiceEndpoints": { + "description": "If present, this attribute signals the deletion of certain entries in the \"connectivityServiceEndpoints\" attribute array in \"WanConnectionProtocolInfo\", as defined in clause 6.5.3.91.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "affectedSap": { + "description": "Information about the SAP instances that were affected during the lifecycle operation. See note 1.\n", + "type": "array", + "items": { + "description": "This type provides information about added, deleted and modified SAP of a NS. It shall comply with the provisions in Table 6.5.3.7-1.\n", + "type": "object", + "required": [ + "sapInstanceId", + "sapdId" + ], + "properties": { + "sapInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "sapName": { + "description": "Human readable name for the SAP.\n", + "type": "string" + }, + "changeType": { + "description": "Signals the type of lifecycle change. Permitted values: - ADD - REMOVE - MODIFY\n", + "type": "string", + "enum": [ + "ADD", + "REMOVE", + "MODIFY" + ] + }, + "changeResult": { + "description": "Signals the result of change identified by the \"changeType\" attribute. Permitted values: - COMPLETED - ROLLED_BACK - FAILED\n", + "type": "string", + "enum": [ + "COMPLETED", + "ROLLED_BACK", + "FAILED" + ] + } + } + } + }, + "feasibilityCheckResult": { + "description": "The enumeration FeasibilityCheckResultType defines the permitted values to represent the result of executing a feasibility check according to the options defined in clause 6.5.4.14. It shall comply with the provisions defined in table 6.5.4.15-1.\n", + "type": "string", + "enum": [ + "FEASIBILITY_CHECK_DONE", + "FEASIBILITY_CHECK_DONE_WITH_RESERVATION" + ] + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "type": "object", + "required": [ + "nsInstance" + ], + "properties": { + "nsInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nslcmOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot index 706a040168d8c2e40934fc8b471bfbee2029aa61..f51b0f131e5ef368462d1e2b9d943bf424b9316e 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualPmJob.robot @@ -16,7 +16,7 @@ GET individual NS Performance Job ... Test title: Get individual NS Performance Job ... Test objective: The objective is to test the retrieval of an individual NS Performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET individual NS Performance Job with invalid resource identifier ... Test title: Get individual NS Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NS Performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ DELETE Individual NS Performance Job with invalid resource identifier ... Test title: Delete individual NS Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NS Performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ POST Individual NS Performance Job - Method not implemented ... Test title: POST Individual NS Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ PUT Individual NS Performance Job - Method not implemented ... Test title: PUT Individual NS Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -79,7 +79,7 @@ PATCH Individual NS Performance Job ... Test title: PATCH Individual NS Performance Job ... Test objective: The objective is to test that PATCH method modify an existing new NS Performance Monitoring Job ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: Resource modified @@ -92,7 +92,7 @@ DELETE Individual NS Performance Job ... Test title: Delete Individual NS Performance Job ... Test objective: The objective is to test the deletion of an individual NS Performance monitoring job ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Job is no more available in the NFVO @@ -105,7 +105,7 @@ PATCH Individual NS Performance Job - Precondition failed ... Test title: PATCH Individual NS Performance Job - Precondition failed ... Test objective: The objective is to attempt to Modify an individual NS Performance job fails, where the precondition was not met ... Pre-conditions: The related job already exist - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The resource is not modified @@ -118,7 +118,7 @@ PATCH Individual NS Performance Job - Precondition failed HTTP Conditional Reque ... Test title: PATCH Individual NS Performance Job - Precondition failed HTTP Conditional Request Not Supported ... Test objective: The objective is to attempt to Modify an individual NS Performance job fails, where the API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Pre-conditions: The related job already exist - ... Reference: Clause 7.4.3.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Post-Conditions: The resource is not modified @@ -131,7 +131,7 @@ PATCH Individual NS Performance Job - Unprocessable Content ... Test title: PATCH Individual NS Performance Job - Unprocessable Content ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -144,7 +144,7 @@ GET individual NS Performance Job with permitted authorization scope ... Test title: Get individual NS Performance Job with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual NS Performance monitoring job with permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -158,7 +158,7 @@ GET individual NS Performance Job with not permitted authorization scope ... Test title: Get individual NS Performance Job with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of an individual NS Performance monitoring job fails when using not permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS Performance jobs are set in the NFVO. - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/IndividualReport.robot b/SOL005/NSPerformanceManagement-API/IndividualReport.robot index 9b15875a1028d930046a7b087c08103ed3234292..36844966d61b7df04751aa869ac75c766499de4d 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualReport.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual NS performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual NS performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing NS performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ Get Individual Performance Report with permitted authorization scope ... Test title: Get Individual Performance Report with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual NS performance report associated to a monitoring job with permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -98,7 +98,7 @@ Get Individual Performance Report with not permitted authorization scope ... Test title: Get Individual Performance Report with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of an individual NS performance report associated to a monitoring job fails when using permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance reports are set for a monitoring job in the NFVO. - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot index 4db3987deff76c04fdbaa3a63d567f984bd6c872..b264b33d9866eaa7235758b9ee791148ab71e6cd 100644 --- a/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL005/NSPerformanceManagement-API/IndividualThreshold.robot @@ -18,7 +18,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual NS performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -32,7 +32,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual NS performance threshold fails when using an invalid resource identifier ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -57,7 +57,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NS performance Threshold ... Pre-conditions: A NS instance is instantiated - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ PATCH Individual Threshold ... Test title: PATCH Individual Threshold ... Test objective: The objective is to test that PATCH method modify an existing NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is modified by the operation @@ -95,7 +95,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual NS performance threshold ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not available anymore in the NFVO @@ -108,7 +108,7 @@ PATCH Individual Threshold - Precondition failed ... Test title: PATCH Individual Threshold - Precondition failed ... Test objective: The objective is to attempt to Modify an individual NS Performance threshold fails, where the precondition was not met ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not modified by the operation @@ -122,7 +122,7 @@ PATCH Individual Threshold - Precondition failed HTTP Conditional Request Not Su ... Test title: PATCH Individual Threshold - Precondition failed HTTP Conditional Request Not Supported ... Test objective: The objective is to attempt to Modify an individual NS Performance threshold fails, where the API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.4, 4.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: API Producer does not support "Last-Modified" and "ETag" HTTP Headers ... Post-Conditions: The NS performance Threshold is not modified by the operation @@ -136,7 +136,7 @@ PATCH Individual Threshold - Unprocessable Content ... Test title: PATCH Individual NS Performance Job - Unprocessable Content ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is not modified by the operation @@ -150,7 +150,7 @@ GET Individual Threshold with permitted authorization scope ... Test title: GET Individual Threshold with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual NS performance threshold with permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ GET Individual Threshold with not permitted authorization scope ... Test title: GET Individual Threshold with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of an individual NS performance threshold fails when using not permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot b/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot index 3aae58739b7f8613b4f32a6149d35a21b08862a8..945d36ad8c6f4d3728087b62cc3cde3def7bbab5 100644 --- a/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL005/NSPerformanceManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ NS Performance Information Availability Notification ... Test title: NS Performance Information Availability Notification ... Test objective: The objective is to test that NS Performance Information Availability Notification is delivered with success to the notification consumer ... Pre-conditions: A NS performance job is created, and information availability notifications is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ NS Threshold Crossed Notification ... Test title: NS Threshold Crossed Notification ... Test objective: The objective is to test that NS Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A NS performance job is created, and threshold crossed notifications is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/Notifications.robot b/SOL005/NSPerformanceManagement-API/Notifications.robot index 2884c6a556f62b044491fcc1c600c6430b625181..5c7150154bea401860d5a0b0226f90ef5ec0deac 100644 --- a/SOL005/NSPerformanceManagement-API/Notifications.robot +++ b/SOL005/NSPerformanceManagement-API/Notifications.robot @@ -16,7 +16,7 @@ NS Performance Information Availability Notification ... Test title: NS Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of NS Performance Information Availability Notification when new NS performance information is available in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS performance job is created, and a subscription for information availability notifications is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ NS Threshold Crossed Notification ... Test title: NS Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of NS Threshold Crossed Notification when a previously set NS performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A NS performance job is created, and a threshold subscription is available in the NFVO. - ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/PMJobs.robot b/SOL005/NSPerformanceManagement-API/PMJobs.robot index 62fd7ed18cb88b186b498dc8f7dc79322ac0198d..d9ddeb0a739b2997aa54dbd44bc452b229280117 100644 --- a/SOL005/NSPerformanceManagement-API/PMJobs.robot +++ b/SOL005/NSPerformanceManagement-API/PMJobs.robot @@ -17,7 +17,7 @@ GET all NS Performance Monitoring Jobs ... Test title: GET all NS Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available NS performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -31,7 +31,7 @@ GET NS Performance Monitoring Jobs with attribute-based filter ... Test title: GET all NS Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of NS performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET all NS Performance Monitoring Jobs with "all_fields" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "all_fields" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -59,7 +59,7 @@ GET all NS Performance Monitoring Jobs with "exclude_default" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "exclude_default" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ GET all NS Performance Monitoring Jobs with "fields" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with "fields" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "fields" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "include" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "include" attribute selector ... Post-Conditions: none @@ -87,7 +87,7 @@ GET all NS Performance Monitoring Jobs with "exclude" attribute selector ... Test title: GET all NS Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "exclude" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued "exclude" selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "exclude" attribute selector ... Post-Conditions: none @@ -101,7 +101,7 @@ GET NS Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET NS Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -114,7 +114,7 @@ GET NS Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET NS Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails when using invalid resource endpoint ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -127,7 +127,7 @@ Create new NS Performance Monitoring Job ... Test title: Create a new NS Performance Monitoring Job ... Test objective: The objective is to test the creation of a new NS performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS Performance Job is successfully created on the NFVO @@ -141,7 +141,7 @@ PUT all NS Performance Monitoring Jobs - Method not implemented ... Test title: PUT all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -153,7 +153,7 @@ PATCH all NS Performance Monitoring Jobs - Method not implemented ... Test title: PATCH all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -165,7 +165,7 @@ DELETE all NS Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all NS Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete NS Performance Monitoring Jobs ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -177,7 +177,7 @@ GET all NS Performance Monitoring Jobs as Paged Response ... Test title: GET all NS Performance Monitoring Jobs as Paged Response ... Test objective: The objective is to test the retrieval of all the available NS performance monitoring jobs as paged response. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -190,7 +190,7 @@ GET NS Performance Monitoring Jobs - Bad Request Response too Big ... Test title: GET NS Performance Monitoring Jobs - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NS performance monitoring jobs fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -203,7 +203,7 @@ GET all NS Performance Monitoring Jobs with "fields" and "exclude_default" attri ... Test title: GET all NS Performance Monitoring Jobs with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to test the retrieval of all NS performance monitoring jobs "fields" and "exclude_default" attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued selector ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the use of "include" attribute selector ... Post-Conditions: none @@ -217,7 +217,7 @@ POST new NS Performance Monitoring Job - Unprocessable Content ... Test title: POST new NS Performance Monitoring Job - Unprocessable Content ... Test objective: The objective is to test the creation of a new NS performance monitoring job fails when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -230,7 +230,7 @@ GET all NS Performance Monitoring Jobs with permitted authorization scope ... Test title: GET all NS Performance Monitoring Jobs with permitted authorization scope ... Test objective: The objective is to test the retrieval of all the available NS performance monitoring jobs with permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -244,7 +244,7 @@ GET all NS Performance Monitoring Jobs with not permitted authorization scope ... Test title: GET all NS Performance Monitoring Jobs with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of all the available NS performance monitoring jobs fails when using not permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance jobs are set in the NFVO. - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/Thresholds.robot b/SOL005/NSPerformanceManagement-API/Thresholds.robot index 2c71268f3021fcd3c68912fb45bc2774f77dd929..f28c0075249ee4809679b9578679ad2879989f82 100644 --- a/SOL005/NSPerformanceManagement-API/Thresholds.robot +++ b/SOL005/NSPerformanceManagement-API/Thresholds.robot @@ -18,7 +18,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -31,7 +31,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -58,7 +58,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ Create new Performance Threshold ... Test title: Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NS performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A NS instance is instantiated. - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS performance Threshold is successfully created on the NFVO @@ -86,7 +86,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -98,7 +98,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -110,7 +110,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NS performance Thresholds ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ GET All Performance Thresholds as Paged Response ... Test title: GET All Performance Thresholds as Paged Response ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds as paged response. ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ GET Performance Thresholds - Bad Request Response too Big ... Test title: GET Performance Thresholds - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NS performance thresholds fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ POST new Performance Threshold - Unprocessable Content ... Test title: POST new Performance Threshold - Unprocessable Content ... Test objective: The objective is to test the creation of a new NS performance threshold fails when a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: A NS instance is instantiated. - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -161,7 +161,7 @@ GET All Performance Thresholds with permitted authorization scope ... Test title: GET All Performance Thresholds with permitted authorization scope ... Test objective: The objective is to test the retrieval of all the available NS performance thresholds with permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -174,7 +174,7 @@ GET All Performance Thresholds with not permitted authorization scope ... Test title: GET All Performance Thresholds with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of all the available NS performance thresholds fails when using not permitted authorization scope ... Pre-conditions: A NS instance is instantiated. One or more NS performance thresholds are set in the NFVO. - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSPerformanceManagement-API/schemas/PmJob.schema.json b/SOL005/NSPerformanceManagement-API/schemas/PmJob.schema.json index 6bfc2454e4f7364db2cea9c024b6bcc6a3db1106..9f0f672541c2bb04e9e9edfd5da854e4c07e0119 100644 --- a/SOL005/NSPerformanceManagement-API/schemas/PmJob.schema.json +++ b/SOL005/NSPerformanceManagement-API/schemas/PmJob.schema.json @@ -2,135 +2,204 @@ "description": "This type represents a PM job.\n", "type": "object", "required": [ - "id", - "objectInstanceIds", - "criteria" + "id", + "objectType", + "objectInstanceIds", + "criteria", + "callbackUri", + "_links" ], "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the NS instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\n", - "type": "object", - "required": [ - "collectionPeriod", - "reportingPeriod" - ], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances. At least one of the two attributes (performance metric or group) shall be present.\n", + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectType": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + }, + "objectInstanceIds": { + "description": "Identifiers of the measured object instances for which performance information is collected. \n", "type": "array", "items": { - "description": "This type represents stack of string values\n", - "type": "string" + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", + }, + "subObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 6.2 of ETSI GS NFV-IFA 027 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 6.2 of ETSI GS NFV IFA 027 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\n", "type": "array", "items": { - "description": "This type represents stack of string values\n", - "type": "string" + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. \n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": [ - "href", - "readyTime", - "_links" - ], - "properties": { - "href": { + }, + "criteria": { + "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\nNOTE 1:\tAt the end of each reportingPeriod, the API producer inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one.\nNOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. reporting period are reported together.\n", + "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], + "properties": { + "performanceMetric": { + "description": "This defines the types of performance metrics for the specified object instances. Valid values are specified as \"Measurement Name\" values in clause 7.3 of ETSI GS NFV-IFA 027. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + }, + "performanceMetricGroup": { + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the API producer that it can decompose to individual metrics. Valid values are specified as \"Measurement Group\" values in clause 7.3 of ETSI GS NFV-IFA 027. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + }, + "collectionPeriod": { + "description": "Specifies the periodicity at which the API producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "reportingPeriod": { + "description": "Specifies the periodicity at which the API producer will report to the API consumer. about performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "reportingBoundary": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } + }, + "callbackUri": { "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", - "format": "date-time" - }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" - }, - "_links": { - "description": "Links for this resource.\n", + "format": "uri" + }, + "reports": { + "description": "Information about available reports collected by this PM job.\n", "type": "object", "required": [ - "self" + "href", + "readyTime", + "_links" ], "properties": { - "self": { - "description": "This type represents a link to a resource.\n", + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "readyTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "expiryTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "fileSize": { + "description": "The size of the report file in bytes, if known.\n", + "type": "integer", + "minimum": 0 + } + } + }, + "pmJobConnection": { + "description": "An access information and interface information of PM job to monitor the PM of VNF instance by the VNFM. This can include for instance certain interface endpoint URI together with necessary credentials to access it.\n", + "type": "array", + "items": { + "description": "This type represents a MonitoringConnection.\nNOTE: The VNFM can be made aware of monitoring connection information, including their identifiers to be used by configuration means outside the scope of the present document (e.g. using relevant NFV-MANO management APIs as defined in ETSI GS NFV-SOL 009). \n", "type": "object", "required": [ - "href" + "id", + "monitoringType" ], "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "monitoringType": { + "description": "Type of monitoring way. VALUES: • VIM_CISM • EXTERNAL • PAAS\n", + "type": "string", + "enum": [ + "VIM_CISM", + "EXTERNAL", + "PAAS" + ] + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "paasServiceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "accessInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extra": { + "description": "Type specific additional information, if applicable.\n", + "type": "string" + } } - }, - "objects": { - "description": "Links to resources representing the NS instances for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "objects": { + "description": "Links to resources representing the measure object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } } - } } - } } - } } - } } } \ No newline at end of file diff --git a/SOL005/NSPerformanceManagement-API/schemas/PmJobs.schema.json b/SOL005/NSPerformanceManagement-API/schemas/PmJobs.schema.json index 7a05ce7ed2c6b9b06e5dc44db8d61c39784e4e79..1494a7e71662d19e364f82d30712e824aa5ec984 100644 --- a/SOL005/NSPerformanceManagement-API/schemas/PmJobs.schema.json +++ b/SOL005/NSPerformanceManagement-API/schemas/PmJobs.schema.json @@ -1,139 +1,208 @@ { "type": "array", "items": { - "description": "This type represents a PM job.\n", - "type": "object", - "required": [ - "id", - "objectInstanceIds", - "criteria" - ], - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the NS instances for which performance information is collected.\n", - "type": "array", - "items": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\n", - "type": "object", - "required": [ - "collectionPeriod", - "reportingPeriod" - ], - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified object instances. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", + "description": "This type represents a PM job.\n", + "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceIds", + "criteria", + "callbackUri", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", "type": "string" - } }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "description": "This type represents stack of string values\n", + "objectType": { + "description": "A string as defined in IETF RFC 8259.\n", "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the consumer. about performance information. The unit shall be seconds. At the end of each reportingPeriod, the producer will inform the consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. \n", - "type": "integer", - "minimum": 0, - "default": 0 }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - } - } - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "object", - "required": [ - "href", - "readyTime", - "_links" - ], - "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + "objectInstanceIds": { + "description": "Identifiers of the measured object instances for which performance information is collected. \n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "subObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 6.2 of ETSI GS NFV-IFA 027 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 6.2 of ETSI GS NFV IFA 027 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\n", + "type": "array", + "items": { + "description": "An identifier that is unique with respect to a NS. Representation: string of variable length.\n", + "type": "string" + } }, - "expiryTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "criteria": { + "description": "This type represents collection criteria for PM jobs. It shall comply with the provisions defined in Table 7.5.3.3-1.\nNOTE 1:\tAt the end of each reportingPeriod, the API producer inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one.\nNOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity. reporting period are reported together.\n", + "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], + "properties": { + "performanceMetric": { + "description": "This defines the types of performance metrics for the specified object instances. Valid values are specified as \"Measurement Name\" values in clause 7.3 of ETSI GS NFV-IFA 027. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + }, + "performanceMetricGroup": { + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the API producer that it can decompose to individual metrics. Valid values are specified as \"Measurement Group\" values in clause 7.3 of ETSI GS NFV-IFA 027. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + } + }, + "collectionPeriod": { + "description": "Specifies the periodicity at which the API producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "reportingPeriod": { + "description": "Specifies the periodicity at which the API producer will report to the API consumer. about performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "reportingBoundary": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + } + } }, - "fileSize": { - "description": "The size of the report file in bytes, if known.\n", - "type": "integer" + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "required": [ - "self" - ], - "properties": { - "self": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { + "reports": { + "description": "Information about available reports collected by this PM job.\n", + "type": "object", + "required": [ + "href", + "readyTime", + "_links" + ], + "properties": { "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string", + "format": "uri" + }, + "readyTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "expiryTime": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "fileSize": { + "description": "The size of the report file in bytes, if known.\n", + "type": "integer", + "minimum": 0 } - } - }, - "objects": { - "description": "Links to resources representing the NS instances for which performance information is collected. Shall be present if the NS instance information is accessible as a resource.\n", - "type": "array", - "items": { - "description": "This type represents a link to a resource.\n", + } + }, + "pmJobConnection": { + "description": "An access information and interface information of PM job to monitor the PM of VNF instance by the VNFM. This can include for instance certain interface endpoint URI together with necessary credentials to access it.\n", + "type": "array", + "items": { + "description": "This type represents a MonitoringConnection.\nNOTE: The VNFM can be made aware of monitoring connection information, including their identifiers to be used by configuration means outside the scope of the present document (e.g. using relevant NFV-MANO management APIs as defined in ETSI GS NFV-SOL 009). \n", "type": "object", "required": [ - "href" + "id", + "monitoringType" ], "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "monitoringType": { + "description": "Type of monitoring way. VALUES: • VIM_CISM • EXTERNAL • PAAS\n", + "type": "string", + "enum": [ + "VIM_CISM", + "EXTERNAL", + "PAAS" + ] + }, + "vimId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "paasServiceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "interfaceInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "accessInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "extra": { + "description": "Type specific additional information, if applicable.\n", + "type": "string" + } + } + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "required": [ + "self" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "objects": { + "description": "Links to resources representing the measure object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } } - } } - } } - } } - } } } \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot b/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot index 2bfc5170428268dbb3b8a112b0a7c0acbb782837..8b631c345fc7b9bcd80533a2217a46de3ddce86c 100644 --- a/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot +++ b/SOL005/VNFPackageManagement-API/AccessConfigurationForExternalArtifacts.robot @@ -11,7 +11,7 @@ Get Access configuration for external artifacts ... Test title: Get Access configuration for external artifacts ... Test objective: The objective is to test the GET method reads the access configuration information that is used by the NFVO to get the content of external VNF package artifacts and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Access configuration for external artifacts - Not Found ... Test title: Get Access configuration for external artifacts - Not Found ... Test objective: The objective is to test that the retrieval of access configuration information that is used by the NFVO to get the content of external VNF package artifacts fails because resource is not present. ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT Access configuration for external artifacts ... Test title: Access configuration for external artifacts ... Test objective: The objective is to test that PUT method provides the access configuration information for the NFVO to download the content of external VNF package artifacts. ... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute shall equal to "CREATED" or "ERROR" - ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Access configuration for external artifacts - Downloading ... Test title: Access configuration for external artifacts - Downloading ... Test objective: The objective is to test that VNF package has been uploaded successfully previously, to indicate that the access configuration information has been stored successfully by the NFVO and the NFVO now starts downloading external artifacts. ... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute shall equal to "CREATED" or "ERROR" - ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Access configuration for external artifacts - Conflict ... Test title: Access configuration for external artifacts ... Test objective: The objective is to test that PUT method provides the access configuration information for the NFVO to download the content of external VNF package artifacts. ... Pre-conditions: the individual VNF package resource shall have been created, and the value of "onboardingState" attribute is neither "CREATED" nor "ERROR" - ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ POST Access configuration for external artifacts - Method not implemented ... Test title: POST Access configuration for external artifacts - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create access configuration for external artifacts ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ PATCH Access configuration for external artifacts - Method not implemented ... Test title: PATCH Access configuration for external artifacts - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update access configuration for external artifacts ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ DELETE Access configuration for external artifacts - Method not implemented ... Test title: DELETE Access configuration for external artifacts - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete access configuration for external artifacts ... Pre-conditions: none - ... Reference: Clause 9.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -113,7 +113,7 @@ Get Access configuration for external artifacts with permitted authorization sco ... Test title: Get Access configuration for external artifacts with permitted authorization scope ... Test objective: The objective is to test the GET method reads the access configuration information that is used by the NFVO to get the content of external VNF package artifacts with permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -126,7 +126,7 @@ Get Access configuration for external artifacts with not permitted authorization ... Test title: Get Access configuration for external artifacts with not permitted authorization scope ... Test objective: The objective is to test that the GET method to read the access configuration information fails when using not permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/IndividualSubscription.robot b/SOL005/VNFPackageManagement-API/IndividualSubscription.robot index 1a27c4e7730be352b9acabab94ae451a3d42a826..1da33107e6ce81a9cfb78dd160bacec7568e6904 100644 --- a/SOL005/VNFPackageManagement-API/IndividualSubscription.robot +++ b/SOL005/VNFPackageManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual VNF Package Subscription ... Test title: GET Individual VNF Package Subscription ... Test objective: The objective is to test the retrieval of individual VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Individual VNF Package Subscription with invalid resource identifier ... Test title: GET Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ DELETE Individual VNF Package Subscription with invalid resource identifier ... Test title: DELETE Individual VNF Package Subscription with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF package subscription fails when using an invalid resource identifier ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ POST Individual VNF Package Subscription - Method not implemented ... Test title: POST Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Package Subscription ... Pre-conditions: none - ... Reference: Clause 9.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Individual VNF Package Subscription - Method not implemented ... Test title: PUT Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH Individual VNF Package Subscription - Method not implemented ... Test title: PATCH Individual VNF Package Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF Package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Individual VNF Package Subscription ... Test title: DELETE Individual VNF Package Subscription ... Test objective: The objective is to test the deletion of an individual VNF package subscription ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Subscription is not available anymore in the NFVO @@ -101,7 +101,7 @@ GET Individual VNF Package Subscription with permitted authorization scope ... Test title: GET Individual VNF Package Subscription with permitted authorization scope ... Test objective: The objective is to test the retrieval of individual VNF package subscription with permitted authorization scope ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET Individual VNF Package Subscription with not permitted authorization scope ... Test title: GET Individual VNF Package Subscription with not permitted authorization scope ... Test objective: The objective is to test the retrieval of individual VNF package subscription fails when using not permitted authorization scope ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.9.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot index 3b071cb1dd680eb0cc9d6e1d57e67abb9ed05779..a1db021a511eddd95dfa94f99c2afb0bd184f415 100644 --- a/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot @@ -11,7 +11,7 @@ GET Individual VNF Package ... Test title: GET Individual VNF Package ... Test objective: The objective is to test the retrieval of an individual VNF package information perform a JSON schema validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual VNF Package with invalid resource identifier ... Test title: GET Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Individual VNF Package - Method not implemented ... Test title: POST Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package ... Pre-conditions: none - ... Reference: Clause 9.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Individual VNF Package - Method not implemented ... Test title: PUT Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ Disable Individual VNF Package ... Test title: Disable Individual VNF Package ... Test objective: The objective is to test the disabling of an individual VNF Package and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state. - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is in operational state DISABLED @@ -77,7 +77,7 @@ Disable Individual VNF Package with conflict due to operational state DISABLED ... Test title: Disable Individual VNF Package with conflict due to operational state DISABLED ... Test objective: The objective is to test that disabling an individual VNF Package that is already in DISABLED operational state fails and perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.5.2.5). - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ Enable Individual VNF Package ... Test title: Enable Individual VNF Package ... Test objective: The objective is to test the enabling of an individual VNF Package and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in DISABLED operational state (Test ID 5.3.5.2.5). - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is in operational state ENABLED @@ -104,7 +104,7 @@ Enable Individual VNF Package with conflict due to operational state ENABLED ... Test title: Enable Individual VNF Package with conflict due to operational state ENABLED ... Test objective: The objective is to test that enabling an individual VNF Package that is already in ENABLED operational state fails and perform a JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.5.2.7). - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ DELETE Individual VNF Package ... Test title: DELETE Individual VNF Package ... Test objective: The objective is to test the deletion of an individual VNF Package ... Pre-conditions: One or more VNF packages are onboarded in the NFVO in DISABLED operational state - ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not available anymore in the NFVO @@ -130,7 +130,7 @@ DELETE Individual VNF Package in operational state ENABLED ... Test title: DELETE Individual VNF Package in operational state ENABLED ... Test objective: The objective is to test that the deletion of an individual VNF Package in operational state ENABLED fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more VNF Package are onboarded in the NFVO in ENABLED operational state (Test ID 5.3.1.2.7). - ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not deleted by the failed operation. @@ -144,7 +144,7 @@ DELETE Individual VNF Package used for instantiated VNF instances ... Test title: DELETE Individual VNF Package used for instantiated VNF instances ... Test objective: The objective is to test that the deletion of an individual VNF Package that is used in instantiated VNF instances fails. The test also performs a JSON schema validation of the failed operation HTTP response. ... Pre-conditions: One or more VNF instances are instantiated based on the concerned VNF package. - ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is not deleted by the failed operation. @@ -158,7 +158,7 @@ Disable Individual VNF Package with permitted authorization scope ... Test title: Disable Individual VNF Package with permitted authorization scope ... Test objective: The objective is to test the disabling of an individual VNF Package with permitted authorization scope ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state. - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package is in operational state DISABLED @@ -172,7 +172,7 @@ Disable Individual VNF Package with not permitted authorization scope ... Test title: Disable Individual VNF Package with not permitted authorization scope ... Test objective: The objective is to test that the disabling of an individual VNF Package fails when using not permitted authorization scope ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO in ENABLED operational state. - ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot b/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot index e776f0254af75c0391457a20fa84c82d8c11e088..348a32cc63add7e6f8193390fc240ad93505d670 100644 --- a/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot +++ b/SOL005/VNFPackageManagement-API/IndividualVNFPackageArtifacts.robot @@ -11,7 +11,7 @@ GET Individual VNF Package Artifact ... Test title: GET Individual VNF Package Artifact ... Test objective: The objective is to test the retrieval of an individual VNF package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual VNF Package Artifact in octet stream format ... Test title: GET Individual VNF Package Artifact in octet stream format ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when the NFVO cannot determine the artifact content type. The test performs a validation that the returned artifcat in is octet-stream format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO cannot determine the content type of the artifact ... Post-Conditions: none @@ -36,7 +36,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package artifact when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -50,7 +50,7 @@ GET Individual VNF Package Artifact with Range Request and NFVO not supporting R ... Test title: GET Individual VNF Package Artifact with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package artifact. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -62,7 +62,7 @@ GET Individual VNF Package Artifact with invalid Range Request ... Test title: GET Individual VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -74,7 +74,7 @@ GET Individual VNF Package Artifact with invalid resource identifier ... Test title: GET Individual VNF Package Artifact with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ GET Individual VNF Package Artifact with conflict due to onboarding state ... Test title: GET Individual VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package artifact fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Individual VNF Package Artifact - Method not implemented ... Test title: POST Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 9.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ PUT Individual VNF Package Artifact - Method not implemented ... Test title: PUT Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ PATCH Individual VNF Package Artifact - Method not implemented ... Test title: PATCH Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -136,7 +136,7 @@ DELETE Individual VNF Package Artifact - Method not implemented ... Test title: DELETE Individual VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ GET Individual VNF Package Artifact with permitted authorization scope ... Test title: GET Individual VNF Package Artifact with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual VNF package artifact with permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -160,7 +160,7 @@ GET Individual VNF Package Artifact with not permitted authorization scope ... Test title: GET Individual VNF Package Artifact with not permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual VNF package artifact fails when using not permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.7.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot index 1815de9bf09f9b64902dabb0e3a77e013b6cedbc..87d165b929eb265e9485143c1041a201f4bb0210 100644 --- a/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/ManifestInIndividualVNFPackage.robot @@ -11,7 +11,7 @@ Get Manifest in Individual VNF Package ... Test title: Get Manifest in Individual VNF Package ... Test objective: The objective is to test that content of manifest within a NVF Package is read successfully. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Manifest in Individual VNF Package with security information ... Test title: Get Manifest in Individual VNF Package with security information ... Test objective: The objective is to test the retrieval of the Manifest in individual VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Get Manifest in Individual VNF Package - Not Acceptable ... Test title: Get Manifest in Individual VNF Package - Not Acceptable ... Test objective: The objective is to test that the "Accept" header is not compatible with Content type "application/zip" but "incude_signature" is provided.\ ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ Get Manifest in Individual VNF Package - Conflict ... Test title: Get Manifest in Individual VNF Package - Conflict ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the resource. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Manifest in Individual VNF Package - Method not implemented ... Test title: POST Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new Manifest ... Pre-conditions: none - ... Reference: Clause 9.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Manifest in Individual VNF Package - Method not implemented ... Test title: PUT Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a Manifest ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Manifest in Individual VNF Package - Method not implemented ... Test title: PATCH Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a Manifest ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ DELETE Manifest in Individual VNF Package - Method not implemented ... Test title: DELETE Manifest in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a Manifest ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ Get Manifest in Individual VNF Package with permitted authorization scope ... Test title: Get Manifest in Individual VNF Package with permitted authorization scope ... Test objective: The objective is to test that content of manifest within a NVF Package is read successfully with permitted authorization scope. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ Get Manifest in Individual VNF Package with not permitted authorization scope ... Test title: Get Manifest in Individual VNF Package with not permitted authorization scope ... Test objective: The objective is to test that content of manifest within a NVF Package fails when using not permitted authorization scope. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4b.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot b/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot index edb0d5a56c32f9f0b922681ce295cd8f2647e02a..1c3e46bf7de1ee26628c5f907cbef30e11c4e659 100644 --- a/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot +++ b/SOL005/VNFPackageManagement-API/NotificationEndpoint.robot @@ -14,7 +14,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test that VNF Package Onboarding Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ VNF Package Change Notification ... Test title: VNF Package Change Notification ... Test objective: The objective is to test that VNF Package Change Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/Notifications.robot b/SOL005/VNFPackageManagement-API/Notifications.robot index f31ef8dca7b2b1fff2874434416e0ffe150f822f..b7618d1d8f95446ab3c3528986c0d939693a3769 100644 --- a/SOL005/VNFPackageManagement-API/Notifications.robot +++ b/SOL005/VNFPackageManagement-API/Notifications.robot @@ -16,7 +16,7 @@ VNF Package Onboarding Notification ... Test title: VNF Package Onboarding Notification ... Test objective: The objective is to test the dispatch of VNF Package Onboarding notification when the VNF package onboarding operation is successfully completed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ VNF Package Operational State Change Notification ... Test title: VNF Package Operational State Change Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package operational state is modified, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ VNF Package Deletion Notification ... Test title: VNF Package Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Package Change notification when the VNF package is deleted on the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF package subscription for change notifications is available in the NFVO. - ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/Subscriptions.robot b/SOL005/VNFPackageManagement-API/Subscriptions.robot index e64445da2319059c7b58450aea861f0e4e733898..e210a47532bcfe15c449b65a90c8843466da0836 100644 --- a/SOL005/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL005/VNFPackageManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ Get All VNF Package Subscriptions ... Test title: GET all VNF Package Subscriptions ... Test objective: The objective is to test the retrieval of all VNF package subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Get VNF Package Subscriptions with attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF package subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -43,7 +43,7 @@ Get VNF Package Subscriptions with invalid attribute-based filter ... Test title: Get VNF Package Subscriptions with attribute-based filters ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -56,7 +56,7 @@ GET VNF Package Subscription with invalid resource endpoint ... Test title: GET VNF Package Subscription with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF package subscriptions fails when using invalid resource endpoint. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ Create new VNF Package subscription ... Test title: Create new VNF Package subscription ... Test objective: The objective is to test the creation of a new VNF package subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF package subscription is successfully set and it matches the issued subscription @@ -85,7 +85,7 @@ Create duplicated VNF Package subscription with NFVO not creating duplicated sub ... Test title: Create duplicated VNF Package subscription with NFVO not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated VNF package subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing VNF package subscription returned is available in the NFVO @@ -101,7 +101,7 @@ Create duplicated VNF Package subscription with NFVO creating duplicated subscri ... Test title: Create duplicated VNF Package subscription with NFVO creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated VNF package subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated VNF package subscription is successfully set and it matches the issued subscription @@ -116,7 +116,7 @@ PUT VNF Package Subscriptions - Method not implemented ... Test title: PUT VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH VNF Package Subscriptions - Method not implemented ... Test title: PATCH VNF Package Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF package subscriptions ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -151,7 +151,7 @@ Get All VNF Package Subscriptions as Paged Response ... Test title: GET all VNF Package Subscriptions as Paged Response ... Test objective: The objective is to test the retrieval of all VNF package subscriptions as paged response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -164,7 +164,7 @@ Get VNF Package Subscriptions - Bad Request Response too Big ... Test title: Get VNF Package Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF package subscriptions fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -177,7 +177,7 @@ Get All VNF Package Subscriptions with permitted authorization scope ... Test title: GET all VNF Package Subscriptions with permitted authorization scope ... Test objective: The objective is to test the retrieval of all VNF package subscriptions with permitted authorization scope ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -190,7 +190,7 @@ Get All VNF Package Subscriptions with not permitted authorization scope ... Test title: GET all VNF Package Subscriptions with not permitted authorization scope ... Test objective: The objective is to test the retrieval of all VNF package subscriptions fails when using not permitted authorization scope ... Pre-conditions: At least one VNF package subscription is available in the NFVO. - ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot b/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot index 6507002eb5a8131041a3167864e103e08c418b07..df555eb8a3ed509faa551c8dce8f1cee71a343f3 100644 --- a/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot +++ b/SOL005/VNFPackageManagement-API/VNFDInIndividualVNFPackage.robot @@ -22,7 +22,7 @@ Get VNFD in Individual VNF Package in Zip Format ... Test title: Get VNFD in Individual VNF Package in Zip Format ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ Get VNFD in Individual VNF Package with invalid resource identifier ... Test title: Get VNFD in Individual VNF Package with invalid resource identifier ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF Package fails when using an invalid resource identifier ... Pre-conditions: none - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ Get VNFD in Individual VNF Package with conflict due to onboarding state ... Test title: Get VNFD in Individual VNF Package with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of the VNFD for an individual VNF Package fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the VNFD is requested is different from ONBOARDED. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ POST VNFD in Individual VNF Package - Method not implemented ... Test title: POST VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNFD ... Pre-conditions: none - ... Reference: Clause 9.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ PUT VNFD in Individual VNF Package - Method not implemented ... Test title: PUT VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -118,7 +118,7 @@ PATCH VNFD in Individual VNF Package - Method not implemented ... Test title: PATCH VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ DELETE VNFD in Individual VNF Package - Method not implemented ... Test title: DELETE VNFD in Individual VNF Package - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNFD ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ Get VNFD in Individual VNF Package with security information ... Test title: Get VNFD in Individual VNF Package with security information ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package shall include in the ZIP archive the security information when requested with "include_signature" parameter, and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -155,7 +155,7 @@ Get VNFD in Individual VNF Package in Zip Format with permitted authorization sc ... Test title: Get VNFD in Individual VNF Package in Zip Format with permitted authorization scope ... Test objective: The objective is to test the retrieval of the VNFD in zip format for an individual VNF package with permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ Get VNFD in Individual VNF Package in Zip Format with not permitted authorizatio ... Test title: Get VNFD in Individual VNF Package in Zip Format with not permitted authorization scope ... Test objective: The objective is to test that the retrieval of the VNFD in zip format for an individual VNF package fails when using not permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot b/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot index d7624582ea60cdefe4e991419584bbc45de92e75..6271a580a79286a134acbbef6969de7f45605a3d 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageArtifacts.robot @@ -12,7 +12,7 @@ Get VNF Package Artifact ... Test title: Get VNF Package Artifact ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Get VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test title: Get VNF Package Artifact with "exclude_all_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and it doesnot contain additional MANO artifacts when requested with "exclude_all_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ Get VNF Package Artifact with "exclude_all_non_mano_artifacts" parameter ... Test title: Get VNF Package Artifact with "exclude_all_non_mano_artifacts" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and it doesnot contain non-MANO Artifacts when requested with "exclude_all_non_mano_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ Get VNF Package Artifact with "select_non_mano_artifact_sets" parameter ... Test title: Get VNF Package Artifact with "select_non_mano_artifact_sets" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain non_MANO artifacts set when requested with "select_non_mano_artifact_sets" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ Get VNF Package Artifact with "include_signatures" parameter ... Test title: Get VNF Package Artifact with "include_signatures" parameter ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully and also contain security certificates when requested with "include_signature" parameter, and perform a validation that returned content is in Zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ Get VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test title: Get VNF Package Artifact with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the GET request read the whole content of the archive containing the artifact files successfully when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -91,7 +91,7 @@ Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artif ... Test title: Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "select_non_mano_artifact_sets" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when both "exclude_all_non_mano_artifacts" and "select_non_mano_artifact_sets" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artif ... Test title: Get VNF Package Artifact with invalid URI parameters "exclude_all_non_mano_artifacts", "exclude_all_mano_artifactss" ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when both "exclude_all_non_mano_artifacts" and "exclude_all_mano_artifacts" are present in request ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ Get VNF Package Artifact with invalid URI parameters undifend select_non_mano_ar ... Test title: Get VNF Package Artifact with invalid URI parameters undefined select_non_mano_artifact_sets ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when one or more value provided in "select_non_mano_artifact_sets" are not provided in Manifest. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -130,7 +130,7 @@ Get VNF Package Artifact with conflict due to onboarding state ... Test title: Get VNF Package Artifact with conflict due to onboarding state ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -143,7 +143,7 @@ GET VNF Package Artifact with invalid Range Request ... Test title: GET VNF Package Artifact with invalid Range Request ... Test objective: The objective is to test that the GET request to read the whole content of the archive containing the artifact files fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package artifact ... Post-Conditions: none @@ -156,7 +156,7 @@ POST VNF Package Artifact - Method not implemented ... Test title: POST VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package artifact ... Pre-conditions: none - ... Reference: Clause 9.4.5a.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT VNF Package Artifact - Method not implemented ... Test title: PUT VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -180,7 +180,7 @@ PATCH VNF Package Artifact - Method not implemented ... Test title: PATCH VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE VNF Package Artifact - Method not implemented ... Test title: DELETE VNF Package Artifact - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package artifact ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -204,7 +204,7 @@ Get VNF Package Artifact with "include_external_artifacts" parameter ... Test title: Get VNF Package Artifact with "include_external_artifacts" parameter ... Test objective: The objective is to test that GET request reads the whole content of the archive containing the external artifacts successfully when requested with "include_external_artifacts" parameter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -217,7 +217,7 @@ Get VNF Package Artifact with permitted authorization scope ... Test title: Get VNF Package Artifact with permitted authorization scope ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files successfully with permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -230,7 +230,7 @@ Get VNF Package Artifact with not permitted authorization scope ... Test title: Get VNF Package Artifact with not permitted authorization scope ... Test objective: The objective is to test that the GET request read the whole content of the archive containing the artifact files fails when using not permitted authorization scope ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5a.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackageContent.robot b/SOL005/VNFPackageManagement-API/VNFPackageContent.robot index 78e7d82b4a79064527315f820b88cd00ae6465e1..b32069b839d269e48ef9145dd487ba1da9c45798 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageContent.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageContent.robot @@ -12,7 +12,7 @@ GET Individual VNF Package Content ... Test title: GET Individual VNF Package Content ... Test objective: The objective is to test the retrieval of an individual VNF package content and perform a validation that returned content is in zip format ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual VNF Package Content with Range Request and NFVO supporting Range ... Test title: GET Individual VNF Package Content with Range Request and NFVO supporting Range Requests ... Test objective: The objective is to test the retrieval of an individual VNF package content when using a range request to return single range of bytes from the file, with the NFVO supporting it. The test also perform a validation that returned content matches the issued range ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Individual VNF Package Content with Range Request and NFVO not supporting Ra ... Test title: GET Individual VNF Package Content with Range Request and NFVO not supporting Range Requests ... Test objective: The objective is to test that the retrieval of an individual VNF package content, when using a range request to return single range of bytes from the file and the NFVO not supporting it, returns the full VNF Package file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO does not support range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Individual VNF Package Content with invalid Range Request ... Test title: GET Individual VNF Package Content with invalid Range Request ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using a range request that does not match any available byte range in the file. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports range requests to return single range of bytes from the VNF package file ... Post-Conditions: none @@ -65,7 +65,7 @@ GET Individual VNF Package Content with invalid resource identifier ... Test title: GET Individual VNF Package Content with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails when using an invalid resource identifier ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ GET Individual VNF Package Content with conflict due to onboarding state ... Test title: GET Individual VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the retrieval of an individual VNF package content fails due to a conflict when the VNF Package is not in onboarding state ONBOARDED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF package for which the content is requested is different from ONBOARDED. - ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ POST Individual VNF Package Content - Method not implemented ... Test title: POST Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF Package content ... Pre-conditions: none - ... Reference: Clause 9.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ Upload VNF Package Content ... Test title: Upload VNF Package Content ... Test objective: The objective is to test the upload of a VNF Package Content in Zip format. ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package content is successfully uploaded and available in the NFVO @@ -116,7 +116,7 @@ Upload VNF Package Content with conflict due to onboarding state ... Test title: Upload VNF Package Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the VNF Package Content fails due to a conflict when the VNF Package is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF Package for which the content is requested is different from CREATED. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH Individual VNF Package Content - Method not implemented ... Test title: PATCH Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ DELETE Individual VNF Package Content - Method not implemented ... Test title: DELETE Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -153,7 +153,7 @@ Upload VNF Package Content with permitted authorization scope ... Test title: Upload VNF Package Content with permitted authorization scope ... Test objective: The objective is to test the upload of a VNF Package Content in Zip format with permitted authorization scope. ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package content is successfully uploaded and available in the NFVO @@ -166,7 +166,7 @@ Upload VNF Package Content with not permitted authorization scope ... Test title: Upload VNF Package Content with not permitted authorization scope ... Test objective: The objective is to test the upload of a VNF Package Content in Zip format fails when using not permitted authorization scope. ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.5.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot b/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot index 46655346dbd2785855f9310a60e614ac6f6a6f1a..4e8e6adda8a29a035d94d0f43eebac7d796ef988 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageContentViaURI.robot @@ -12,7 +12,7 @@ Upload VNF Package Content from URI ... Test title: Upload VNF Package Content from URI ... Test objective: The objective is to test the upload of a VNF Package Content from URI. ... Pre-conditions: One or more VNF Packages are in onboarding state CREATED in the NFVO. - ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ Upload VNF Package Content from URI with conflict due to onboarding state ... Test title: Upload VNF Package Content from URI with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the VNF Package Content from URI fails due to a conflict when the VNF Package is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the VNF Package for which the content is requested is different from CREATED. - ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual VNF Package Content from URI - Method not implemented ... Test title: GET Individual VNF Package Content from URI - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Package Content from URI - Method not implemented ... Test title: PUT Individual VNF Package Content from URI - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual VNF Package Content from URI - Method not implemented ... Test title: PATCH Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual VNF Package Content from URI - Method not implemented ... Test title: DELETE Individual VNF Package Content - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete a VNF Package content from URI ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ Upload VNF Package Content from URI with permitted authorization scope ... Test title: Upload VNF Package Content from URI with permitted authorization scope ... Test objective: The objective is to test the upload of a VNF Package Content from URI with permitted authorization scope. ... Pre-conditions: One or more VNF Packages are in onboarding state CREATED in the NFVO. - ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ Upload VNF Package Content from URI with not permitted authorization scope ... Test title: Upload VNF Package Content from URI with not permitted authorization scope ... Test objective: The objective is to test the upload of a VNF Package Content from URI fails when using not permitted authorization scope. ... Pre-conditions: One or more VNF Packages are in onboarding state CREATED in the NFVO. - ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/VNFPackages.robot b/SOL005/VNFPackageManagement-API/VNFPackages.robot index 0d7f69bd65e0d2524be14a32d48da8716a5f4fd5..6e431f433a9087a5c4ab0258849f59d533d37001 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackages.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackages.robot @@ -11,7 +11,7 @@ GET all VNF Packages ... Test title: GET all VNF Packages ... Test objective: The objective is to test the retrieval of all the available VNF packages information and perform a JSON schema and content validation of the collected data structure ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET VNF Packages with attribute-based filter ... Test title: GET VNF Packages with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF packages using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET VNF Packages with invalid attribute-based filter ... Test title: GET VNF Packages with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -55,7 +55,7 @@ Get all VNF Packages with malformed authorization token ... Test title: Get all VNF Packages Information with malformed authorization token ... Test objective: The objective is to test that the retrieval of VNF Packages fails when using malformed authorization token ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -67,7 +67,7 @@ Get all VNF Packages without authorization token ... Test title: Get all VNF Packages without authorization token ... Test objective: The objective is to test that the retrieval of VNF Packages fails when omitting the authorization token ... Pre-conditions: One or more VNF Packages are onboarded in the NFVO. - ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.5.3.3, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -79,7 +79,7 @@ GET VNF Packages with "all_fields" attribute selector ... Test title: GET VNF Packages with "all_fields" attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "all_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "all_fileds" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET VNF Packages with "exclude_default" attribute selector ... Test title: GET VNF Packages with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_default" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_default" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -107,7 +107,7 @@ GET VNF Packages with "fields" attribute selector ... Test title: GET VNF Packages with fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of fields attribute selector ... Post-Conditions: none @@ -121,7 +121,7 @@ GET VNF Packages with "exclude_fields" attribute selector ... Test title: GET VNF Packages with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of VNF packages with "exclude_fields" attribute selector, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued "exclude_fields" selector ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 4.3.3.2.1, 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -135,7 +135,7 @@ GET all VNF Packages with invalid resource endpoint ... Test title: GET VNF Packages with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF packages fails when using invalid resource endpoint ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -148,7 +148,7 @@ Create new VNF Package Resource ... Test title: Create new VNF Package Resource ... Test objective: The objective is to test the creation of a new VNF Package Resource and perform the JSON schema validation of the returned structure ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Resource is successfully created on the NFVO @@ -164,7 +164,7 @@ PUT all VNF Packages - Method not implemented ... Test title: PUT all VNF Packages - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -176,7 +176,7 @@ PATCH all VNF Packages - Method not implemented ... Test title: PATCH all VNF Packages - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -188,7 +188,7 @@ DELETE all VNF Packages - Method not implemented ... Test title: DELETE all VNF Packages - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete existing VNF Packages ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -200,7 +200,7 @@ GET all VNF Packages as Paged Response ... Test title: GET all VNF Packages as Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF packages information as paged response. ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -213,7 +213,7 @@ GET VNF Packages - Bad Request Response too Big ... Test title: GET VNF Packages - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF packages fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -226,7 +226,7 @@ Create new VNF Package Resource with permitted authorization scope ... Test title: Create new VNF Package Resource with permitted authorization scope ... Test objective: The objective is to test the creation of a new VNF Package Resource with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The VNF Package Resource is successfully created on the NFVO @@ -242,7 +242,7 @@ Create new VNF Package Resource with not permitted authorization scope ... Test title: Create new VNF Package Resource with not permitted authorization scope ... Test objective: The objective is to test that the creation of a new VNF Package Resource fails when using not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v4.5.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v5.1.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/VNFPackageManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml b/SOL005/VNFPackageManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml index 250f1c705d7ff857e9b3873effa2f3855661e50d..2753aebf0e26881942399eb1bf8827403d426c22 100644 --- a/SOL005/VNFPackageManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml +++ b/SOL005/VNFPackageManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml @@ -2,7 +2,7 @@ tosca_definitions_version: tosca_simple_yaml_1_3 description: "TST010 reference VNF-B" imports: - - https://forge.etsi.org/rep/nfv/SOL001/raw/v4.4.1/etsi_nfv_sol001_vnfd_types.yaml + - https://forge.etsi.org/rep/nfv/SOL001/raw/v5.1.1/etsi_nfv_sol001_vnfd_types.yaml metadata: descriptor_id: "VNF-B" @@ -44,7 +44,7 @@ node_types: type: list entry_schema: type: string - default: [ 'etsivnfm:v4.5.1' ] + default: [ 'etsivnfm:v5.1.1' ] interfaces: Vnflcm: type: "tosca.interfaces.nfv.Vnflcm" @@ -153,7 +153,7 @@ topology_template: flavour_id: "VNF-B_flavor" flavour_description: "VNF-B flavor" vnfm_info: - - etsivnfm:v2.3.1 + - etsivnfm:v5.1.1 interfaces: Vnflcm: type: "tosca.interfaces.nfv.Vnflcm"