--- /dev/null
+{
+ "tags": "k8s, cnf, profile, k8s version, k8s-rb-profile-k8s-version",
+ "name": "k8s-rb-profile-k8s-version",
+ "property": {
+ "description": "Profile k8s version used in multicloud/k8s plugin",
+ "type": "string"
+ },
+ "group": "default",
+ "updated-by": "Rajewski, Lukasz <lukasz.rajewski@orange.com>",
+ "sources": {
+ "input": {
+ "type": "source-input"
+ },
+ "default": {
+ "type": "source-default",
+ "properties": {}
+ },
+ "sdnc": {
+ "type": "source-rest",
+ "properties": {
+ "verb": "GET",
+ "type": "JSON",
+ "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/k8s-rb-profile-k8s-version",
+ "path": "/param/0/value",
+ "input-key-mapping": {
+ "service-instance-id": "service-instance-id",
+ "vnf-id": "vnf-id"
+ },
+ "output-key-mapping": {
+ "k8s-rb-profile-k8s-version": "value"
+ },
+ "key-dependencies": [
+ "service-instance-id",
+ "vnf-id"
+ ]
+ }
+ }
+ }
+}
const val INPUT_K8S_DEFINITION_NAME = "k8s-rb-definition-name"
const val INPUT_K8S_DEFINITION_VERSION = "k8s-rb-definition-version"
const val INPUT_K8S_PROFILE_NAMESPACE = "k8s-rb-profile-namespace"
+ const val INPUT_K8S_PROFILE_K8S_VERSION = "k8s-rb-profile-k8s-version"
const val INPUT_K8S_PROFILE_SOURCE = "k8s-rb-profile-source"
const val INPUT_RESOURCE_ASSIGNMENT_MAP = "resource-assignment-map"
const val INPUT_ARTIFACT_PREFIX_NAMES = "artifact-prefix-names"
INPUT_K8S_DEFINITION_NAME,
INPUT_K8S_DEFINITION_VERSION,
INPUT_K8S_PROFILE_NAMESPACE,
+ INPUT_K8S_PROFILE_K8S_VERSION,
INPUT_K8S_PROFILE_SOURCE,
INPUT_ARTIFACT_PREFIX_NAMES
)
if ((profileName == null) || (definitionName == null) || (definitionVersion == null)) {
log.warn("Prefix $prefix does not have required data for us to continue.")
} else if (!api.hasDefinition(definitionName, definitionVersion)) {
- log.warn("K8s RB Definition ($definitionName/$definitionVersion) not found ")
+ throw BlueprintProcessorException("K8s RB Definition ($definitionName/$definitionVersion) not found ")
} else if (profileName == "") {
log.warn("K8s rb profile name is empty! Either define profile name to use or choose default")
} else if (api.hasProfile(definitionName, definitionVersion, profileName)) {
log.info("Uploading K8s Profile..")
outputPrefixStatuses.put(prefix, OUTPUT_ERROR)
val profileNamespace: String? = prefixInputParamsMap[INPUT_K8S_PROFILE_NAMESPACE]?.returnNullIfMissing()?.asText()
+ val profileK8sVersion: String? = prefixInputParamsMap[INPUT_K8S_PROFILE_K8S_VERSION]?.returnNullIfMissing()?.asText()
var profileSource: String? = prefixInputParamsMap[INPUT_K8S_PROFILE_SOURCE]?.returnNullIfMissing()?.asText()
if (profileNamespace == null)
throw BlueprintProcessorException("Profile $profileName namespace is missing")
profile.rbName = definitionName
profile.rbVersion = definitionVersion
profile.namespace = profileNamespace
+ if (profileK8sVersion != null)
+ profile.kubernetesVersion = profileK8sVersion
val profileFilePath: Path = prepareProfileFile(profileName, profileSource, artifact.file)
api.createProfile(definitionName, definitionVersion, profile)
api.uploadProfileContent(definitionName, definitionVersion, profile, profileFilePath)