merge 5.1.1-dev-sol003 in 5.1.1-dev

update VNF PM API to use 'application/merge-patch+json' content-type header for PM job and threshold PATCH requests

Merge request reports

Loading
+1 −0
Changes for SOL003/VNFFaultManagement-API/environment/variables.txt: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ ${NFVO_FIELDS} 1
${apiRoot}        /
${apiName}        vnffm
${apiMajorVersion}     v1
${API_VERSION}    1.14.0

${nextPageUri}    /some_uri

+4 −1
Changes for SOL003/VNFFaultManagement-API/schemas/AlarmModification.schema.json: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -9,7 +9,10 @@
      "ackState": {
        "description": "New value of the \"ackState\" attribute in \"Alarm\". Permitted values: * ACKNOWLEDGED * UNACKNOWLEDGED\n",
        "type": "string",
        "enum": ["ACKNOWLEDGED", "UNACKNOWLEDGED"]
        "enum": [
          "ACKNOWLEDGED",
          "UNACKNOWLEDGED"
        ]
      }
    }
  }
+28 −10
Changes for SOL003/VNFFaultManagement-API/schemas/Alarms.schema.json: 28 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -29,10 +29,15 @@
        "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": ["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* NOTE 1: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n          provider and can be used as information that complements the ResourceHandle. This value set is different from \n          the value set of the \"type\" attribute in the ResourceDefinition (refer to clause 9.5.3.2). When the container \n          infrastructure service management is a Kubernetes® instance the vimLevelResourceType is the type of \n          resource, as would correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, \n          e.g.: Pod, PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 2: When the container infrastructure service management is a Kubernetes® instance the resourceId shall be \n          populated in the following way:\n          - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n          per resource type.\n          - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n          i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n          Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n          manifest.\n          - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n          the 'metadata.name' field in Kubernetes® manifest.\n",
              "properties": {
@@ -79,7 +84,11 @@
            "faultyResourceType": {
              "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n",
              "type": "string",
              "enum": ["COMPUTE", "STORAGE", "NETWORK"]
              "enum": [
                "COMPUTE",
                "STORAGE",
                "NETWORK"
              ]
            }
          }
        },
@@ -106,7 +115,10 @@
        "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",
