SOL003 VNF Fault Management - Implementation of deltas between v3.6.1 and v3.5.1

This merge request refers to the implementation of deltas between v3.6.1 and v3.5.1 of SOL003 VNF Fault Management Interface.

@lynchpi @aelken @matsuurat @sayama @zafar @reinaortega @abbasim

Deadline for review: Monday 11th July 2022 @6pm CEST

Merge request reports

Loading
+2 −1
Changes for SOL003/VNFFaultManagement-API/environment/variables.txt: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -16,7 +16,8 @@ ${invalid_alarm_filter} badFilter
${alarmId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d
${CONTENT_TYPE_PATCH}    application/merge-patch+json

${Etag}=    an etag
${Etag}    an etag
${invalid_etag}    invalid etag


${VNFM_DUPLICATION}    1
+24 −41
Changes for SOL003/VNFFaultManagement-API/schemas/alarm.schema.json: 24 added lines, 41 removed lines.
Original line number Diff line number Diff line
{
  "description": "The alarm data type encapsulates information about an alarm.\n",
  "description": "The alarm data type encapsulates information about an alarm. \nNOTE 1: For an alarm about upcoming impact due to NFVI operation and maintenance (i.e. the attribute  \n        \"faultType\" has the value \"NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE\"), the attribute \n        \"rootCauseFaultyResource\" indicates a resource to be impacted. Further information on the upcoming\n        impact (e.g. group of impacted resources, time of impact) is provided in the attribute \"faultDetails\".\nNOTE 2: When alarms are due to upcoming NFVI operation and maintenance (i.e. the attribute \"faultType\" has the \n        value \"NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE\"), the attribute \"faultDetails\" shall include \n        information about the anticipated time of the maintenance. See provisions under the present table.\n\nIf the attribute \"faultType\" has the value \"NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE\", the following provisions  apply for the values of the attribute \"faultDetails\" related to changes in the state of virtualised resources:\n  - One of the entries in the array shall provide information about the anticipated time of maintenance in the \n  following format: \"anticipatedTime=$time\", wherein \"$time\" shall be formatted as a \"DateTime\", as specified \n  in ETSI GS NFV-SOL 013 [8]. \n  - One of the entries in the array shall provide identification information about the affinity/anti-affinity\n  group defined in the VNFD that is associated to the affected virtualised resource indicated by \n  \"rootCauseFaultyResource\" in the following format: \"affinityOrAntiAffinityGroupId=$group\", wherein \n  \"$group\" shall be equal to the \"affinityOrAntiAffinityGroupId\" value in the corresponding \"VduProfile\" (for a \n  VNFC/COMPUTE affected resource) or \"VirtualLinkProfile\" for a VL/NETWORK affected resource) in the \n  VNFD, which is mapped by the VNFM to the virtualised resource group identifier in the virtualised resource \n  change notification received by the VNFM from the VIM.\n",
  "type": "object",
  "required": [
    "id",
    "managedObjectId",
    "rootCauseFaultyResource",
    "alarmRaisedTime",
    "ackState",
    "perceivedSeverity",
@@ -26,16 +25,10 @@
    "rootCauseFaultyResource": {
      "description": "This type represents the faulty virtual resources that have a negative impact on a VNF.\n",
      "type": "object",
      "required": [
        "faultyResource",
        "faultyResourceType"
      ],
      "required": ["faultyResource", "faultyResourceType"],
      "properties": {
        "faultyResource": {
          "required": [
            "vimConnectionId",
            "resourceId"
          ],
          "required": ["resourceId"],
          "type": "object",
          "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n",
          "properties": {
@@ -52,7 +45,7 @@
              "type": "string"
            },
            "vimLevelResourceType": {
              "description": "Type of the resource in the scope of the VIM or the resource provider.\n",
              "description": "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. This value set is different from the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2 in SOL003).\n",
              "type": "string"
            }
          }
@@ -60,11 +53,7 @@
        "faultyResourceType": {
          "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n",
          "type": "string",
          "enum": [
            "COMPUTE",
            "STORAGE",
            "NETWORK"
          ]
          "enum": ["COMPUTE", "STORAGE", "NETWORK"]
        }
      }
    },
@@ -83,13 +72,15 @@
      "type": "string",
      "format": "date-time"
    },
    "alarmAcknowledgedTime": {
      "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n",
      "type": "string",
      "format": "date-time"
    },
    "ackState": {
      "description": "Acknowledgement state of the alarm. Permitted values: * UNACKNOWLEDGED * ACKNOWLEDGED.\n",
      "type": "string",
      "enum": [
        "UNACKNOWLEDGED",
        "ACKNOWLEDGED"
      ]
      "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",
@@ -120,15 +111,15 @@
      ]
    },
    "faultType": {
      "description": "Additional information to clarify the type of the fault.\n",
      "description": "Additional information to clarify the type of the fault. If the alarm is related to changes in the state of virtualised resources  due to NFVI operation and maintenance, this attribute shall be set to  \"NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGE\".\n",
      "type": "string"
    },
    "probableCause": {
      "description": "Information about the probable cause of the fault.\n",
      "description": "Information about the probable cause of the fault. If the attribute \"faultType\" has the value ΓÇ£NFVI_OAM_VIRTUALISED_RESOURCE_STATE_CHANGEΓÇ¥, the permitted values are: \n  - \"NFVI_COMPONENT_MAINTENANCE\": Maintenance of NFVI components, e.g. \n    physical maintenance/repair, hypervisor software updates, etc.\n  - \"NFVI_COMPONENT_EVACUATION\": Evacuation of physical hosts.\n  - \"NFVI_COMPONENT_OPTIMIZATION\": Operation and management of NFVI resources, e.g.\n    to support energy efficiency or resource usage optimization.\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",
      "description": "Attribute indicating if this fault is the root for other correlated alarms. If true, then the alarms listed in the attribute \"correlatedAlarmIds\" are caused by this fault.\n",
      "type": "boolean"
    },
    "correlatedAlarmIds": {
@@ -140,7 +131,7 @@
      }
    },
    "faultDetails": {
      "description": "Provides additional information about the fault.\n",
      "description": "Provides additional information about the fault. See notes 1 and 2.\n",
      "type": "array",
      "items": {
        "type": "string"
@@ -149,35 +140,27 @@
    "_links": {
      "description": "Links for this resource.\n",
      "type": "object",
      "required": [
        "self"
      ],
      "required": ["self"],
      "properties": {
        "self": {
          "description": "This type represents a link to a resource.\n",
          "description": "This type represents a link to a resource using an absolute URI.\n",
          "type": "object",
          "required": [
            "href"
          ],
          "required": ["href"],
          "properties": {
            "href": {
              "description": "URI of the referenced resource.\n",
              "type": "string",
              "format": "url"
              "description": "String formatted according to IETF RFC 3986.\n",
              "type": "string"
            }
          }
        },
        "objectInstance": {
          "description": "This type represents a link to a resource.\n",
          "description": "This type represents a link to a resource using an absolute URI.\n",
          "type": "object",
          "required": [
            "href"
          ],
          "required": ["href"],
          "properties": {
            "href": {
              "description": "URI of the referenced resource.\n",
              "type": "string",
              "format": "url"
              "description": "String formatted according to IETF RFC 3986.\n",
              "type": "string"
            }
          }
        }
+10 −10
Changes for SOL003/VNFFaultManagement-API/Alarms.robot: 10 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -13,7 +13,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 VNF 
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none
@@ -25,7 +25,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 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -38,7 +38,7 @@ Get information about multiple alarms with filter
    ...    Test title: Get information about multiple alarms with filter
    ...    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 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -51,7 +51,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 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -109,7 +109,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 to for Fault management alarms on VNF 
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none
@@ -121,7 +121,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 to for Fault management alarms on VNF 
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none
@@ -133,7 +133,7 @@ DELETE Alarms - Method not implemented
    ...    Test title: POST Alarms - Method not implemented 
    ...    Test objective: The objective is to test that DELETE method is not allowed for Fault management alarms on VNF 
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none
@@ -145,7 +145,7 @@ Get information about multiple alarms as a Paged Response
    ...    Test title: Get information about multiple alarms as a Paged Response
    ...    Test objective: The objective is to retrieve information about the alarm list as a Paged Response
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: The VNFM supports response paging for the VNF alarm resources
    ...    Post-Conditions: none
@@ -158,7 +158,7 @@ GET information about multiple alarms as a Paged Response with nextpage_opauque_
    ...    Test title: GET information about multiple alarms as a Paged Response with nextpage_opauque_marker parameter  
    ...    Test objective: The objective is to query information about multiple alarms as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter
    ...    Pre-conditions: A request for retrieving multiple alarms as a paged response has been successfully issued (Test ID 7.3.5.1.12)
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: The VNFM supports response paging for the VNF alarm resources
    ...    Post-Conditions: none 
@@ -171,7 +171,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 try to retrieve information about the alarm list 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 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
+5 −5
Changes for SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot: 5 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -465,7 +465,7 @@ Get subscriptions with filter "filter_notificationTypes"
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes"
	:FOR   ${item}   IN  ${response['body']}
	FOR   ${item}   IN  ${response['body']}
        Should Be Equal As Strings    ${item['filter']['notificationTypes']}   ${probableCause}
    END

@@ -478,7 +478,7 @@ Get subscriptions with filter "filter_faultyResourceTypes"
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes"
    :FOR   ${item}   IN  ${response['body']}
    FOR   ${item}   IN  ${response['body']}
        Should Be Equal As Strings    ${item['filter']['faultyResourceTypes']}   ${faultyResourceType}
    END
	
@@ -491,7 +491,7 @@ Get subscriptions with filter "filter_perceivedSeverities"
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities"
	:FOR   ${item}   IN  ${response['body']}
	FOR   ${item}   IN  ${response['body']}
        Should Be Equal As Strings    ${item['filter']['perceivedSeverities']}   ${perceivedSeverity}
    END
    
@@ -504,7 +504,7 @@ Get subscriptions with filter "filter_eventTypes"
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes"
    :FOR   ${item}   IN  ${response['body']}
    FOR   ${item}   IN  ${response['body']}
        Should Be Equal As Strings    ${item['filter']['eventTypes']}   ${eventType}
    END
	
@@ -517,6 +517,6 @@ Get subscriptions with filter "filter_probableCauses"
	Set Global Variable    ${response}    ${outputResponse}
	
Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses"
    :FOR   ${item}   IN  ${response['body']}
    FOR   ${item}   IN  ${response['body']}
        Should Be Equal As Strings    ${item['filter']['probableCauses']}   ${probableCause}
    END
+8 −8
Changes for SOL003/VNFFaultManagement-API/IndividualAlarm.robot: 8 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ POST Alarm - Method not implemented
    ...    Test title: POST Alarm - Method not implemented
    ...    Test objective: The objective is to test that Post method is not allowed to create Fault management individual alarm on VNF 
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none  
@@ -26,7 +26,7 @@ Get information about an fault management individual alarm
    ...    Test title: Get information about an fault management individual alarm
    ...    Test objective: The objective is to retrieve information about an individual alarm and perform a JSON schema and content validation of the returned alarm data structure
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none 
@@ -39,7 +39,7 @@ PUT Alarm - Method not implemented
    ...    Test title: PUT Alarm - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not allowed to for Fault management individual alarm on VNF 
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none 
@@ -51,7 +51,7 @@ PATCH Fault Management Individual Alarm
    ...    Test title: PATCH Fault Management Individual Alarm
    ...    Test objective: The objective is to Modify an individual alarm resource and perform a JSON schema and content validation of the returned alarm data structure
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -64,7 +64,7 @@ Modify an individual alarm resource - 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 modified if the resource was modified by another entity
    ...    Pre-conditions: The related alarm exists
    ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -77,7 +77,7 @@ Modify an individual alarm resource - 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 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none
@@ -91,7 +91,7 @@ DELETE Alarm - Method not implemented
    ...    Test title: DELETE Alarm - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not allowed to for Fault management individual alarm on VNF 
    ...    Pre-conditions: none
    ...    Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none
@@ -103,7 +103,7 @@ Get information about an fault management individual alarm - Not Found
    ...    Test title: Get information about an fault management individual alarm - Not Found
    ...    Test objective: The objective is to test that retrieval of information about an individual alarm fails when individual alarm is not present
    ...    Pre-conditions: The related alarm does not exists
    ...    Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.5.1
    ...    Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v3.6.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions:  none 
Loading
Loading