SOL009 NFV MANO Fault Management - Implementation of deltas between v3.5.1 and v3.3.1

This merge request refers to the implementation of deltas between v3.5.1 and v3.3.1 of SOL009 NFV MANO Fault Management.

@lynchpi @aelken @matsuurat @sayama @kraja @zafar @muhammadh @abbasim

Deadline for review: Monday 1st November 2021 @6pm CEST

Review period elapsed: Approved !

Edited by Giacomo Bernini

Merge request reports

Loading
+11 −9
Changes for SOL009/NFVMANOFaultManagement-API/environment/variables.txt: 11 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -2,13 +2,14 @@
${NFVMANO_HOST}      localhost    # Hostname of the NFV-MANO
${NFVMANO_PORT}      8080    # Listening port of the NFV-MANO
${NFVMANO_SCHEMA}    https
${AUTHORIZATION}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
${AUTHORIZATION_HEADER}   Authorization
${AUTHORIZATION_TOKEN}    Bearer    QWxhZGRpbjpvcGVuIHNlc2FtZQ==
${CONTENT_TYPE}    application/json
${ACCEPT}         application/json
${ACCEPT_JSON}         application/json
${AUTH_USAGE}     1
${NEG_AUTHORIZATION}    Bearer negativetoken
${BAD_AUTHORIZATION}    Bear sometoken
${NEG_AUTHORIZATION_TOKEN}    Bearer negativetoken
${BAD_AUTHORIZATION_TOKEN}    Bear sometoken
${apiRoot}        /
${apiName}        nfvmanofm
${apiMajorVersion}     v1
@@ -26,28 +27,29 @@ ${invalid_alarm_filter} badFilter
${alarmId}    6fc3539c-e602-4afa-8e13-962fb5a7d81d

${Etag}=    an etag
${Etag_modified}=    a modified etag


${NFVMANO_DUPLICATION}    1
${sub_filter}    filter
${sub_filter_invalid}    filter_invalid

${subscriptionId}    6fc3539c-e602-4afa-8e13-962fb5a7d81f
${faultyResourceType}    

${notification_type}    AlarmNotification

${callback_uri}    http://localhost
${callback_port}    9091
${callback_uri}    http://localhost:${callback_port}
${unreachable_callback_uri}   http://unreachable-callbackUri-error-422
${callback_endpoint}    /endpoint
${callback_endpoint_fwd}    /endpoint/check
${callback_endpoint_error}    /endpoint_404
${sleep_interval}    20s


${total_polling_time}   2 min
${polling_interval}     10 sec

${notification_request}    []
${notification_response}    []

${MOCK_SERVER_JAR}    ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar
${MOCK_SERVER_JAR}    ../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar

${callbackResp}    127.0.0.1
 No newline at end of file
+2 −6
Changes for SOL009/NFVMANOFaultManagement-API/schemas/AlarmModification.schema.json: 2 added lines, 6 removed lines.
Original line number Diff line number Diff line
{
  "description": "This type represents attribute modifications for an \"Individual alarm\" resource, i.e. modifications to a resource representation based on the \"Alarm\" data type. The attributes of \"Alarm\" that can be modified are included in the \"AlarmModifications\" data type.\n",
  "type": "object",
    "required": [
      "ackState"
    ],
  "required": ["ackState"],
  "properties": {
    "ackState": {
      "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED\n",
      "type": "string",
        "enum": [
          "ACKNOWLEDGED"
        ]
      "enum": ["ACKNOWLEDGED"]
    }
  }
}
+5 −13
Changes for SOL009/NFVMANOFaultManagement-API/schemas/FmSubscription.schema.json: 5 added lines, 13 removed lines.
Original line number Diff line number Diff line
{
  "description": "This type represents a subscription related to notifications about VNF faults.\n",
  "type": "object",
  "required": [
    "id",
    "callbackUri",
    "_links"
  ],
  "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 NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.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",
      "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.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\n        of the notification types to facilitate automated code generation systems.\n",
      "type": "object",
      "properties": {
        "notificationTypes": {
          "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
          "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification\nSee note.\n",
          "type": "array",
          "items": {
            "type": "string",
@@ -74,16 +70,12 @@
    "_links": {
      "description": "Links for this resource.\n",
      "type": "object",
      "required": [
        "self"
      ],
      "required": ["self"],
      "properties": {
        "self": {
          "description": "This type represents a link to a resource using an absolute URI.\n",
          "type": "object",
          "required": [
            "href"
          ],
          "required": ["href"],
          "properties": {
            "href": {
              "description": "String formatted according to IETF RFC 3986.\n",
+5 −13
Changes for SOL009/NFVMANOFaultManagement-API/schemas/FmSubscriptions.schema.json: 5 added lines, 13 removed lines.
Original line number Diff line number Diff line
@@ -3,22 +3,18 @@
  "items": {
    "description": "This type represents a subscription related to notifications about VNF faults.\n",
    "type": "object",
  "required": [
    "id",
    "callbackUri",
    "_links"
  ],
    "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 NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.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",
        "description": "This type represents a subscription filter related to notifications about NFV-MANO functional entity faults. It shall comply with the provisions defined in table 7.6.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\n        of the notification types to facilitate automated code generation systems.\n",
        "type": "object",
        "properties": {
          "notificationTypes": {
          "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification The permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n",
            "description": "Match particular notification types. Permitted values: * AlarmNotification * AlarmClearedNotification * AlarmListRebuiltNotification\nSee note.\n",
            "type": "array",
            "items": {
              "type": "string",
@@ -76,16 +72,12 @@
      "_links": {
        "description": "Links for this resource.\n",
        "type": "object",
      "required": [
        "self"
      ],
        "required": ["self"],
        "properties": {
          "self": {
            "description": "This type represents a link to a resource using an absolute URI.\n",
            "type": "object",
          "required": [
            "href"
          ],
            "required": ["href"],
            "properties": {
              "href": {
                "description": "String formatted according to IETF RFC 3986.\n",
+10 −21
Changes for SOL009/NFVMANOFaultManagement-API/schemas/alarmClearedNotification.schema.json: 10 added lines, 21 removed lines.
Original line number Diff line number Diff line
@@ -18,9 +18,7 @@
    "notificationType": {
      "description": "Discriminator for the different notification types. Shall be set to \"AlarmClearedNotification\" for this notification type.\n",
      "type": "string",
      "enum": [
        "AlarmClearedNotification"
      ]
      "enum": ["AlarmClearedNotification"]
    },
    "subscriptionId": {
      "description": "An identifier with the intention of being globally unique.\n",
@@ -41,36 +39,27 @@
    "_links": {
      "description": "Links to resources related to this notification.\n",
      "type": "object",
      "required": [
        "subscription",
        "alarm"
      ],
      "required": ["subscription", "alarm"],
      "properties": {
        "subscription": {
          "description": "This type represents a link to a resource.\n",
          "description": "This type represents a link to a resource in a notification, using an absolute or relative 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"
            }
          }
        },
        "alarm": {
          "description": "This type represents a link to a resource.\n",
          "description": "This type represents a link to a resource in a notification, using an absolute or relative 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"
            }
          }
        }
Loading
Loading