Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Meeting Info & logistics:

Introduction:

In today, many complex applications are consisting in a mixed, complex workload, that is described in many Kubernetes resources, e.g. to be run on a certain cluster, etc.  In order to deploy the application, the orchestration task would be requiring dealing with different abstract layers of resources, different templates system mapping, and application packaging.  Another challenge is to keep up with changes in the cloud infrastructures features enhancement mapping into abstract resource template.

...

The overall objective is to keep the items in the descriptor to the bare minimum information, and not duplicate any attributes that might be instead extracted from the Helm Charts. This helps maintain the principle that Helm Charts are the primary deployment artifact for a containerized application and avoids any possible source of error or confusion that such duplication would cause.


Attribute

Qualifier

#

Type

Description

asdId

M

1

Identifier

Identifier of this ASD information element. This attribute shall be globally unique. The format will be defined in the data model specification phase.

asdSchemaVersion

M

1

Version

Specifies the version of the ASD’s schema (if we modify an ASD field definition, add/remove field definitions, etc.).

asdProvider

M

1

String

Provider of the AS and of the ASD.

asdApplicationName

M

1

String

Name to identify the Application Service. Invariant for the AS lifetime.

asdApplicationVersion

M

1

Version

Specifies the version of the Application (so, if software,

DeploymentArtifacts , ASD values, ... change, this changes).

asdApplicationInfoName

O

0..1

String

Human readable name for the Application service. Can change during the AS lifetime.

asdInfoDescription

O

0..1

String

Human readable description of the AS. Can change during the AS lifetime.

asdExtCpd

O

0..N

Tbd

Describes external interface(s) exposed by this AS enabling connection with a VL. (Similar to VnfExtCpd on VNF-D, but only describing L3 and above interfaces, since K8S can’t do <L3

extraServiceRequirements

O

0..N

Tbd

(include here Kubernetes NFDs) < - a flat list from Helm charts

enhancedClusterCapabilities

O

0..N

Tbd

Describes expected capabilities of the target Kubernetes cluster to aid placement of the application service on a suitable cluster. Examples of capabilities are required networking characteristics, Kubernetes API extensions or quantifiable node specific resources. This attribute can contain information complementing information provided in the referenced DeploymentArtifacts.

Note: Modeling of enhancedClusterCapabilities is subject to standardization but is ffs. Alignment between O2-IMS and O2-DMS of these values is required.

deploymentItems

M

1..N

DeploymentItem

Deployment artifacts (see next table)


The initial attributes essentially describe the application – a unique identifier, a schema version (that enables versioning the data model of the descriptor itself), and basic metadata, like application name and version and human-readable descriptive fields.

...

Finally, “deploymentItems” is a list of deployment items, i.e. Helm Charts, that together can deploy an application. The table below shows the information element of these deployment item descriptors.

Attribute

Qualifier

#

Content

Description

deploymentItemId

M

1

Identifier

The identifier of this deployment item

artifactId

M

1

Identifier

Reference to a DeploymentArtifact

deploymentOrder

O

0..1

Integer

Specifies the deployment stage that the DeploymentArtifact belongs to. A lower value specifies that the DeploymentArtifact belongs to an earlier deployment stage, i.e., needs to be installed prior to DeploymentArtifact with higher deploymentOrder values.

lifecycleParameters

Tbd

tbd

tbd

list of parameters that can be overridden at deployment time (e.g., values for values.yaml in the chart this item references)