...
Attribute Name | Data Type | Cardinality | Description |
---|---|---|---|
asdId | Identifier (UUID) | 1 | Identifier that identifies the ASD which defines the AS instance to be created. |
asInstanceName | String | 0..1 | Human-readable name of the AS instance to be created. |
asInstanceDescription | String | 0..1 | Human-readable description of the AS instance to be created. |
metadata | KeyValuePairs | 0..1 | If present, this attribute provides additional initial values, overriding those obtained from the ASD, for the metadata attribute in "AsInstance". |
Instantiate AS Instance Resource
...
Attribute Name | Data Type | Cardinality | Description |
---|---|---|---|
asdExtCpdInputParamMapping | ExtCpdParamMappingMetadataExtCpdParams | 0..1N | ext cpd parameter instance-level value |
deploymentItems | DeploymentItemMetadata | 1..N | lifecycle parameters for deploymentItems |
additionalParams | KeyValuePairs | 0..1 | Additional input parameters for the instantiation process (this is a pace holder to hold any additional parameters) |
...
ExtCpdParams
loadbalanceIP
loadbalanceIP | String | 0..1 | When present, this attribute specifies the name of the deployment artifact input parameter through which the orchestrator can configure the loadbalancerIP parameter contains the IP address to configure the loadBalancer of the K8s service or ingress controller that the ExtCpd represents. |
externalIPs | KeyValuePairsString | 0..1N | When present, this attribute specifies the name of the deployment artifact input parameter through which the orchestrator can configure the extermalIPs parameter of the K8s service or ingress controller, or the pod network interface annotation, that the ExtCpd represents. The param name and provided IP address(es) value will be passed to the deployment tool when deploying the DeploymentArtifacts. |
nadNames | KeyValuePairsString | 0..1N | These attributes specifies, for an ExtCpd representing a secondary network interface, the name(s) of the network attachment definitions (NADs) the orchestrator has created as base for the network interface the ExtCpd represents. It is expected that the NADs themselves have been created prior to the deployment of the deployment artifacts. |
nadNamespace | String | 0..1 | Specifies, for an asdExtCpd representing a secondary network interface, the namespace where the NADs are located. Attribute may be omitted if the namespace is same as the application namespace. |
...
Attribute Name | Data Type | Cardinality | Description |
---|---|---|---|
asInstanceId | Identifier | 1 | Identifier of the AS instance |
asInstanceName | String | 0..1 | Name of the AS instance. This attribute can be modified with the PATCH method. |
asInstanceDescription | String | 0..1 | Human-readable description of the AS instance. This attribute can be modified with the PATCH method. |
asdId | Identifier | 1 | Identifier of the VNFD on which the VNF instance is based. |
asProvider | String | 1 | Provider of the AS instance. The value is copied from the ASD. |
asApplicationName | String | 1 | Name to identify the AS instance. |
asVersion | Version | 1 | Specifies the version of the Application (so, if software, DeploymentArtifacts , ASD values, ... change, this changes). |
asInfoName | String | 0..1 | Human readable name for the Application service instance. |
asInfoDescription | String | 0..1 | Human readable description of the AS instance |
... |
Register K8S Clusters
To instantiate an AS on an non-ONAP K8S cluster, a cluster configuration file that is specific to the cluster must be uploaded.
To add a cluster configuration file of a cluster, create a POST request .../aslcm/v1/clusterconfigs will be performed.
- CNFM receives the clusterconfigs info and creates a cluster configuration file (cluster name + "." + "config" to the ./kube directory.
The kubectl configuration file is used to the body of the request to define external K8S clusters.
The cluster configuration file for a particular cluster must be retrieved from the cluster administrator.
Should the cluster configuration file change for any reason, e.g., CA certificate rotation on the target cluster or client key expires, then the cluster file registered in SO CNFM/AAI shall need to be updated.
The target cluster server and port must be reachable from the SO CNFM.
- to verify the connectdion to the target cluster, run the following command from the ONAP K8S cluster
- kubectl --kubeconfig ${PATH_TO_TARGET_CLUSTER_CONFIGURATION_FILE} get namespaces
Deregister K8S Clusters
To remove a cluster configruation file, create a DELETE request. .../aslcm/v1/clusterconfig/{configName}
CNFM will remove the "configName" + "." + "config" file from the .kube directory.
The command returns the HTTP status code 204 No Content
List Registered K8S Clusters
To get details about registered clusters, create a GET request .../aslcm/v1/clusterconfigs
The API returns a paginated response, but if a customized response is needed, additional parameters for page, size, sor and filtering could be applied.
Swagger File
The following is ASD LCM Restful API Swagger file (work in progress)
...