Commit 4ed27582 authored by rameshnaraya's avatar rameshnaraya
Browse files

Merge Request issue.

Re committing VNFPM files.
parent 35f30f0a
Pipeline #163 passed with stage
in 0 seconds
...@@ -37,20 +37,20 @@ definitions: ...@@ -37,20 +37,20 @@ definitions:
This information is copied from the VNFD. This information is copied from the VNFD.
It shall be present after the VNF package It shall be present after the VNF package
content has been on-boarded and absent otherwise. content has been on-boarded and absent otherwise.
$ref: "#/definitions/Version" $ref: "SOL005_def.yaml#/definitions/Version"
vnfdVersion: vnfdVersion:
description: > description: >
The version of the VNFD. This information The version of the VNFD. This information
is copied from the VNFD. It shall be is copied from the VNFD. It shall be
present after the VNF package content present after the VNF package content
has been on-boarded and absent otherwise. has been on-boarded and absent otherwise.
$ref: "#/definitions/Version" $ref: "SOL005_def.yaml#/definitions/Version"
checksum: checksum:
description: > description: >
Checksum of the on-boarded VNF Checksum of the on-boarded VNF
package. It shall be present after the VNF package. It shall be present after the VNF
package content has been on-boarded and absent otherwise. package content has been on-boarded and absent otherwise.
$ref: "#/definitions/Checksum" $ref: "SOL005_def.yaml#/definitions/Checksum"
softwareImages: softwareImages:
description: > description: >
Information about VNF package artifacts that are software images. Information about VNF package artifacts that are software images.
...@@ -60,34 +60,80 @@ definitions: ...@@ -60,34 +60,80 @@ definitions:
type: "array" type: "array"
items: items:
$ref: "#/definitions/VnfPackageSoftwareImageInfo" $ref: "#/definitions/VnfPackageSoftwareImageInfo"
additionalArtifacts:
Version: description: >
description: > Information about VNF package artifacts
Software version of the VNF. This is contained in the VNF package that are not software images.
changed when there is any change to the This attribute shall not be present before
software included in the VNF package. the VNF package content is on-boarded.
This information is copied from the VNFD. Otherwise, this attribute shall be present if
It shall be present after the VNF package the VNF package contains additional artifacts.
content has been on-boarded and absent otherwise. type: "array"
type: string items:
$ref: "#/definitions/VnfPackageArtifactInfo"
Checksum: onboardingState:
description: >
On-boarding state of the VNF package.
$ref: "#/definitions/PackageOnboardingStateType"
operationalState:
description: >
Operational state of the VNF package.
$ref: "#/definitions/PackageOperationalStateType"
usageState:
description: >
Usage state of the VNF package.
$ref: "#/definitions/PackageUsageStateType"
userDefinedData:
description: >
Usage state of the VNF package.
$ref: "SOL005_def.yaml#/definitions/KeyValuePairs"
_links:
type: object
description: >
Links to resources related to this resource.
required:
- self
- packageContent
properties:
self:
description: >
URI of this resource.
$ref: "SOL005_def.yaml#/definitions/Link"
vnfd:
description: >
Link to the VNFD resource. This link shall
be present after the VNF package content
is on-boarded.
$ref: "SOL005_def.yaml#/definitions/Link"
packageContent:
description: >
Link to the "VNF package content" resource.
$ref: "SOL005_def.yaml#/definitions/Link"
VnfPackageArtifactInfo:
description: > description: >
This type represents the checksum of a VNF package or an artifact file. This type represents an artifact other than a software image which is contained in a VNF package.
It shall comply with provisions defined in Table 9.5.3.3-1.
required: required:
- algorithm - artifactPath
- hash - checksum
type: object type: object
properties: properties:
algorithm: artifactPath:
description: > description: >
Name of the algorithm used to generate the checksum, Path in the VNF package, which identifies the artifact
as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512. and also allows to access a copy of the artifact.
type: string $ref: "SOL005_def.yaml#/definitions/String"
hash: checksum:
description: > description: >
The hexadecimal value of the checksum. Checksum of the artifact file.
type: string $ref: "SOL005_def.yaml#/definitions/Checksum"
metadata:
description: >
The metadata of the artifact that are available in the
VNF package, such as Content type, size, creation date, etc.
$ref: "SOL005_def.yaml#/definitions/KeyValuePairs"
PkgmLinks: PkgmLinks:
description: > description: >
This type represents the links to resources that a VNF package management notification can contain. This type represents the links to resources that a VNF package management notification can contain.
...@@ -99,13 +145,14 @@ definitions: ...@@ -99,13 +145,14 @@ definitions:
vnfPackage: vnfPackage:
description: > description: >
Link to the resource representing the VNF package to Link to the resource representing the VNF package to
which the notified change applies, i.e. the individual onboarded which the notified change applies, i.e. the individual on boarded
VNF package resource that represents the VNF package. VNF package resource that represents the VNF package.
$ref: "SOL005_def.yaml#/definitions/Link" $ref: "SOL005_def.yaml#/definitions/Link"
subscription: subscription:
description: > description: >
Link to the related subscription. Link to the related subscription.
$ref: "SOL005_def.yaml#/definitions/Link" $ref: "SOL005_def.yaml#/definitions/Link"
VnfPackageSoftwareImageInfo: VnfPackageSoftwareImageInfo:
description: > description: >
This type represents an artifact contained in a VNF package which represents a software image. This type represents an artifact contained in a VNF package which represents a software image.
...@@ -140,23 +187,22 @@ definitions: ...@@ -140,23 +187,22 @@ definitions:
version: version:
description: > description: >
Version of the software image. Version of the software image.
$ref: "#/definitions/Version" $ref: "SOL005_def.yaml#/definitions/Version"
checksum: checksum:
description: > description: >
Checksum of the software image file. Checksum of the software image file.
$ref: "#/definitions/Checksum" $ref: "SOL005_def.yaml#/definitions/Checksum"
containerFormat: containerFormat:
description: > description: >
Container format indicates whether the software image Container format indicates whether the software image
is in a file format that also contains metadata about the actual software. is in a file format that also contains meta-data about the actual software.
Permitted values: Permitted values:
- AKI: a kernel image format - AKI: a kernel image format
- AMI: a machine image format - AMI: a machine image format
- ARI: a ramdisk image format - ARI: a ram disk image format
- BARE: the image does not have a container or - BARE: the image does not have a container or meta-data envelope
metadata envelope
- DOCKER: docker container format - DOCKER: docker container format
- OVA: OVF package in a tarfile - OVA: OVF package in a tar file
- OVF: OVF container format - OVF: OVF container format
type: string type: string
enum: enum:
...@@ -244,7 +290,20 @@ definitions: ...@@ -244,7 +290,20 @@ definitions:
enum: enum:
- "ENABLED" - "ENABLED"
- "DISABLED" - "DISABLED"
PackageOnboardingStateType:
description: >
The enumeration PackageOnboardingStateType shall comply with the provisions defined in Table 9.5.4.3-1.
Permitted values:
- CREATED: The VNF package resource has been created.
- UPLOADING: The associated VNF package content is being uploaded.
- PROCESSING: The associated VNF package content is being processed, e.g. validation.
- ONBOARDED: The associated VNF package content is successfully on-boarded.
type: string
enum:
- CREATED
- UPLOADING
- PROCESSING
- ONBOARDED
PackageUsageStateType: PackageUsageStateType:
type: "string" type: "string"
description: > description: >
...@@ -262,10 +321,8 @@ definitions: ...@@ -262,10 +321,8 @@ definitions:
userDefinedData: userDefinedData:
$ref: "SOL005_def.yaml#/definitions/KeyValuePairs" $ref: "SOL005_def.yaml#/definitions/KeyValuePairs"
description: > description: >
"This type represents the request parameters for creating IndividualVNF package resource creation parameters, as defined
a new individual VNF package resource. It shall comply with in clause 9.5.2.2.
the provisions defined in Table 9.5.2.2-1."
VnfPkgInfoModifications: VnfPkgInfoModifications:
description: > description: >
This type represents modifications to the information of a VNF package. This type represents modifications to the information of a VNF package.
...@@ -328,7 +385,8 @@ definitions: ...@@ -328,7 +385,8 @@ definitions:
PkgmSubscriptionRequest: PkgmSubscriptionRequest:
description: > description: >
This type represents a subscription request related to VNF package management notifications about VNF package on boarding or changes. This type represents a subscription request related to VNF package management
notifications about VNF package on boarding or changes.
type: object type: object
required: required:
- callbackUri - callbackUri
...@@ -414,7 +472,7 @@ definitions: ...@@ -414,7 +472,7 @@ definitions:
vnfSoftwareVersion: vnfSoftwareVersion:
description: > description: >
VNF software version to match VNF software version to match
$ref: "#/definitions/Version" $ref: "SOL005_def.yaml#/definitions/Version"
vnfdVersions: vnfdVersions:
description: > description: >
If present, match VNF packages that contain If present, match VNF packages that contain
...@@ -423,7 +481,7 @@ definitions: ...@@ -423,7 +481,7 @@ definitions:
name, from one particular provider. name, from one particular provider.
type: array type: array
items: items:
$ref: "#/definitions/Version" $ref: "SOL005_def.yaml#/definitions/Version"
vnfdId: vnfdId:
description: > description: >
...@@ -463,4 +521,138 @@ definitions: ...@@ -463,4 +521,138 @@ definitions:
absent otherwise. absent otherwise.
type: array type: array
items: items:
$ref: "#/definitions/PackageUsageStateType" $ref: "#/definitions/PackageUsageStateType"
\ No newline at end of file
VnfPackageOnboardingNotification:
description: >
This type represents a VNF package management notification, which informs the receiver that the on boarding process
of a VNF package incomplete and the package is ready for use. A change of the on-boarding state before the VNF
package is on-boarded is not reported. It shall comply with the provisions defined in Table 9.5.2.8-1. The support of this
notification is mandatory. The notification shall be triggered by the NFVO when the value of the "onboardingState"
attribute of a new VNF package has changed to "ONBOARDED".
type: object
required:
- id
- notificationType
- timeStamp
- vnfPkgId
- vnfdId
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent
multiple times due to multiple subscriptions, the "id"
attribute of all these notifications shall have the same value.
$ref: "SOL005_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types.
Shall be set to "VnfPackageOnboardingNotification" for
this notification type.
type: string
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "SOL005_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date and time of the generation of the notification.
$ref: "SOL005_def.yaml#/definitions/DateTime"
vnfPkgId:
description: >
Identifier of the on-boarded VNF package. This identifier
is allocated by the NFVO.
Its value is the same as the value of the "id" attribute of
the related "Individual VNF package" resource.
$ref: "SOL005_def.yaml#/definitions/Identifier"
vnfdId:
description: >
This identifier, which is managed by the VNF provider,
identifies the VNF package and the VNFD in a globally
unique way.
It is copied from the VNFD of the on-boarded VNF package.
$ref: "SOL005_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
$ref: "#/definitions/PkgmLinks"
VnfPackageChangeNotification:
description: >
This type represents a VNF package management notification, which informs the receiver of a change of the status in an
on-boarded VNF package. Only changes in the "operationalState" attribute of an on-boarded VNF package and the
deletion of the VNF package will be reported. Change in the "usageState" and "onboardingState" attributes are not
reported. The notification shall comply with the provisions defined in Table 9.5.2.9-1. The support of this notification is
mandatory. The notification shall be triggered by the NFVO when there is a change in the status of an onboarded VNF
package, as follows.
• The "operationalState" attribute of a VNF package has changed, and the "onboardingState" attribute of the
package has the value "ONBOARDED".
• The on-boarded VNF package has been deleted.
type: object
required:
- id
- notificationType
- timeStamp
- vnfPkgId
- vnfdId
- changeType
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent
multiple times due to multiple subscriptions, the "id"
attribute of all these notifications shall have the same value.
$ref: "SOL005_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types.
Shall be set to "VnfPackageChangeNotification" for this
notification type.
type: string
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "SOL005_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date and time of the generation of the notification.
$ref: "SOL005_def.yaml#/definitions/DateTime"
vnfPkgId:
description: >
Identifier of the on-boarded VNF package. This identifier
is allocated by the NFVO.
Its value is the same as the value of the "id" attribute of
the related "Individual VNF package" resource.
$ref: "SOL005_def.yaml#/definitions/Identifier"
vnfdId:
description: >
Identifier of the VNFD contained in the VNF package,
which also identifies the VNF package. This identifier is
allocated by the VNF provider and copied from the VNFD.
$ref: "SOL005_def.yaml#/definitions/Identifier"
changeType:
description: >
The type of change of the VNF package.
$ref: "#/definitions/PackageChangeType"
operationalState:
description: >
New operational state of the VNF package.
Only present when changeType is OP_STATE_CHANGE.
$ref: "#/definitions/PackageOperationalStateType"
_links:
description: >
Links to resources related to this notification.
$ref: "#/definitions/PkgmLinks"
PackageChangeType:
type: "string"
description: >
The enumeration PackageChangeType shall comply with the provisions defined in Table 9.5.4.6-1.
Permitted Values:
- OP_STATE_CHANGE: The "operationalState" attribute has been changed.
- PKG_DELETE: The VNF package has been deleted.
enum:
- "OP_STATE_CHANGE"
- "PKG_DELETE"
\ No newline at end of file
...@@ -42,7 +42,6 @@ ...@@ -42,7 +42,6 @@
type: object type: object
ProblemDetails: ProblemDetails:
#SOL005 location: 4.3.5.3-1
description: > description: >
The definition of the general "ProblemDetails" data structure from The definition of the general "ProblemDetails" data structure from
IETF RFC 7807 [19] is reproduced inthis structure. Compared to the IETF RFC 7807 [19] is reproduced inthis structure. Compared to the
...@@ -105,8 +104,34 @@ ...@@ -105,8 +104,34 @@
Uri: Uri:
description: > description: >
String formatted according to IETF RFC 3986. String formatted according to IETF RFC 3986.
type: string
Version:
description: >
Software version of the VNF. This is
changed when there is any change to the
software included in the VNF package.
This information is copied from the VNFD.
It shall be present after the VNF package
content has been on-boarded and absent otherwise.
type: string type: string
Checksum:
description: >
This type represents the checksum of a VNF package or an artifact file.
required:
- algorithm
- hash
type: object
properties:
algorithm:
description: >
Name of the algorithm used to generate the checksum,
as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.
type: string
hash:
description: >
The hexadecimal value of the checksum.
type: string
SubscriptionAuthentication: SubscriptionAuthentication:
type: object type: object
required: required:
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
minimum: 0 minimum: 0
206: 206:
description: > description: >
Partial Content Partial Content.
On success, if the NFVO supports range requests, a On success, if the NFVO supports range requests, a
single consecutive byte range from the content of the single consecutive byte range from the content of the
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409: 409:
description: > description: >
Conflict Conflict.
Error: The operation cannot be executed Error: The operation cannot be executed
currently, due to a conflict with the state of currently, due to a conflict with the state of
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
409-another-nsd-operation-ongoing: 409-another-nsd-operation-ongoing:
description: > description: >
Conflict Conflict.
The operation cannot be executed currently, due to a conflict with the The operation cannot be executed currently, due to a conflict with the
state of the NS instance resource. state of the NS instance resource.
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-inconsistent-state: 409-inconsistent-state:
description: > description: >
Conflict Conflict.
Another request is in progress that prohibits the fulfilment of Another request is in progress that prohibits the fulfilment of
the current request, or the current resource state is inconsistent the current request, or the current resource state is inconsistent
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-state-conflict-INSTANTIATED: 409-state-conflict-INSTANTIATED:
description: > description: >
Conflict Conflict.
The operation cannot be executed currently, due to a conflict with the The operation cannot be executed currently, due to a conflict with the
state of the NS instance resource. state of the NS instance resource.
...@@ -210,7 +210,7 @@ ...@@ -210,7 +210,7 @@
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-state-conflict-NOT-INSTANTIATED: 409-state-conflict-NOT-INSTANTIATED:
description: > description: >
Conflict Conflict.
The operation cannot be executed currently, due to a conflict with the The operation cannot be executed currently, due to a conflict with the
state of the NS instance resource. state of the NS instance resource.
...@@ -237,7 +237,7 @@ ...@@ -237,7 +237,7 @@
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-state-conflict-ONBOARDING: 409-state-conflict-ONBOARDING:
description: > description: >
Conflict Conflict.
Error: The operation cannot be executed currently, Error: The operation cannot be executed currently,
due to a conflict with the state of the resource. due to a conflict with the state of the resource.
...@@ -264,11 +264,11 @@ ...@@ -264,11 +264,11 @@
$ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails" $ref: "../definitions/SOL005_def.yaml#/definitions/ProblemDetails"
409-state-conflict-ONBOARDING-NOT-CREATED: 409-state-conflict-ONBOARDING-NOT-CREATED:
description: > description: >
Conflict Conflict.
Error: The operation cannot be executed currently,