NFV - Network Functions Virtualisation issueshttps://forge.etsi.org/rep/groups/nfv/-/issues2020-06-12T13:15:06Zhttps://forge.etsi.org/rep/nfv/api-tests/-/issues/116VnfLcmMntOperationKeywords.robot SOL003 2.6.1 Missing separator2020-06-12T13:15:06Zraducccradu@luxoft.comVnfLcmMntOperationKeywords.robot SOL003 2.6.1 Missing separatorhttps://forge.etsi.org/rep/nfv/api-tests/blob/2.6.1-fix-plu/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
`${schema} = Catenate ${input} .schema.json`
Should be:
`${schema} = Catenate SEPARATOR= $...https://forge.etsi.org/rep/nfv/api-tests/blob/2.6.1-fix-plu/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot
`${schema} = Catenate ${input} .schema.json`
Should be:
`${schema} = Catenate SEPARATOR= ${input} .schema.json`https://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.robothttps://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/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/108Disable Individual Network Service Descriptor issue 2.6.1-fix-plu2020-06-17T21:53:28Zraducccradu@luxoft.comDisable Individual Network Service Descriptor issue 2.6.1-fix-pluhttps://forge.etsi.org/rep/nfv/api-tests/blob/2.6.1-dev/SOL005/NSDManagement-API/IndividualNSDescriptor.robot
```
Disable Individual Network Service Descriptor
[Documentation] Test ID: 5.3.1.2.3
... Test title: Disable ...https://forge.etsi.org/rep/nfv/api-tests/blob/2.6.1-dev/SOL005/NSDManagement-API/IndividualNSDescriptor.robot
```
Disable Individual Network Service Descriptor
[Documentation] Test ID: 5.3.1.2.3
... 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] v2.6.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
Send PATCH to disable Individual Network Service Descriptor
Check HTTP Response Status Code Is 200
Check HTTP Response Body Json Schema Is NsdInfoModification
Check Postcondition Network Service Descriptor is in operational state DISABLED
Check Postcondition Network Service Descriptor usage state is unmodified (Implicit)
```
Between these 2 lines:
Check Postcondition Network Service Descriptor is in operational state DISABLED
Check Postcondition Network Service Descriptor usage state is unmodified (Implicit)
There should be an intermediary GET Request querying the ns descriptor with that id, otherwise in the primitive method
"Check Postcondition Network Service Descriptor usage state " evaluation is applied on the previous response object witch is NsdInfoModifications type and not NsdInfo type.
Suggested fix:
Check Postcondition Network Service Descriptor is in operational state DISABLED
**GET Individual Network Service Descriptor Information**
Check Postcondition Network Service Descriptor usage state is unmodified (Implicit)https://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/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/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/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/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/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/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/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/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/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/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/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/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/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/85Wrong URI in SOL002/VNFIndicator-API/VNFIndicators.robot2020-10-26T06:13:39ZElian KrajaWrong URI in SOL002/VNFIndicator-API/VNFIndicators.robotLine 209 should contain a wrong URI
i.e.: `Get ${apiRoot}/${apiName}/${apiVersion}/indicator`Line 209 should contain a wrong URI
i.e.: `Get ${apiRoot}/${apiName}/${apiVersion}/indicator`Elian KrajaElian Kraja