Skip to content
Snippets Groups Projects

SOL005 VNF Snapshot Package Management - Implementation of deltas between v3.5.1 and v3.3.1

Merged Giacomo Bernini requested to merge 3.5.1-dev-SOL005-VNF-Snaphsot into 3.5.1-dev
2 files
+ 284
468
Compare changes
  • Side-by-side
  • Inline
Files
2
{
"description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.3-1.\n",
"description": "This type represents the information of a VNF snapshot package. It shall comply with the provisions defined in table 11.5.2.3-1.\nNOTE:\tThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n",
"type": "object",
"required": [
"id",
"name",
"isFullSnapshot",
"state",
"isCancelPending",
"_links"
],
"required": ["id", "name", "isFullSnapshot", "state", "isCancelPending", "_links"],
"properties": {
"id": {
"description": "An identifier with the intention of being globally unique.\n",
@@ -24,10 +17,7 @@
},
"checksum": {
"description": "This type represents the checksum of a VNF package or an artifact file.\n",
"required": [
"algorithm",
"hash"
],
"required": ["algorithm", "hash"],
"type": "object",
"properties": {
"algorithm": {
@@ -49,7 +39,7 @@
"type": "string"
},
"vnfcSnapshotInfoIds": {
"description": "Identifier of information held by the VNFM about specific VNFC snapshot(s) part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation.\nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n",
"description": "Identifier of information held by the VNFM about specific VNFC snapshot(s) part of the VNF snapshot and contained in the VNF snapshot package. This identifier is allocated by the VNFM during the VNF snapshot creation. See note.\n",
"type": "array",
"items": {
"description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n",
@@ -63,12 +53,7 @@
"vnfdInfo": {
"description": "This type represents the VNFD which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.4-1.\n",
"type": "object",
"required": [
"vnfdId",
"vnfdPath",
"checksum",
"isEncrypted"
],
"required": ["vnfdId", "vnfdPath", "checksum", "isEncrypted"],
"properties": {
"vnfdId": {
"description": "An identifier with the intention of being globally unique.\n",
@@ -80,10 +65,7 @@
},
"checksum": {
"description": "This type represents the checksum of a VNF package or an artifact file.\n",
"required": [
"algorithm",
"hash"
],
"required": ["algorithm", "hash"],
"type": "object",
"properties": {
"algorithm": {
@@ -105,11 +87,7 @@
"vnfsr": {
"description": "This type represents the VNF snapshot record which is contained in a VNF snapshot package. It shall comply with provisions defined in Table 11.5.3.5-1.\n",
"type": "object",
"required": [
"recordPath",
"checksum",
"isEncrypted"
],
"required": ["recordPath", "checksum", "isEncrypted"],
"properties": {
"recordPath": {
"description": "Path which identifies the VNF snapshot record and allows to access a copy of the VNF snapshot record for the extraction.\nThe value of this attribute shall start with the name of the first segment of the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m@ster\n",
@@ -117,10 +95,7 @@
},
"checksum": {
"description": "This type represents the checksum of a VNF package or an artifact file.\n",
"required": [
"algorithm",
"hash"
],
"required": ["algorithm", "hash"],
"type": "object",
"properties": {
"algorithm": {
@@ -140,24 +115,12 @@
}
},
"vnfcSnapshotImages": {
"description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included. \nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n",
"description": "Information about VNF snapshot artifacts that are VNFC snapshot images. Every local and external snapshot image shall be included. No other artifacts shall be included. See note.\n",
"type": "array",
"items": {
"description": "This type represents an artifact contained in or external to a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 11.5.3.2-1.\n",
"description": "This type represents an artifact contained in or external to a VNF snapshot package which represents a snapshot image. It shall comply with the provisions defined in table 11.5.3.2-1. NOTE 1:\tThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\". NOTE 2:\tThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\".\n",
"type": "object",
"required": [
"id",
"name",
"checksum",
"isEncrypted",
"vnfcInstanceId",
"containerFormat",
"diskFormat",
"createdAt",
"minDisk",
"minRam",
"size"
],
"required": ["id", "name", "checksum", "isEncrypted", "vnfcInstanceId", "containerFormat", "diskFormat", "createdAt", "minDisk", "minRam", "size"],
"properties": {
"id": {
"description": "An identifier that is unique within a limited local scope other than above listed identifiers, such as within a complex data structure or within a request-response pair. Representation: string of variable length.\n",
@@ -169,10 +132,7 @@
},
"checksum": {
"description": "This type represents the checksum of a VNF package or an artifact file.\n",
"required": [
"algorithm",
"hash"
],
"required": ["algorithm", "hash"],
"type": "object",
"properties": {
"algorithm": {
@@ -194,33 +154,14 @@
"type": "string"
},
"containerFormat": {
"description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - BARE: the image does not have a container or metadata envelope. - DOCKER: docker container format. - OVA: OVF package in a tarfile. - OVF: OVF container format.\nThe list of permitted values was taken from \"Container formats\" in OpenStack®: \"Disk and container formats for images\" (Available from https://docs.openstack.org/glance/pike/user/formats.html)\n",
"description": "Container format indicates whether the snapshot image is in a file format that also contains metadata about the actual snapshot.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - BARE: the image does not have a container or metadata envelope. - DOCKER: docker container format. - OVA: OVF package in a tarfile. - OVF: OVF container format.\nSee note 1.\n",
"type": "string",
"enum": [
"AKI",
"AMI",
"ARI",
"BARE",
"DOCKER",
"OVA",
"OVF"
]
"enum": ["AKI", "AMI", "ARI", "BARE", "DOCKER", "OVA", "OVF"]
},
"diskFormat": {
"description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - ISO: an archive format for the data contents of an optical disc, such as CD-ROM. - QCOW2: a common disk image format, which can expand dynamically and supports copy on write. - RAW: an unstructured disk image format. - VDI: a common disk image format. - VHD: a common disk image format. - VHDX: enhanced version of VHD format. - VMDK: a common disk image format.\nThe list of permitted values was adapted from \"Disk formats\" in OpenStack®: \"Disk and container formats for images\" (Available from https://docs.openstack.org/glance/pike/user/formats.html)\n",
"description": "Disk format of a snapshot image is the format of the underlying disk image.\nPermitted values: - AKI: a kernel image format. - AMI: a machine image format. - ARI: a ramdisk image format. - ISO: an archive format for the data contents of an optical disc, such as CD-ROM. - QCOW2: a common disk image format, which can expand dynamically and supports copy on write. - RAW: an unstructured disk image format. - VDI: a common disk image format. - VHD: a common disk image format. - VHDX: enhanced version of VHD format. - VMDK: a common disk image format.\nSee note 2.\n",
"type": "string",
"enum": [
"AKI",
"AMI",
"ARI",
"ISO",
"QCOW2",
"RAW",
"VDI",
"VHD",
"VHDX",
"VMDK"
]
"enum": ["AKI", "AMI", "ARI", "ISO", "QCOW2", "RAW", "VDI", "VHD", "VHDX", "VMDK"]
},
"createdAt": {
"description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n",
@@ -246,7 +187,7 @@
"type": "object"
},
"imagePath": {
"description": "Path which identifies the image artifact and also allows to access a copy of the image artifact. \nFor an image artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.vhd\nFor an external image artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n",
"description": "Path which identifies the image artifact and also allows to access a copy of the image artifact.\nFor an image artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e., it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.vhd\nFor an external image artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the image artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n",
"type": "string"
},
"imageUri": {
@@ -258,15 +199,12 @@
}
},
"additionalArtifacts": {
"description": "Information about VNF snapshot artifacts that are not VNFC snapshot images. \nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n",
"description": "Information about VNF snapshot artifacts that are not VNFC snapshot images.\nThe attribute shall not be present before the VNF snapshot package content has been uploaded or built. Otherwise, this attribute shall be present unless it has been requested to be excluded per attribute selector.\n",
"type": "array",
"items": {
"description": "This type represents an artifact other than a software image which is contained in a VNF snapshot package. It shall comply with provisions defined in table 11.5.3.3-1.\n",
"type": "object",
"required": [
"checksum",
"isEncrypted"
],
"required": ["checksum", "isEncrypted"],
"properties": {
"artifactPath": {
"description": "Path which identifies the artifact and also allows to access a copy of the artifact.\nFor an artifact contained as a file in the VNF snapshot package, this attribute shall be present, and the value of this attribute shall start with the name of the first segment in the path in the package, i.e. it shall not be prefixed by path separator characters such as \".\" and \"/\".\nEXAMPLE: foo/bar/m%40ster.sh\nFor an external artifact represented as a URI in the manifest file, this attribute shall be present if the artifact has been downloaded by the NFVO or the artifact has been processed after building the VNF snapshot package and shall be absent otherwise. If present, it shall contain the artifactPath under which the artifact can be obtained using the \"Individual artifact in a VNF snapshot package\" resource defined in clause 11.4.10. It is the responsibility of the NFVO to synthesize this path in a manner that avoids any collision of the synthesized artifact path with the paths and names of artifacts included in the snapshot package.\n",
@@ -279,10 +217,7 @@
},
"checksum": {
"description": "This type represents the checksum of a VNF package or an artifact file.\n",
"required": [
"algorithm",
"hash"
],
"required": ["algorithm", "hash"],
"type": "object",
"properties": {
"algorithm": {
@@ -307,17 +242,9 @@
}
},
"state": {
"description": "State of the VNF snapshot package.\nPermitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n",
"description": "State of the VNF snapshot package.\nPermitted values: - CREATED: the VNF snapshot package information has been created. - BUILDING: the VNF snapshot package is being built. - UPLOADING: the VNF snapshot package is being uploaded. - EXTRACTING: the VNF snapshot package’s content is being extracted. - AVAILABLE: the VNF snapshot package is available (i.e., build or upload is completed). - PROCESSING: the VNF snapshot package is being processed. - ERROR: failure during the VNF snapshot package building, uploading or processing. - ERROR_EXTRACTING: failure during the VNF snapshot package extraction task.\n",
"type": "string",
"enum": [
"CREATED",
"BUILDING",
"UPLOADING",
"EXTRACTING",
"AVAILABLE",
"ERROR",
"ERROR_EXTRACTING"
]
"enum": ["CREATED", "BUILDING", "UPLOADING", "EXTRACTING", "AVAILABLE", "PROCESSING", "ERROR", "ERROR_EXTRACTING"]
},
"isCancelPending": {
"description": "The Boolean is a data type having two values (TRUE and FALSE).\n",
@@ -326,29 +253,17 @@
"failureDetails": {
"description": "Failure details associated to current error state of the VNF snapshot package state. If \"state\" is \"ERROR\" or \"ERROR_EXTRACTING\", this attribute shall be present unless it has been requested to be excluded via an attribute selector.\n",
"type": "object",
"required": [
"errorType",
"details"
],
"required": ["errorType", "details"],
"properties": {
"errorType": {
"description": "Type of error, when the failure happened (building, upload, processing, extracting). Permitted values: - BUILD_ERROR - UPLOAD_ERROR - PROCESS_ERROR - CANCELLED - EXTRACTION_ERROR\n",
"type": "string",
"enum": [
"BUILD_ERROR",
"UPLOAD_ERROR",
"PROCESS_ERROR",
"CANCELLED",
"EXTRACTION_ERROR"
]
"enum": ["BUILD_ERROR", "UPLOAD_ERROR", "PROCESS_ERROR", "CANCELLED", "EXTRACTION_ERROR"]
},
"details": {
"description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n",
"type": "object",
"required": [
"status",
"detail"
],
"required": ["status", "detail"],
"properties": {
"type": {
"description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n",
@@ -383,17 +298,12 @@
"_links": {
"description": "Links to resources related to this resource.\n",
"type": "object",
"required": [
"self",
"packageContent"
],
"required": ["self", "packageContent"],
"properties": {
"self": {
"description": "This type represents a link to a resource.\n",
"type": "object",
"required": [
"href"
],
"required": ["href"],
"properties": {
"href": {
"description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
@@ -405,9 +315,7 @@
"packageContent": {
"description": "This type represents a link to a resource.\n",
"type": "object",
"required": [
"href"
],
"required": ["href"],
"properties": {
"href": {
"description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n",
Loading