From 54be3dd8be8fe99b5f30bb08ade37bfed01304d8 Mon Sep 17 00:00:00 2001 From: Francesca Moscatelli Date: Tue, 4 May 2021 16:24:49 +0200 Subject: [PATCH] Minor fixes --- .../SOL002VNFFaultManagement_def.yaml | 6 +- .../SOL002VNFLifecycleManagement_def.yaml | 76 ++++++++++--------- .../VNFPerformanceManagement.yaml | 12 +-- .../SOL003VNFLifecycleManagement_def.yaml | 73 ++++++++---------- .../VNFLifecycleManagementNotification.yaml | 4 +- .../VNFPackageManagement.yaml | 2 + .../SOL003VNFPackageManagement_def.yaml | 1 + src/definitions/SOL002SOL003_def.yaml | 6 ++ src/endpoints/SOL002SOL003_endpoints.yaml | 28 +++++++ 9 files changed, 121 insertions(+), 87 deletions(-) diff --git a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml index 285540b2..65a2a4b2 100644 --- a/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml +++ b/src/SOL002/VNFFaultManagement/definitions/SOL002VNFFaultManagement_def.yaml @@ -28,9 +28,9 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" vnfcInstanceIds: description: > - Identifiers of the affected VNFC instances. - Each identifier references the "id" attribute in a "VnfcInfo" structure. - Shall be present if the alarm affects at least one VNFC instance. + Identifiers of the affected VNFC instances. Each identifier references the + "id" attribute in a "VnfcInfo" structure. Shall be present if the alarm affects + at least one VNFC instance. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf" diff --git a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml index 80e5d1d1..c706704e 100644 --- a/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml +++ b/src/SOL002/VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml @@ -234,28 +234,29 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" extensions: description: > - Additional VNF specific attributes that affect the lifecycle management of this - VNF instance by the VNFM, or the lifecycle management scripts. - These attributes represent values that are stored persistently in the VnfInstance - structure for consumption by the VNFM, or by the lifecycle management scripts - during the execution of VNF lifecycle management operations. - - Modifying the values of these attributes has no direct effect on the VNF instance; - however, the modified attribute values can be considered during subsequent VNF - lifecycle management operations, which means that the modified values can indirectly - affect the configuration of the VNF instance. - - All extensions that are allowed for the VNF shall be declared in the VNFD. - This attribute can be be initialized with default values from VNFD and/or - with values passed in the InstantiateVnfRequest structure (see clause 5.5.2.4). - - A value initialised with default values from the VNFD can be updated with values - passed in the InstantiateVnfRequest structure. - - Further, these attributes can be modified with the PATCH method. - - ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on - TOSCA specifications. + Additional VNF specific attributes that affect the lifecycle management of this VNF instance. + These attributes represent values that are stored persistently in the VnfInstance structure for + consumption by the VNFM, or by the lifecycle management scripts during the execution of VNF + lifecycle management operations. + + All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an + extension in the VNFD contains information on whether its presence is optional or required, + and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject + requests to write extension attributes that are not declared in the VNFD with a "422 Unprocessable + entity" error response as defined in clause 6.4 of ETSI GS NFV SOL 013. + + Modifying the values of these attributes has no direct effect on the VNF instance; however, the + modified attribute values can be considered during subsequent VNF lifecycle management operations, + which means that the modified values can indirectly affect the configuration of the VNF instance. + + These attributes can be initialized with default values from the VNFD (see note 4). + + These attributes can be modified with values passed in the request structures of certain LCM operations, + such as the InstantiateVnfRequest structure. + + Further, these attributes can be created, modified or deleted with the PATCH method. + + In addition, the provisions in clause 5.7 shall apply. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" _links: description: > @@ -386,8 +387,8 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" vnfConfigurableProperties: description: > - If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the - “vnfConfigurableProperties” attribute in the "VnfInstance", as defined in clause 5.5.2.2. + If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the + "vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling configurable properties during the operation are defined in clause 5.4.4.3.1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" @@ -573,7 +574,7 @@ definitions: description: > Additional input parameters for the instantiation process, specific to the VNF being instantiated, as declared in the VNFD as part of - "ChangeExtVnfConnectivityOpConfig".". + "ChangeExtVnfConnectivityOpConfig". $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs" ChangeCurrentVnfPkgRequest: @@ -665,7 +666,7 @@ definitions: vnfcInfoModifications: description: > Modifications of certain entries in the "vnfcInfo" attribute array in the - "instantiatedVnfInfo" attribute of "VnfInstance"." to be used as "newList" as defined below this table. + "instantiatedVnfInfo" attribute of "VnfInstance" to be used as "newList" as defined below this table. type: array items: $ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcInfoModifications" @@ -1251,6 +1252,11 @@ definitions: description: > This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports. + + NOTE: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, + the "networkResource" attribute refers to the affected virtual link instance, not the link port + instance. The resource handles of the affected VNF link ports can be found by dereferencing the + identifiers in the "vnfLinkPortIds" attribute. type: object required: - id @@ -1308,16 +1314,14 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" vnfLinkPortIds: description: > - Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. - Each identifier references a "VnfLinkPortInfo" structure. - Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related - “VnfLinkPortInfo” structures are present (case "added") or have been present (case "removed") in the - “VnfVirtualLinkResourceInfo” or "ExtManagedVirtualLinkInfo" structures that are represented by the - "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the - "vnfLinkPortIds" attribute. + Identifiers of the link ports of the affected VL related to the change. Each identifier references a + "VnfLinkPortInfo" structure. + + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related + "VnfLinkPortInfo" structures are present (case "added") or have been present (case "removed") in the + "VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structures that are represented by the + "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. + See note. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" diff --git a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml index 82129f94..6c82924c 100644 --- a/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml +++ b/src/SOL002/VNFPerformanceManagement/VNFPerformanceManagement.yaml @@ -32,7 +32,7 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: description: | - The client can use this method to retrieve information about PM jobs. + The API consumer can use this method to retrieve information about PM jobs. parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType @@ -114,7 +114,7 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: description: | - The client can use this method for reading an individual PM job. + The API consumer can use this method for reading an individual PM job. parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: @@ -224,7 +224,7 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: description: | - The client can use this method for reading an individual performance report. + The API consumer can use this method for reading an individual performance report. parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept responses: @@ -261,7 +261,7 @@ paths: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization get: description: | - The client can use this method to query information about thresholds. + The API cosumer can use this method to query information about thresholds. parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter @@ -296,7 +296,9 @@ paths: post: description: | - The POST method can be used by the client to create a threshold. As the result of successfully executing this method, a new "Individual threshold" resource as defined in clause 6.4.6 shall have been created. + The POST method can be used by API consumer to create a threshold. + As the result of successfully executing this method, a new + "Individual threshold" resource as defined in clause 6.4.6 shall have been created. parameters: - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept - $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType diff --git a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml index 1afb0e79..9ff98d59 100644 --- a/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml +++ b/src/SOL003/VNFLifecycleManagement/definitions/SOL003VNFLifecycleManagement_def.yaml @@ -2150,6 +2150,15 @@ definitions: description: > This type provides information about added, deleted, modified and temporary VLs, and added or removed VNF link ports. + + NOTE 1: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, + the "networkResource" and "resourceDefinitionId" attributes refer to the affected virtual link + instance, not the link port instance. The resource handles of the affected VNF link ports can be + found by dereferencing the identifiers in the "vnfLinkPortIds" attribute. + NOTE 2: The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to + assist in correlating the resource changes performed during the LCM operation with the granted + resources in a specific Grant exchange, which is identified by the "grantId" available in the + "Individual VNF lifecycle management operation occurrence" and the "id" in the "Individual Grant". type: object required: - id @@ -2174,19 +2183,17 @@ definitions: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier" changeType: description: > - Signals the type of change. Permitted values: - * ADDED - * REMOVED - * MODIFIED - * TEMPORARY - * LINK_PORT_ADDED - * LINK_PORT_REMOVED - For a temporary resource, an AffectedVirtualLink structure exists as - long as the temporary resource exists. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the - "vnfLinkPortIds" attribute. + Signals the type of change. + + Permitted values: + - ADDED + - REMOVED + - MODIFIED + - TEMPORARY + - LINK_PORT_ADDED + - LINK_PORT_REMOVED + For a temporary resource, an AffectedVirtualLink structure exists as long as the temporary resource exists. + See note 1. type: string enum: - ADDED @@ -2197,42 +2204,26 @@ definitions: - LINK_PORT_REMOVED networkResource: description: > - Reference to the VirtualNetwork resource. Detailed information is - (for new and modified resources) or has been (for removed - resources) available from the VIM. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in - the "vnfLinkPortIds" attribute. + Reference to the VirtualNetwork resource. + Detailed information is (for new and modified resources) or has been (for removed resources) available from the VIM. + See note 1. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ResourceHandle" vnfLinkPortIds: description: > - Identifiers of the link ports of the affected VL (reference to the vnfLinkPortInfo) related to the change. - Each identifier references a "VnfLinkPortInfo" structure. - Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related - “VnfLinkPortInfo” structures are present (case "added") or have been present (case "removed") in the - “VnfVirtualLinkResourceInfo” or "ExtManagedVirtualLinkInfo" structures that are represented by the - "vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the - "vnfLinkPortIds" attribute. + Identifiers of the link ports of the affected VL related to the change. Each identifier references a "VnfLinkPortInfo" + structure. + + Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related "VnfLinkPortInfo" + structures are present (case "added") or have been present (case "removed") in the "VnfVirtualLinkResourceInfo" or + "ExtManagedVirtualLinkInfo" structures that are represented by the "vnfVirtualLinkResource¬Info" or "extManagedVirtualLinkInfo" + attribute in the "VnfInstance" structure. See note 1. type: array items: $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd" resourceDefinitionId: description: > - The identifier of the "ResourceDefinition" in the granting exchange - related to the LCM operation occurrence. It shall be present when an - applicable GrantInfo for the granted resource exists. - When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the - "networkResource" attribute refers to the affected virtual link instance, not the link port instance. - The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the - "vnfLinkPortIds" attribute. - The "resourceDefinitionId" attribute provides information to the API consumer (i.e. the NFVO) to assist - in correlating the resource changes performed during the LCM operation with the granted resources in a - specific Grant exchange, which is identified by the "grantId" available in the "Individual VNF lifecycle - management operation occurrence" and the "id" in the "Individual Grant". + The identifier of the "ResourceDefinition" in the granting exchange related to the LCM operation occurrence. + It shall be present when an applicable GrantInfo for the granted resource exists. See note 1 and note 2. $ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierLocal" zoneId: description: > diff --git a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml index 000c5d0d..829ae34d 100644 --- a/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml +++ b/src/SOL003/VNFLifecycleManagementNotification/VNFLifecycleManagementNotification.yaml @@ -120,7 +120,7 @@ paths: get: description: | - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. @@ -178,7 +178,7 @@ paths: get: description: | - The GET method allows the server to test the notification endpoint that is provided by the API consumer, + The GET method allows the API producer to test the notification endpoint that is provided by the API consumer, e.g. during subscription. This method shall follow the provisions specified in the tables 5.4.20.3.2-1 and 5.4.20.3.2-2 for URI query parameters, request and response data structures, and response codes. diff --git a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml index 6aae3598..25d7f72d 100644 --- a/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml +++ b/src/SOL003/VNFPackageManagement/VNFPackageManagement.yaml @@ -1092,6 +1092,8 @@ components: The identifier is allocated by the VNF provider. This identifier can be retrieved from the "vnfdId" attribute in the VnfPackageOnboardingNotification or VnfPackageChangeNotification. + This identifier can be retrieved from the "vnfdId" attribute in the + VnfPackageOnboardingNotification or VnfPackageChangeNotification. required: true style: simple explode: false diff --git a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml index 557fe7cd..5711bddd 100644 --- a/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml +++ b/src/SOL003/VNFPackageManagement/definitions/SOL003VNFPackageManagement_def.yaml @@ -231,6 +231,7 @@ definitions: description: > This type represents an artifact contained in or external to a VNF package which represents a software image. + It shall comply with provisions defined in table 10.5.3.2-1. type: object required: - id diff --git a/src/definitions/SOL002SOL003_def.yaml b/src/definitions/SOL002SOL003_def.yaml index 578f59c1..d833759f 100644 --- a/src/definitions/SOL002SOL003_def.yaml +++ b/src/definitions/SOL002SOL003_def.yaml @@ -784,6 +784,12 @@ definitions: LcmOperationType: description: > + The enumeration LcmOpType defines the permitted values to represent + VNF lifecycle operation types in VNF lifecycle management operation + occurrence resources and VNF lifecycle management operation occurrence + notifications. + It shall comply with the provisions defined in table 5.5.4.5-1. + Value | Description ------|------------ INSTANTIATE | Represents the "Instantiate VNF" LCM operation. diff --git a/src/endpoints/SOL002SOL003_endpoints.yaml b/src/endpoints/SOL002SOL003_endpoints.yaml index 977eb5a1..69db9539 100644 --- a/src/endpoints/SOL002SOL003_endpoints.yaml +++ b/src/endpoints/SOL002SOL003_endpoints.yaml @@ -41,6 +41,34 @@ endpoints: $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/503 "504": $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/504 + post: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/405 + put: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/405 + patch: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/405 + delete: + description: > + This method is not supported. When this method is requested on this resource, the API producer shall + return a "405 Method Not Allowed" response + responses: + 405: + $ref: ../responses/SOL002SOL003_resp.yaml#/components/responses/405 components: responses: -- GitLab