@@ -137,11 +149,11 @@
          ]
        },
        "faultType": {
          "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",
          "description": "Additional information to clarify the type of the fault. Valid values applicable to specific Alarms are specified as \"Alarm definition  identifier\" values of the Alarm applicable to Or-Vnfm reference point, as  defined in clause 7.3 of ETSI GS NFV-IFA 045 [13]. 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. 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.\n",
          "description": "Information about the probable cause of the fault. Valid values applicable to specific Alarms are specified as \"Probable cause\"  values of the Alarm applicable to Or-Vnfm reference point, as defined in  clause 7.3 of ETSI GS NFV-IFA 045 [13]. 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.\n",
          "type": "string"
        },
        "isRootCause": {
@@ -157,7 +169,7 @@
          }
        },
        "faultDetails": {
          "description": "Provides additional information about the fault. See notes 1 and 2.\n",
          "description": "Provides additional information about the fault. See notes 1 and 2. Valid values  applicable to specific Alarms are specified as \"Fault details\" values of the Alarm  applicable to Or-Vnfm reference point, as defined in clause 7.3 of  ETSI GS NFV-IFA 045 [13].\n",
          "type": "array",
          "items": {
            "type": "string"
@@ -166,12 +178,16 @@
        "_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",
@@ -182,7 +198,9 @@
            "objectInstance": {
              "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",
+84 −11
Changes for SOL003/VNFFaultManagement-API/schemas/FmSubscription.schema.json: 84 added lines, 11 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",
@@ -18,20 +22,28 @@
            {
              "oneOf": [
                {
                  "required": ["vnfdId"]
                  "required": [
                    "vnfdId"
                  ]
                },
                {
                  "required": ["vnfProductsFromProviders"]
                  "required": [
                    "vnfProductsFromProviders"
                  ]
                }
              ]
            },
            {
              "oneOf": [
                {
                  "required": ["vnfInstanceIds"]
                  "required": [
                    "vnfInstanceIds"
                  ]
                },
                {
                  "required": ["vnfInstanceNames"]
                  "required": [
                    "vnfInstanceNames"
                  ]
                }
              ]
            }
@@ -50,7 +62,9 @@
              "type": "array",
              "items": {
                "type": "object",
                "required": ["vnfProvider"],
                "required": [
                  "vnfProvider"
                ],
                "properties": {
                  "vnfProvider": {
                    "description": "Name of the VNF provider to match.\n",
@@ -61,7 +75,9 @@
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": ["vnfProductName"],
                      "required": [
                        "vnfProductName"
                      ],
                      "properties": {
                        "vnfProductName": {
                          "description": "Name of the VNF product to match.\n",
@@ -72,7 +88,9 @@
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": ["vnfSoftwareVersion"],
                            "required": [
                              "vnfSoftwareVersion"
                            ],
                            "properties": {
                              "vnfSoftwareVersion": {
                                "description": "A version.\n",
@@ -130,7 +148,11 @@
          "items": {
            "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n",
            "type": "string",
            "enum": ["COMPUTE", "STORAGE", "NETWORK"]
            "enum": [
              "COMPUTE",
              "STORAGE",
              "NETWORK"
            ]
          }
        },
        "perceivedSeverities": {
@@ -177,15 +199,66 @@
      "description": "String formatted according to IETF RFC 3986.\n",
      "type": "string"
    },
    "fmConnection": {
      "description": "An access information and interface information to monitor the FM of VNF instance by  the VNFM. This can include for instance certain interface endpoint URI together with  necessary credentials to access it.\n",
      "type": "array",
      "items": {
        "description": "The MonitoringConnection shall follow the indications provided.\n* NOTE: The VNFM can be made aware of monitoring connection information, \n  including their identifiers to be used by configuration means outside the scope of the \n  present document (e.g. using relevant NFV-MANO management APIs as defined in \n  ETSI GS NFV-SOL 009 [i.18]).\n",
        "type": "object",
        "required": [
          "id",
          "monitoringType"
        ],
        "properties": {
          "id": {
            "description": "An identifier with the intention of being globally unique.\n",
            "type": "string"
          },
          "monitoringType": {
            "description": "Type of monitoring way.\n",
            "type": "string",
            "enum": [
              "VIM_CISM",
              "EXTERNAL",
              "PAAS"
            ]
          },
          "vimId": {
            "description": "An identifier with the intention of being globally unique.\n",
            "type": "string"
          },
          "paasServiceId": {
            "description": "An identifier with the intention of being globally unique.\n",
            "type": "string"
          },
          "interfaceInfo": {
            "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n",
            "type": "object"
          },
          "accessInfo": {
            "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n",
            "type": "object"
          },
          "extra": {
            "description": "A string defined in IETF RFC 8259.\n",
            "type": "string"
          }
        }
      }
    },
    "_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",
+84 −11
Changes for SOL003/VNFFaultManagement-API/schemas/FmSubscriptions.schema.json: 84 added lines, 11 removed lines.
Original line number Diff line number Diff line
@@ -3,7 +3,11 @@
  "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",
@@ -20,20 +24,28 @@
              {
                "oneOf": [
                  {
                    "required": ["vnfdId"]
                    "required": [
                      "vnfdId"
                    ]
                  },
                  {
                    "required": ["vnfProductsFromProviders"]
                    "required": [
                      "vnfProductsFromProviders"
                    ]
                  }
                ]
              },
              {
                "oneOf": [
                  {
                    "required": ["vnfInstanceIds"]
                    "required": [
                      "vnfInstanceIds"
                    ]
                  },
                  {
                    "required": ["vnfInstanceNames"]
                    "required": [
                      "vnfInstanceNames"
                    ]
                  }
                ]
              }
@@ -52,7 +64,9 @@
                "type": "array",
                "items": {
                  "type": "object",
                  "required": ["vnfProvider"],
                  "required": [
                    "vnfProvider"
                  ],
                  "properties": {
                    "vnfProvider": {
                      "description": "Name of the VNF provider to match.\n",
@@ -63,7 +77,9 @@
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": ["vnfProductName"],
                        "required": [
                          "vnfProductName"
                        ],
                        "properties": {
                          "vnfProductName": {
                            "description": "Name of the VNF product to match.\n",
@@ -74,7 +90,9 @@
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": ["vnfSoftwareVersion"],
                              "required": [
                                "vnfSoftwareVersion"
                              ],
                              "properties": {
                                "vnfSoftwareVersion": {
                                  "description": "A version.\n",
@@ -132,7 +150,11 @@
            "items": {
              "description": "The enumeration FaultyResourceType represents those types of faulty resource.\n",
              "type": "string",
              "enum": ["COMPUTE", "STORAGE", "NETWORK"]
              "enum": [
                "COMPUTE",
                "STORAGE",
                "NETWORK"
              ]
            }
          },
          "perceivedSeverities": {
@@ -179,15 +201,66 @@
        "description": "String formatted according to IETF RFC 3986.\n",
        "type": "string"
      },
      "fmConnection": {
        "description": "An access information and interface information to monitor the FM of VNF instance by  the VNFM. This can include for instance certain interface endpoint URI together with  necessary credentials to access it.\n",
        "type": "array",
        "items": {
          "description": "The MonitoringConnection shall follow the indications provided.\n* NOTE: The VNFM can be made aware of monitoring connection information, \n  including their identifiers to be used by configuration means outside the scope of the \n  present document (e.g. using relevant NFV-MANO management APIs as defined in \n  ETSI GS NFV-SOL 009 [i.18]).\n",
          "type": "object",
          "required": [
            "id",
            "monitoringType"
          ],
          "properties": {
            "id": {
              "description": "An identifier with the intention of being globally unique.\n",
              "type": "string"
            },
            "monitoringType": {
              "description": "Type of monitoring way.\n",
              "type": "string",
              "enum": [
                "VIM_CISM",
                "EXTERNAL",
                "PAAS"
              ]
            },
            "vimId": {
              "description": "An identifier with the intention of being globally unique.\n",
              "type": "string"
            },
            "paasServiceId": {
              "description": "An identifier with the intention of being globally unique.\n",
              "type": "string"
            },
            "interfaceInfo": {
              "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n",
              "type": "object"
            },
            "accessInfo": {
              "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n",
              "type": "object"
            },
            "extra": {
              "description": "A string defined in IETF RFC 8259.\n",
              "type": "string"
            }
          }
        }
      },
      "_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",
Loading
Loading