NFV - Network Functions Virtualisation issueshttps://forge.etsi.org/rep/groups/nfv/-/issues2020-10-01T06:42:30Zhttps://forge.etsi.org/rep/nfv/SOL006/-/issues/23Development changes for branch dev-v3.4.12020-10-01T06:42:30ZppreeDevelopment changes for branch dev-v3.4.1https://forge.etsi.org/rep/nfv/api-tests/-/issues/131NS Identifier Creation Notification/NS Identifier Deletion Notification schem...2021-02-03T14:23:00ZFrank BrydenNS Identifier Creation Notification/NS Identifier Deletion Notification schemas invertedIn SOL005\NSLifecycleManagement-API\NotificationEndpoint.robot, the tests `NS Identifier Creation Notification` and `NS Identifier Deletion Notification` have their schemas inverted.
The creation test checks against the `NsIdentifierDele...In SOL005\NSLifecycleManagement-API\NotificationEndpoint.robot, the tests `NS Identifier Creation Notification` and `NS Identifier Deletion Notification` have their schemas inverted.
The creation test checks against the `NsIdentifierDeletionNotification` schema, whilst the Deletion test checks against the `NsIdentifierCreationNotification` schema.https://forge.etsi.org/rep/nfv/api-tests/-/issues/130SOL005/NSLifecycleManagement-API/jsons/CreateNsRequest.json is a schema not a...2020-10-14T13:45:47ZFrank BrydenSOL005/NSLifecycleManagement-API/jsons/CreateNsRequest.json is a schema not a JSON payloadhttps://forge.etsi.org/rep/nfv/api-tests/-/issues/129Logical inconsistency in SOL005/NSLifecycleManagement-API/DeleteNSInstanceWor...2020-10-14T13:45:39ZFrank BrydenLogical inconsistency in SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robotThe test `NS Instance Deletion` deletes an NS instance, then checks for a `204 No Content` and finally performs a schema validation on the response body. This schema validation will *always* fail as it can only run if the previous step s...The test `NS Instance Deletion` deletes an NS instance, then checks for a `204 No Content` and finally performs a schema validation on the response body. This schema validation will *always* fail as it can only run if the previous step succeeds, indicating the body is empty.https://forge.etsi.org/rep/nfv/api-tests/-/issues/128NS Instance Creation @ SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkf...2020-10-14T13:45:31ZFrank BrydenNS Instance Creation @ SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot wrong schema checkThe test `NS Instance Creation` checks the response body after making the creation request against the `NsIdentifierCreationNotification`. According to SOL005v2.7.1, the schema to check against should instead be `NsInstance.The test `NS Instance Creation` checks the response body after making the creation request against the `NsIdentifierCreationNotification`. According to SOL005v2.7.1, the schema to check against should instead be `NsInstance.https://forge.etsi.org/rep/nfv/api-tests/-/issues/127"NS Instance Creation with DISABLED nsd" not tested2020-10-14T13:45:25ZFrank Bryden"NS Instance Creation with DISABLED nsd" not testedhttps://forge.etsi.org/rep/nfv/api-tests/-/issues/126SOL005/VNFPackageManagement-API/IndividualVNFPackage.robot expecting 405 inst...2020-10-14T13:45:03ZFrank BrydenSOL005/VNFPackageManagement-API/IndividualVNFPackage.robot expecting 405 instead of 204`Check HTTP Response Status Code Is 405` should be checking for 204, not 405.`Check HTTP Response Status Code Is 405` should be checking for 204, not 405.https://forge.etsi.org/rep/nfv/api-tests/-/issues/125Missing double quotes2020-10-14T13:44:55ZFrank BrydenMissing double quotesSome of the Authorization header setting lacks a double quote, resulting in a syntax error.
These look as such:
```
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"}
```Some of the Authorization header setting lacks a double quote, resulting in a syntax error.
These look as such:
```
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"}
```https://forge.etsi.org/rep/nfv/api-tests/-/issues/124Spacing issues causing syntax errors2020-10-14T13:44:47ZFrank BrydenSpacing issues causing syntax errorsSome of the code has small spacing issues.
For example, `Log Requesting NSD info` results in an error `Unknown keyword: Log Requesting NSD info` as there needs to be an extra space between the `Log` command and subsequent arguments.Some of the code has small spacing issues.
For example, `Log Requesting NSD info` results in an error `Unknown keyword: Log Requesting NSD info` as there needs to be an extra space between the `Log` command and subsequent arguments.https://forge.etsi.org/rep/nfv/api-tests/-/issues/123Wrong type in mock server header creation2020-10-14T13:44:38ZFrank BrydenWrong type in mock server header creation```
&{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204
```
The `Create Mock Response` keyword expects a dictionary in the headers parameter, not a string.```
&{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204
```
The `Create Mock Response` keyword expects a dictionary in the headers parameter, not a string.https://forge.etsi.org/rep/nfv/SOL005/-/issues/2Definition of the extLinkPortId attribute in the VnfExtCpInfo data type.2020-09-11T11:55:26ZVlademir BrusseDefinition of the extLinkPortId attribute in the VnfExtCpInfo data type.Our R&D has found an issue in SOL005 v2.6.1 and its propagation on v2.5.1, v2.7.1 and v3.3.1.
The extLinkPortId attribute of VnfExtCpInfo data type is defined as Identified in SOL005 spec and as “CpProtocolInmfo” in v2.7.1 and v3.3.1 of...Our R&D has found an issue in SOL005 v2.6.1 and its propagation on v2.5.1, v2.7.1 and v3.3.1.
The extLinkPortId attribute of VnfExtCpInfo data type is defined as Identified in SOL005 spec and as “CpProtocolInmfo” in v2.7.1 and v3.3.1 of SOL005 OpenAPI:
extLinkPortId:
description: >
Identifier of the "extLinkPortInfo" structure inside the "extVirtualLinkInfo"
structure. Shall be present if the CP is associated to a link port.
$ref: "#/definitions/CpProtocolInfo"
Should extLinkPortId definition be:
extLinkPortId:
description: >
Identifier of the "extLinkPortInfo" structure inside the "extVirtualLinkInfo"
structure. Shall be present if the CP is associated to a link port.
`$ref: "../../definitions/SOL005_def.yaml#/definitions/Identifier"
According to SOL005 on those versions (v2.4.1 as well) this attribute should be defined as “Identifier”, and then be translated to string.
Best Regards,
VlademirGiacomo BerniniGiacomo Berninihttps://forge.etsi.org/rep/nfv/SOL005/-/issues/1Swagger file: SOL005NSLifecycleManagement_def.yaml; ns_lcm_op_occ: "statusEnt...2020-12-15T05:03:17ZbanerjeesuSwagger file: SOL005NSLifecycleManagement_def.yaml; ns_lcm_op_occ: "statusEnteredTime" should be "stateEnteredTime" to match vnf_lcm_op_occThe file https://forge.etsi.org/rep/nfv/SOL005/blob/v2.7.1/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml NsLcmOpOcc has "statusEnteredTime" misspelt.
It should ideally be "stateEnteredTime" to match ...The file https://forge.etsi.org/rep/nfv/SOL005/blob/v2.7.1/src/SOL005/NSLifecycleManagement/definitions/SOL005NSLifecycleManagement_def.yaml NsLcmOpOcc has "statusEnteredTime" misspelt.
It should ideally be "stateEnteredTime" to match the corresponding field in VnfLcmOpOcc: https://forge.etsi.org/rep/nfv/SOL002-SOL003/blob/v2.7.1/src/definitions/SOL002SOL003VNFLifecycleManagement_def.yaml
Reference: Attached screenshot from 2.7.1 SOL005 Spec.
The description against 'statusEnteredTime' says, "Date-time when the current _state_ has been entered." Please see that it's referred to as "state" in the descriptions and other field names from NsLcmOpOcc as well, e.g. {'operationState'}. Apart from the specification language aspect, we have the below challenge from implementation and client side.
The dissimilarity of the names in SOL005 and corresponding SOL003/SOL002 model attributes may pose limitations when it comes to client-side/server-side code trying to use the JSON-Object-mapping tools (e.g. ObjectMapper) for invoking/serving APIs across NS and VNF LCM operations. The ObjectMappers need to have field transformation logic (to-and-fro) to map "statusEnteredTime" to "stateEnteredTime" and back while moving between the SOL003 and SOL005 APIs for instance.
![Screen_Shot_2020-08-21_at_11.43.35_AM](/uploads/73c67a0ec0f82a5fb40227e6d2526691/Screen_Shot_2020-08-21_at_11.43.35_AM.png)https://forge.etsi.org/rep/nfv/api-tests/-/issues/122[sol005robot] Logical inconsistency in NSLCM/IndividualNSInstance.robot2020-10-14T13:44:05ZFrank Bryden[sol005robot] Logical inconsistency in NSLCM/IndividualNSInstance.robot# NSLCM/IndividualNSInstance.robot
The suite keyword `Check resource existence` is shown below (in the log.html output file).
![suiteSetup](/uploads/b5f40678e4f347546e52f8535cbc191e/suiteSetup.png)
The resource checked is at `ns_instanc...# NSLCM/IndividualNSInstance.robot
The suite keyword `Check resource existence` is shown below (in the log.html output file).
![suiteSetup](/uploads/b5f40678e4f347546e52f8535cbc191e/suiteSetup.png)
The resource checked is at `ns_instances/${nsInstanceId}`, and the test is looking for a 200 response code, as the resource must exist.
However, at the end of the first test in the suite, `POST Individual NSInstance - Method not implemented`, a postcondition check for the non-existence of that same resource is made; pictured below.
![suiteCheck](/uploads/4ac47c0294c27a649f837d131e1cae91/suiteCheck.png)\
This check is making a request against the same resource, but expecting a 404 this time.
If the suite setup succeeds, the test is run, but the response to that request cannot be 404.\
If the suite setup fails, the test is not run.https://forge.etsi.org/rep/nfv/api-tests/-/issues/121[sol005robot] SOL005/VNFPackageManagement-API/environment: Too many variable ...2020-11-11T09:04:18ZFrank Bryden[sol005robot] SOL005/VNFPackageManagement-API/environment: Too many variable filesThe variables required for the suite tests are spread over too many files, making the testing process very tedious. Finding the appropriate variable requires going through each file.
On top of this, some variables are (re)defined multip...The variables required for the suite tests are spread over too many files, making the testing process very tedious. Finding the appropriate variable requires going through each file.
On top of this, some variables are (re)defined multiple times. For example, `erroneousVnfPkgId` is defined in vnfPackageContent.txt, vnfdInIndividualVnfPackage.txt and vnfPackageArtifacts.txt.https://forge.etsi.org/rep/nfv/api-tests/-/issues/120[sol005robot] Set Headers for Accept ZIP/Plain text not implemented correctly2020-10-14T13:43:38ZFrank Bryden[sol005robot] Set Headers for Accept ZIP/Plain text not implemented correctlyFor tests which need to accept both application/zip and text/plain, the test is written as follows:
```
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Set Headers {"Accept": "${ACCEPT_ZIP}"}
```
In this case, the state change of the fir...For tests which need to accept both application/zip and text/plain, the test is written as follows:
```
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Set Headers {"Accept": "${ACCEPT_ZIP}"}
```
In this case, the state change of the first call is lost, and only the second call has any effect. This means the test does not run as intended.https://forge.etsi.org/rep/nfv/api-tests/-/issues/119Additional parameter to specify arttifact type2020-06-17T21:52:06ZphamvAdditional parameter to specify arttifact type`GET Individual VNF Package Artifact in octet stream format` uses `${artifactPath}` for all contents, request to add additional parameter to indicate content type as text or binary (application/octet-stream).
Current variables are defin...`GET Individual VNF Package Artifact in octet stream format` uses `${artifactPath}` for all contents, request to add additional parameter to indicate content type as text or binary (application/octet-stream).
Current variables are defined in:
api-tests/SOL003/VNFPackageManagement-API/environment/vnfPackageArtifacts.txthttps://forge.etsi.org/rep/nfv/api-tests/-/issues/118Response variable not updated after the GET call2020-06-17T21:51:45ZElian KrajaResponse variable not updated after the GET callhttps://forge.etsi.org/rep/nfv/api-tests/blob/2.4.1-fix-plu/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
Check Postcondition VNFD Exist
Log Checking that vnf pacakge still exists
Set Headers {"Acce...https://forge.etsi.org/rep/nfv/api-tests/blob/2.4.1-fix-plu/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot
Check Postcondition VNFD Exist
Log Checking that vnf pacakge still exists
Set Headers {"Accept": "${ACCEPT_PLAIN}"}
Set Headers {"Accept": "${ACCEPT_ZIP}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/vnf_packages/${vnfPkgZipVNFD}/vnfd
Check HTTP Response Status Code Is 200
Suggest to add the following lines after GET if possible:
${output}= Output response
Set Suite Variable ${response} ${output}Elian KrajaElian Krajahttps://forge.etsi.org/rep/nfv/SOL006/-/issues/22Update version in all the models to 3.3.1.2020-06-25T17:14:41ZjethanandaniUpdate version in all the models to 3.3.1.This commit will take care of updating the version in all the models to 3.3.1.This commit will take care of updating the version in all the models to 3.3.1.v3.3.1jethanandanijethanandanihttps://forge.etsi.org/rep/nfv/SOL006/-/issues/21Update version in all the models to 2.8.12020-06-19T18:30:59ZjethanandaniUpdate version in all the models to 2.8.1This commit is to update the YANG models to reflect the latest release version.This commit is to update the YANG models to reflect the latest release version.v2.8.1jethanandanijethanandanihttps://forge.etsi.org/rep/nfv/api-tests/-/issues/117VnfLcmMntOperationKeywords.robot SOL003 2.6.1 AttributeError headers2020-06-12T13:15:14Zraducccradu@luxoft.comVnfLcmMntOperationKeywords.robot SOL003 2.6.1 AttributeError headers```
GET information about multiple VNF instances to get Paged Response... | FAIL |
Resolving variable '${response.headers}' failed: AttributeError: 'dict' object has no attribute 'headers'
```
https://forge.etsi.org/rep/nfv/api-tests/bl...```
GET information about multiple VNF instances to get Paged Response... | FAIL |
Resolving variable '${response.headers}' failed: AttributeError: 'dict' object has no attribute 'headers'
```
https://forge.etsi.org/rep/nfv/api-tests/blob/2.6.1-fix-plu/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot