Commit 830c1d4c authored by Eisha Ayaz's avatar Eisha Ayaz
Browse files

[datamodel-upd][SOL003][VNF-LCM][v5.3.1][7.3.1.x.x...

[datamodel-upd][SOL003][VNF-LCM][v5.3.1][7.3.1.x.x Test-IDs][NFVSOL(25)000079r2, NFVSOL(25)000165] Add multiple attributes and Note 9 for type vnfInstance
parent 9dd47c63
Loading
Loading
Loading
Loading
+230 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@
          "type": "string"
        },
        "vnfInstance": {
          "description": "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 [14] specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\nNOTE 7: Subports need not be used for containerized VNFCs. The application container can send and receive IP \n        packets with any VLAN tag as long as the network interface to connect to the secondary container cluster \n        network has been configured appropriately. Thus, no individual vnfcCpInfo, except the one representing \n        the trunk, need be modelled to allow traffic tagged with a particular VLAN through the connection point.\nNOTE 8: For a scaling aspect whose related VNFCs have not been instantiated due to the selection of deployable \n        modules, the \"scaleStatus\" indicates the scale level that would be applicable to the aspect if a VNF LCM \n        operation changes the selected deployable modules and the related VNFCs are instantiated, unless the \n        VNF LCM operation explicitly indicates the scale level for the aspect.\n",
          "description": "This type represents a VNF instance.\nNOTE:\tClause B.3.2 provides examples illustrating the relationship among the different run-time \n      information elements (CP, VL and link ports) used to represent the connectivity of a VNF.\n\nNOTE 1:\tModifying the value of this attribute shall not be performed when conflicts exist between \n        the previous and the newly referred VNF package, i.e. when the new VNFD is changed with \n        respect to the previous VNFD in other aspects than merely referencing to other VNF software \n        images. In order to avoid misalignment of the VnfInstance with the current VNF's on-boarded \n        VNF Package, the values of attributes in the VnfInstance that have corresponding attributes \n        in the VNFD shall be kept in sync with the values in the VNFD.\nNOTE 2:\tETSI GS NFV-SOL 001 [14] specifies the structure and format of the VNFD based on TOSCA specifications. NOTE 3:\tVNF configurable properties are sometimes also referred to as configuration parameters applicable \n        to a VNF. Some of these are set prior to instantiation and cannot be modified if the VNF is instantiated, \n        some are set prior to instantiation (are part of initial configuration) and can be modified later, \n        and others can be set only after instantiation. The applicability of certain configuration may \n        depend on the VNF and the required operation of the VNF at a certain point in time.\nNOTE 4:\tUpon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes \n        of \"vnfConfigurableProperties\", \"metadata\" and \"extensions\" that were declared in the VNFD with a defined \n        initial value. The defined initial values can be declared in the VNFD, and/or, in case of \"metadata\", \n        obtained from the \"CreateVnfRequest\" structure. Child attributes of \"vnfConfigurableProperties\", \n        \"metadata\" and \"extensions\" that have no defined initial value shall not be created, in order to be \n        consistent with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null \n        values as deletion request.\nNOTE 5:\tIt is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a \n        multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same \n        VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed \n        multi-site VL instance (refer to clause 5.5.3.3).\nNOTE 6:\tEven though externally-managed internal VLs are also used for VNF-internal connectivity, they shall \n        not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\nNOTE 7: Subports need not be used for containerized VNFCs. The application container can send and receive IP \n        packets with any VLAN tag as long as the network interface to connect to the secondary container cluster \n        network has been configured appropriately. Thus, no individual vnfcCpInfo, except the one representing \n        the trunk, need be modelled to allow traffic tagged with a particular VLAN through the connection point.\nNOTE 8: For a scaling aspect whose related VNFCs have not been instantiated due to the selection of deployable \n        modules, the scaleStatus indicates the scale level that would be applicable to the aspect if a VNF LCM \n        operation changes the selected deployable modules and the related VNFCs are instantiated, unless the \n        VNF LCM operation explicitly indicates the scale level for the aspect.\nNOTE 9: The recentVnfLcmOperationLinks attribute does not provide a complete historical record of LCM changes\n        that a VNF instance experienced during its lifecycle. The information in this attribute should not be used to\n        create a chronological order of events that cannot be inferred by looking only at the most recent operation\n        occurrences due to potential gaps in timeline. This is because there can be many possible combination of\n        LCM changes that a VNF may have gone through between two operation occurrences recorded in the\n        recentVnfLcmOperationLinks attribute. For example, there can be many scaling related LCM changes since\n        an individual VNF instance has been instantiated until the most recent scaling operation occurrence linked in\n        the attribute. In another example, the most recent LCM operation occurrence related to instantiate VNF\n        operation may be more recent than the one that caused the VNF instance to be terminated last time, which\n        prevents the possibility to create a meaningful chronological timeline of VNF LCM events.\n",
          "type": "object",
          "required": [
            "id",
@@ -502,6 +502,47 @@
                    "STOPPED"
                  ]
                },
                "vnfPowerState": {
                  "description": "The power state of the VNF instance. Only present if the VNF instance is in a power state or a scale status (refer to attribute \"scaleStatus\") that has an associated power profile, as defined in the VNFD.\n",
                  "type": "object",
                  "required": [
                    "powerProfileId",
                    "name"
                  ],
                  "properties": {
                    "powerProfileId": {
                      "description": "Identifier of the power profile, as defined in the VNFD, applied to the VNF instance.\n",
                      "type": "string"
                    },
                    "name": {
                      "description": "Name of the power profile as provided in the VNFD.\n",
                      "type": "string"
                    },
                    "powerConsumptionInfo": {
                      "description": "Estimated power consumption information of the resources associated with this power profile, as provided in the VNFD. VNFM exposes and can use this information to control the VNF instance to operate according to the power profile and selected power state, e.g. monitoring actual energy or power consumption of the VNF instance and compare against the estimated one.\n",
                      "type": "object",
                      "required": [
                        "minPowerConsumption",
                        "maxPowerConsumption",
                        "averagePowerConsumption"
                      ],
                      "properties": {
                        "minPowerConsumption": {
                          "description": "Minimum power consumption of this power profile. Unit is KW/h.\n",
                          "type": "integer"
                        },
                        "maxPowerConsumption": {
                          "description": "Maximum power consumption of this power profile. Unit is KW/h.\n",
                          "type": "integer"
                        },
                        "averagePowerConsumption": {
                          "description": "Average power consumption of this power profile. Unit is KW/h.\n",
                          "type": "integer"
                        }
                      }
                    }
                  }
                },
                "scaleStatus": {
                  "description": "Scale status of the VNF, one entry per aspect. Represents for every scaling aspect  how \"big\" the VNF has been scaled w.r.t. that aspect.\nThis attribute shall be present if the VNF supports scaling. See clause B.2 for an explanation of VNF scaling.\nFor an aspect that has not been deployed because the related deployableModule has  not been selected, it indicates the scale level that has been requested in the instantiation  or in a scaling operation, or, if none has been requested in any of them, the scale level  applicable to the aspect based on the default instantiation level. See note 8.\n",
                  "type": "array",
@@ -3282,6 +3323,194 @@
                  }
                }
              }
            },
            "recentVnfLcmOperationLinks": {
              "description": "Links to the most recent LCM operation occurrences related to this resource. See note 9.\n",
              "type": "object",
              "properties": {
                "recentVnfLcmOperation": {
                  "description": "Link to the most recent LCM operation occurrence of any type that has been triggered on this VNF instance, such as Instantiate, Scale or Heal.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmInstantiation": {
                  "description": "Link to the most recent LCM operation occurrence of type \"INSTANTIATE\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmScale": {
                  "description": "Link to the most recent LCM operation occurrence of type \"SCALE\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmScaleToLevel": {
                  "description": "Link to the most recent LCM operation occurrence of type \"SCALE_TO_LEVEL\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmChangeFlavour": {
                  "description": "Link to the most recent LCM operation occurrence of type \"CHANGE_FLAVOUR\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmTerminate": {
                  "description": "Link to the most recent LCM operation occurrence of type \"TERMINATE\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmHeal": {
                  "description": "Link to the most recent LCM operation occurrence of type \"HEAL\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmOperate": {
                  "description": "Link to the most recent LCM operation occurrence of type \"OPERATE\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmChangeExtConn": {
                  "description": "Link to the most recent LCM operation occurrence of type \"CHANGE_EXT_CONN\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmModifyInfo": {
                  "description": "Link to the most recent LCM operation occurrence of type \"MODIFY_INFO\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmCreateSnapshot": {
                  "description": "Link to the most recent LCM operation occurrence of type \"CREATE_SNAPSHOT\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmRevertToSnapshot": {
                  "description": "Link to the most recent LCM operation occurrence of type \"REVERT_TO_SNAPSHOT\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmChangeVnfPkg": {
                  "description": "Link to the most recent LCM operation occurrence of type \"CHANGE_VNFPKG\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                },
                "recentVnfLcmSelectDplMods": {
                  "description": "Link to the most recent LCM operation occurrence of type \"SELECT_DPL_MODS\" that has been triggered on this VNF instance.\n",
                  "type": "object",
                  "required": [
                    "href"
                  ],
                  "properties": {
                    "href": {
                      "description": "String formatted according to IETF RFC 3986.\n",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
+230 −1

File changed.

Preview size limit exceeded, changes collapsed.

+230 −1

File changed.

Preview size limit exceeded, changes collapsed.

+230 −1

File changed.

Preview size limit exceeded, changes collapsed.

+230 −1

File changed.

Preview size limit exceeded, changes collapsed.