SOL002 VNF Indicator - Implementation of deltas between v4.3.1 and v3.6.1

This merge request refers to the implementation of deltas between v4.3.1 and v3.6.1 of SOL002 VNF Indicator Interface.

@lynchpi @matsuurat @sayama @hamza @ayuba @ishaqm @reinaortega

Deadline for review: Friday 13th January 2023 @6pm CET

Merge request reports

Loading
+14 −11
Changes for SOL002/VNFIndicator-API/schemas/VnfIndicatorSubscription.schema.json: 14 added lines, 11 removed lines.
Original line number Diff line number Diff line
@@ -12,14 +12,16 @@
			"type": "string"
		},
		"filter": {
			"description": "This type represents a subscription filter for notifications related to VNF indicators. 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 for notifications related to VNF indicators.\nAt 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).\nNOTE:\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": {
				"vnfInstanceSubscriptionFilter": {
					"description": "This type represents subscription filter criteria to match VNF instances.\n",
					"description": "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n          that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n          but one alternative should be chosen.\n  NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n          instances in a filter. They should not be used both in the same filter instance, but one alternative\n          should be chosen.\n",
					"type": "object",
					"anyOf": [{
							"oneOf": [{
					"anyOf": [
						{
							"oneOf": [
								{
									"required": [
										"vnfdId"
									]
@@ -32,7 +34,8 @@
							]
						},
						{
							"oneOf": [{
							"oneOf": [
								{
									"required": [
										"vnfInstanceIds"
									]
@@ -47,7 +50,7 @@
					],
					"properties": {
						"vnfdIds": {
							"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
							"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n",
							"type": "array",
							"items": {
								"description": "An identifier with the intention of being globally unique.\n",
@@ -55,7 +58,7 @@
							}
						},
						"vnfProductsFromProviders": {
							"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
							"description": "If present, match VNF instances that belong to VNF products from certain providers. See note 1.\n",
							"type": "array",
							"items": {
								"type": "object",
@@ -111,7 +114,7 @@
							}
						},
						"vnfInstanceIds": {
							"description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
							"description": "If present, match VNF instances with an instance identifier listed in this attribute. See note 2.\n",
							"type": "array",
							"items": {
								"description": "An identifier with the intention of being globally unique.\n",
@@ -119,7 +122,7 @@
							}
						},
						"vnfInstanceNames": {
							"description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
							"description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. See note 2.\n",
							"type": "array",
							"items": {
								"type": "string"
@@ -128,7 +131,7 @@
					}
				},
				"notificationTypes": {
					"description": "Match particular notification types. Permitted values: *\tVnfIndicatorValueChangeNotification *\tSupportedIndicatorsChangeNotification 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. \nPermitted values: -\tVnfIndicatorValueChangeNotification -\tSupportedIndicatorsChangeNotification See note.\n",
					"type": "string",
					"enum": [
						"VnfIndicatorValueChangeNotification",
@@ -173,4 +176,4 @@
			}
		}
	}
}s
 No newline at end of file
}
 No newline at end of file
+14 −12
Changes for SOL002/VNFIndicator-API/schemas/VnfIndicatorSubscriptions.schema.json: 14 added lines, 12 removed lines.
Original line number Diff line number Diff line
{
	"type": "array",
	"items": 
	{
	"items": {
        "description": "This type represents a subscription related to notifications about VNF indicator value changes.\n",
        "type": "object",
        "required": [
@@ -15,14 +14,16 @@
            "type": "string"
          },
          "filter": {
			"description": "This type represents a subscription filter for notifications related to VNF indicators. 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 for notifications related to VNF indicators.\nAt 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).\nNOTE:\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": {
              "vnfInstanceSubscriptionFilter": {
					"description": "This type represents subscription filter criteria to match VNF instances.\n",
                "description": "This type represents subscription filter criteria to match VNF instances. * NOTE 1:\tThe attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances\n          that are based on certain VNFDs in a filter. They should not be used both in the same filter instance,\n          but one alternative should be chosen.\n  NOTE 2:\tThe attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF\n          instances in a filter. They should not be used both in the same filter instance, but one alternative\n          should be chosen.\n",
                "type": "object",
					"anyOf": [{
							"oneOf": [{
                "anyOf": [
                  {
                    "oneOf": [
                      {
                        "required": [
                          "vnfdId"
                        ]
@@ -35,7 +36,8 @@
                    ]
                  },
                  {
							"oneOf": [{
                    "oneOf": [
                      {
                        "required": [
                          "vnfInstanceIds"
                        ]
@@ -50,7 +52,7 @@
                ],
                "properties": {
                  "vnfdIds": {
							"description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
                    "description": "If present, match VNF instances that were created based on a VNFD identified by one of the vnfdId values listed in this attribute. See note 1.\n",
                    "type": "array",
                    "items": {
                      "description": "An identifier with the intention of being globally unique.\n",
@@ -58,7 +60,7 @@
                    }
                  },
                  "vnfProductsFromProviders": {
							"description": "If present, match VNF instances that belong to VNF products from certain providers. The attributes \"vnfdIds\" and \"vnfProductsFromProviders\" are alternatives to reference to VNF instances that are based on certain VNFDs in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
                    "description": "If present, match VNF instances that belong to VNF products from certain providers. See note 1.\n",
                    "type": "array",
                    "items": {
                      "type": "object",
@@ -114,7 +116,7 @@
                    }
                  },
                  "vnfInstanceIds": {
							"description": "If present, match VNF instances with an instance identifier listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
                    "description": "If present, match VNF instances with an instance identifier listed in this attribute. See note 2.\n",
                    "type": "array",
                    "items": {
                      "description": "An identifier with the intention of being globally unique.\n",
@@ -122,7 +124,7 @@
                    }
                  },
                  "vnfInstanceNames": {
							"description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. The attributes \"vnfInstanceIds\" and \"vnfInstanceNames\" are alternatives to reference to particular VNF Instances in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n",
                    "description": "If present, match VNF instances with a VNF Instance Name listed in this attribute. See note 2.\n",
                    "type": "array",
                    "items": {
                      "type": "string"
@@ -131,7 +133,7 @@
                }
              },
              "notificationTypes": {
					"description": "Match particular notification types. Permitted values: *\tVnfIndicatorValueChangeNotification *\tSupportedIndicatorsChangeNotification 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. \nPermitted values: -\tVnfIndicatorValueChangeNotification -\tSupportedIndicatorsChangeNotification See note.\n",
                "type": "string",
                "enum": [
                  "VnfIndicatorValueChangeNotification",
+12 −10
Changes for SOL002/VNFIndicator-API/schemas/vnfIndicator.schema.json: 12 added lines, 10 removed lines.
Original line number Diff line number Diff line
{
  "description": "This type represents a VNF indicator value.\nNOTE:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n",
  "type": "object",
  "required": [
    "id",
@@ -12,9 +13,11 @@
      "type": "string"
    },
    "name": {
      "description": "Human readable name of the indicator. Shall be present if defined in the VNFD.\n",
      "type": "string"
    },
    "value": {
      "description": "Provides the value of the indicator. The value format is defined in the VNFD. See note.\n",
      "type": "object"
    },
    "vnfInstanceId": {
@@ -22,37 +25,36 @@
      "type": "string"
    },
    "_links": {
      "description": "Links to resources related to this resource.\n",
      "description": "Links for this resource.\n",
      "type": "object",
      "required": [
        "self"
        "self",
        "vnfInstance"
      ],
      "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"
          ],
          "properties": {
            "href": {
              "description": "URI of the referenced resource.\n",
              "type": "string",
              "format": "url"
              "description": "String formatted according to IETF RFC 3986.\n",
              "type": "string"
            }
          }
        },
        "vnfInstance": {
          "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"
          ],
          "properties": {
            "href": {
              "description": "URI of the referenced resource.\n",
              "type": "string",
              "format": "url"
              "description": "String formatted according to IETF RFC 3986.\n",
              "type": "string"
            }
          }
        }
+67 −1
Changes for SOL002/VNFIndicator-API/schemas/vnfIndicators.schema.json: 67 added lines, 1 removed line.
Original line number Diff line number Diff line
{  "type": "array",  "items": {    "type": "object",    "required": [      "id",      "value",      "vnfInstanceId",      "_links"    ],    "properties": {      "id": {        "description": "An identifier that is unique within a VNF descriptor.\n",        "type": "string"      },      "name": {        "type": "string"      },      "value": {        "type": "object"      },      "vnfInstanceId": {        "description": "An identifier with the intention of being globally unique.\n",        "type": "string"      },      "_links": {        "description": "Links to resources related to this resource.\n",        "type": "object",        "required": [          "self"        ],        "properties": {          "self": {            "description": "This type represents a link to a resource.\n",            "type": "object",            "required": [              "href"            ],            "properties": {              "href": {                "description": "URI of the referenced resource.\n",                "type": "string",                "format": "url"              }            }          },          "vnfInstance": {            "description": "This type represents a link to a resource.\n",            "type": "object",            "required": [              "href"            ],            "properties": {              "href": {                "description": "URI of the referenced resource.\n",                "type": "string",                "format": "url"              }            }          }        }      }    }  }}
 No newline at end of file
{
    "type": "array",
    "items": {
        "description": "This type represents a VNF indicator value.\nNOTE:\tETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.\n",
        "type": "object",
        "required": [
          "id",
          "value",
          "vnfInstanceId",
          "_links"
        ],
        "properties": {
          "id": {
            "description": "An identifier that is unique within a VNF descriptor.\n",
            "type": "string"
          },
          "name": {
            "description": "Human readable name of the indicator. Shall be present if defined in the VNFD.\n",
            "type": "string"
          },
          "value": {
            "description": "Provides the value of the indicator. The value format is defined in the VNFD. See note.\n",
            "type": "object"
          },
          "vnfInstanceId": {
            "description": "An identifier with the intention of being globally unique.\n",
            "type": "string"
          },
          "_links": {
            "description": "Links for this resource.\n",
            "type": "object",
            "required": [
              "self",
              "vnfInstance"
            ],
            "properties": {
              "self": {
                "description": "This type represents a link to a resource using an absolute URI.\n",
                "type": "object",
                "required": [
                  "href"
                ],
                "properties": {
                  "href": {
                    "description": "String formatted according to IETF RFC 3986.\n",
                    "type": "string"
                  }
                }
              },
              "vnfInstance": {
                "description": "This type represents a link to a resource using an absolute URI.\n",
                "type": "object",
                "required": [
                  "href"
                ],
                "properties": {
                  "href": {
                    "description": "String formatted according to IETF RFC 3986.\n",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
}
 No newline at end of file
+10 −10
Changes for SOL002/VNFIndicator-API/ApiVersion.robot: 10 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ POST API Version - Method not implemented
    ...    Test title: POST API version - Method not implemented
    ...    Test objective: The objective is to test that POST method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none    
@@ -25,7 +25,7 @@ GET API Version
    ...    Test title: GET API Version
    ...    Test objective: The objective is to test that GET method successfully return ApiVersionInformation
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -38,7 +38,7 @@ PUT API Version - Method not implemented
    ...    Test title: PUT API Version - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -50,7 +50,7 @@ PATCH API Version - Method not implemented
    ...    Test title: PATCH API Version - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -62,7 +62,7 @@ DELETE API Version - Method not implemented
    ...    Test title: DELETE API Version - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented
    ...    Test title: POST API version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that POST method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none    
@@ -86,7 +86,7 @@ GET API Version with apiMajorVerion
    ...    Test title: GET API Version with apiMajorVerion
    ...    Test objective: The objective is to test that GET method successfully return ApiVersionInformation
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented
    ...    Test title: PUT API Version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that PUT method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented
    ...    Test title: PATCH API Version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that PATCH method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
@@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented
    ...    Test title: DELETE API Version with apiMajorVerion - Method not implemented
    ...    Test objective: The objective is to test that DELETE method is not implemented
    ...    Pre-conditions: none
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v3.5.1
    ...    Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.3.1
    ...    Config ID: Config_prod_VNFM
    ...    Applicability: none
    ...    Post-Conditions: none 
Loading
Loading