rAppInstanceId and Sme discovery endpoint has been passed to k8s participant.
The invoker gets created as part of the rApp instance is using rApp instance Id as invoker id.
Issue-ID: NONRTRIC-988
Change-Id: Iff684bcec554a004b3e4b8e5a2728148941a7a4f
Signed-off-by: aravind.est <aravindhan.a@est.tech>
@Override
public boolean deployRappInstance(Rapp rapp, RappInstance rappInstance) {
try {
- String instantiationPayload =
- rappCsarConfigurationHandler.getInstantiationPayload(rapp, rappInstance.getAcm(),
+ String instantiationPayload = rappCsarConfigurationHandler.getInstantiationPayload(rapp, rappInstance,
rapp.getCompositionId());
AutomationComposition automationComposition =
gson.fromJson(instantiationPayload, AutomationComposition.class);
import com.oransc.rappmanager.acm.configuration.ACMConfiguration;
import com.oransc.rappmanager.dme.service.DmeAcmInterceptor;
import com.oransc.rappmanager.models.cache.RappCacheService;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.rapp.Rapp;
import com.oransc.rappmanager.models.rapp.RappEvent;
@SpringBootTest(
classes = {BeanTestConfiguration.class, ACMConfiguration.class, AcmDeployer.class, DmeAcmInterceptor.class,
- RappCsarConfigurationHandler.class, RappCacheService.class, RappInstanceStateMachineConfig.class,
- RappInstanceStateMachine.class})
+ RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class, RappCacheService.class,
+ RappInstanceStateMachineConfig.class, RappInstanceStateMachine.class})
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@AutoConfigureMockMvc
class AcmDeployerTest {
rappmanager:
acm:
- baseurl: http://10.101.3.22:30442/onap/policy/clamp/acm/v2/
+ baseurl: http://localhost:30442/onap/policy/clamp/acm/v2/
username: runtimeUser
password: zb!XztG34
maxRetries: 3
- retryInterval: 2 #seconds
\ No newline at end of file
+ retryInterval: 2 #seconds
+ rapps:
+ env:
+ smeDiscoveryEndpoint: http://localhost:53012/service-apis/v1/allServiceAPIs
\ No newline at end of file
rappmanager:
csarlocation: src/test/resources/csar
acm:
- baseurl: http://10.101.2.41:30442/onap/policy/clamp/acm/v2/
+ baseurl: http://localhost:30442/onap/policy/clamp/acm/v2/
username: runtimeUser
password: zb!XztG34
maxRetries: 10
retryInterval: 2 #seconds
sme:
- baseurl: http://localhost:56571 #http://10.101.3.22:61761
+ baseurl: http://localhost:56571
providerBasePath: /api-provider-management/v1/
invokerBasePath: /api-invoker-management/v1/
publishApiBasePath: /published-apis/v1/
maxRetries: 3
retryInterval: 2 #seconds
dme:
- baseurl: http://localhost:63475 #http://10.101.3.22:61761
+ baseurl: http://localhost:63475
+
+ rapps:
+ env:
+ smeDiscoveryEndpoint: http://localhost:53012/service-apis/v1/allServiceAPIs
spring:
jackson:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.rapp.Rapp;
import com.oransc.rappmanager.models.rapp.RappDmeResourceBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
-@SpringBootTest(classes = {ObjectMapper.class, RappCsarConfigurationHandler.class, DmeAcmInterceptor.class})
+@SpringBootTest(classes = {ObjectMapper.class, RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class,
+ DmeAcmInterceptor.class})
class DmeAcmInterceptorTest {
@Autowired
import com.fasterxml.jackson.databind.ObjectMapper;
import com.oransc.rappmanager.dme.configuration.DmeConfiguration;
import com.oransc.rappmanager.models.cache.RappCacheService;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.rapp.Rapp;
import com.oransc.rappmanager.models.rapp.RappDmeResourceBuilder;
import org.springframework.web.client.RestTemplate;
@SpringBootTest(classes = {DmeConfiguration.class, DmeDeployer.class, BeanTestConfiguration.class,
- RappCsarConfigurationHandler.class, RappCacheService.class, RappInstanceStateMachineConfig.class,
- RappInstanceStateMachine.class})
+ RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class, RappCacheService.class,
+ RappInstanceStateMachineConfig.class, RappInstanceStateMachine.class})
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@AutoConfigureMockMvc
class DmeDeployerTest {
--- /dev/null
+/*-
+ * ============LICENSE_START======================================================================
+ * Copyright (C) 2024 OpenInfra Foundation Europe. All rights reserved.
+ * ===============================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END========================================================================
+ */
+
+package com.oransc.rappmanager.models.configuration;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConfigurationProperties(prefix = "rappmanager.rapps.env")
+@Data
+public class RappsEnvironmentConfiguration {
+
+ String smeDiscoveryEndpoint;
+}
\ No newline at end of file
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.rapp.Rapp;
import com.oransc.rappmanager.models.rapp.RappResources;
-import com.oransc.rappmanager.models.rappinstance.RappACMInstance;
+import com.oransc.rappmanager.models.rappinstance.RappInstance;
import com.oransc.rappmanager.models.rappinstance.RappSMEInstance;
import java.io.ByteArrayOutputStream;
import java.io.File;
Logger logger = LoggerFactory.getLogger(RappCsarConfigurationHandler.class);
private final ObjectMapper objectMapper;
+ private final RappsEnvironmentConfiguration rappsEnvironmentConfiguration;
public Path getRappPackageLocation(String csarLocation, String rappId, String fileName) {
return Path.of(csarLocation, rappId, fileName);
}
- public String getInstantiationPayload(Rapp rapp, RappACMInstance rappACMInstance, UUID compositionId) {
- return getPayload(rapp,
- getResourceUri(RappCsarPathProvider.ACM_INSTANCES_LOCATION, rappACMInstance.getInstance())).replaceAll(
- "DO_NOT_CHANGE_THIS_COMPOSITION_ID", String.valueOf(compositionId));
+ public String getInstantiationPayload(Rapp rapp, RappInstance rappInstance, UUID compositionId) {
+ return getPayload(rapp, getResourceUri(RappCsarPathProvider.ACM_INSTANCES_LOCATION,
+ rappInstance.getAcm().getInstance())).replace("DO_NOT_CHANGE_THIS_COMPOSITION_ID",
+ String.valueOf(compositionId))
+ .replace("DO_NOT_CHANGE_THIS_RAPP_INSTANCE_ID", String.valueOf(rappInstance.getRappInstanceId()))
+ .replace("DO_NOT_CHANGE_THIS_SME_DISCOVERY_ENDPOINT",
+ rappsEnvironmentConfiguration.getSmeDiscoveryEndpoint());
}
public ByteArrayResource getArtifactPayload(Rapp rapp, String location) {
}
-
-
public String getSmeProviderDomainPayload(Rapp rapp, RappSMEInstance rappSMEInstance) {
return getPayload(rapp, getResourceUri(RappCsarPathProvider.SME_PROVIDER_FUNCS_LOCATION,
rappSMEInstance.getProviderFunction()));
getResourceUri(RappCsarPathProvider.SME_SERVICE_APIS_LOCATION, rappSMEInstance.getServiceApis()));
}
- public String getSmeInvokerPayload(Rapp rapp, RappSMEInstance rappSMEInstance) {
- return getPayload(rapp,
- getResourceUri(RappCsarPathProvider.SME_INVOKERS_LOCATION, rappSMEInstance.getInvokers()));
+ public String getSmeInvokerPayload(Rapp rapp, RappInstance rappInstance) {
+ return getPayload(rapp, getResourceUri(RappCsarPathProvider.SME_INVOKERS_LOCATION,
+ rappInstance.getSme().getInvokers())).replace("DO_NOT_CHANGE_THIS_RAPP_INSTANCE_ID",
+ String.valueOf(rappInstance.getRappInstanceId()));
}
public String getAcmCompositionPayload(Rapp rapp) {
import static org.junit.jupiter.api.Assertions.assertTrue;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.rapp.Rapp;
import com.oransc.rappmanager.models.rapp.RappResources;
import org.springframework.test.context.ContextConfiguration;
@SpringBootTest
-@ContextConfiguration(classes = {ObjectMapper.class, RappCsarConfigurationHandler.class})
+@ContextConfiguration(
+ classes = {ObjectMapper.class, RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class})
class RappServiceEnablerTest {
@Autowired
import static org.mockito.Mockito.mock;
import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.JsonSyntaxException;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.rapp.Rapp;
import com.oransc.rappmanager.models.rapp.RappResources;
import com.oransc.rappmanager.models.rappinstance.RappACMInstance;
import com.oransc.rappmanager.models.rappinstance.RappDMEInstance;
+import com.oransc.rappmanager.models.rappinstance.RappInstance;
import com.oransc.rappmanager.models.rappinstance.RappSMEInstance;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.util.Set;
import java.util.UUID;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
+import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.SpyBean;
import org.springframework.test.context.ContextConfiguration;
@SpringBootTest
-@ContextConfiguration(classes = {ObjectMapper.class, RappCsarConfigurationHandler.class})
+@EnableConfigurationProperties
+@ContextConfiguration(
+ classes = {ObjectMapper.class, RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class})
class RappCsarConfigurationHandlerTest {
@SpyBean
RappCsarConfigurationHandler rappCsarConfigurationHandler;
+ @Autowired
+ RappsEnvironmentConfiguration rappsEnvironmentConfiguration;
+ @Autowired
+ ObjectMapper objectMapper;
String validCsarFileLocation = "src/test/resources/";
private final String invalidRappEmptyAsdFile = "invalid-rapp-package-empty-asd-yaml.csar";
@Test
- void testCsarInstantiationPayload() throws JSONException {
+ void testCsarInstantiationPayload() throws JSONException, JsonProcessingException {
Rapp rapp = Rapp.builder().name("").packageName(validRappFile).packageLocation(validCsarFileLocation).build();
UUID compositionId = UUID.randomUUID();
- RappACMInstance rappACMInstance = new RappACMInstance();
- rappACMInstance.setInstance("kserve-instance");
- JSONObject jsonObject = new JSONObject(
- rappCsarConfigurationHandler.getInstantiationPayload(rapp, rappACMInstance, compositionId));
- assertEquals(jsonObject.get("compositionId"), String.valueOf(compositionId));
+ RappInstance rappInstance = new RappInstance();
+ RappACMInstance rappKserveACMInstance = new RappACMInstance();
+ rappKserveACMInstance.setInstance("kserve-instance");
+ rappInstance.setAcm(rappKserveACMInstance);
+ JSONObject kserveInstanceJsonObject =
+ new JSONObject(rappCsarConfigurationHandler.getInstantiationPayload(rapp, rappInstance, compositionId));
+ assertEquals(kserveInstanceJsonObject.get("compositionId"), String.valueOf(compositionId));
+ RappACMInstance rappK8sACMInstance = new RappACMInstance();
+ rappK8sACMInstance.setInstance("k8s-instance");
+ rappInstance.setAcm(rappK8sACMInstance);
+ JsonNode jsonNode = objectMapper.readTree(
+ rappCsarConfigurationHandler.getInstantiationPayload(rapp, rappInstance, compositionId));
+ assertEquals(jsonNode.get("compositionId").asText(), String.valueOf(compositionId));
+ JsonNode overrideParamsNode = jsonNode.at("/elements").elements().next().at("/properties/chart/overrideParams");
+ System.out.println(overrideParamsNode);
+ assertEquals(overrideParamsNode.get("appId").asText(), rappInstance.getRappInstanceId().toString());
+ assertEquals(overrideParamsNode.get("smeDiscoveryEndpoint").asText(),
+ rappsEnvironmentConfiguration.getSmeDiscoveryEndpoint());
}
@Test
void testGetSmeInvokerPayload() {
UUID rappId = UUID.randomUUID();
RappSMEInstance rappSMEInstance = new RappSMEInstance();
- rappSMEInstance.setServiceApis("invoker-app1");
+ rappSMEInstance.setInvokers("invoker-app1");
+ RappInstance rappInstance = new RappInstance();
+ rappInstance.setSme(rappSMEInstance);
Rapp rapp =
Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
.build();
- String smeProviderDomainPayload = rappCsarConfigurationHandler.getSmeInvokerPayload(rapp, rappSMEInstance);
- assertNotNull(smeProviderDomainPayload);
+ JSONArray smeInvokerPayload =
+ new JSONArray(rappCsarConfigurationHandler.getSmeInvokerPayload(rapp, rappInstance));
+ assertNotNull(smeInvokerPayload);
+ assertEquals(smeInvokerPayload.getJSONObject(0).getString("apiInvokerInformation"),
+ rappInstance.getRappInstanceId().toString());
}
@Test
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doCallRealMethod;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.exception.RappValidationException;
import java.io.ByteArrayOutputStream;
@SpringBootTest
@ContextConfiguration(classes = {ArtifactDefinitionValidator.class, RappValidationUtils.class, ObjectMapper.class,
- RappCsarConfigurationHandler.class})
+ RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class})
class ArtifactDefinitionValidatorTest {
@Autowired
}
-
@ParameterizedTest
@NullSource
@ValueSource(strings = {"{asasdasd"})
import com.fasterxml.jackson.databind.ObjectMapper;
import com.oransc.rappmanager.models.BeanTestConfiguration;
import com.oransc.rappmanager.models.cache.RappCacheService;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.AsdMetadata;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.exception.RappValidationException;
@SpringBootTest
@ContextConfiguration(classes = {BeanTestConfiguration.class, AsdDescriptorValidator.class, RappValidationUtils.class,
- ObjectMapper.class, RappCsarConfigurationHandler.class, RappCacheService.class, CacheManager.class})
+ ObjectMapper.class, RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class,
+ RappCacheService.class, CacheManager.class})
class AsdDescriptorValidatorTest {
@Autowired
import static org.junit.jupiter.api.Assertions.assertThrows;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.exception.RappValidationException;
import java.io.File;
@SpringBootTest
@ContextConfiguration(classes = {FileExistenceValidator.class, RappValidationUtils.class, ObjectMapper.class,
- RappCsarConfigurationHandler.class})
+ RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class})
class FileExistenceValidatorTest {
@Autowired
import com.fasterxml.jackson.databind.ObjectMapper;
import com.oransc.rappmanager.models.BeanTestConfiguration;
import com.oransc.rappmanager.models.cache.RappCacheService;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.exception.RappValidationException;
import java.io.File;
@SpringBootTest
@ContextConfiguration(classes = {BeanTestConfiguration.class, RappValidationHandler.class, NamingValidator.class,
FileExistenceValidator.class, ArtifactDefinitionValidator.class, AsdDescriptorValidator.class,
- RappValidationUtils.class, RappCsarConfigurationHandler.class, ObjectMapper.class, RappCacheService.class})
+ RappValidationUtils.class, RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class,
+ ObjectMapper.class, RappCacheService.class})
class RappValidationHandlerTest {
@Autowired
import static org.mockito.Mockito.when;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.csar.RappCsarPathProvider;
import com.oransc.rappmanager.models.exception.RappValidationException;
import org.springframework.web.multipart.MultipartFile;
@SpringBootTest
-@ContextConfiguration(classes = {RappValidationUtils.class, ObjectMapper.class, RappCsarConfigurationHandler.class})
+@ContextConfiguration(classes = {RappValidationUtils.class, ObjectMapper.class, RappsEnvironmentConfiguration.class,
+ RappCsarConfigurationHandler.class})
class RappValidationUtilsTest {
String validCsarFileLocation = "src/test/resources/";
RappValidationException exception = assertThrows(RappValidationException.class,
() -> rappValidationUtils.getFileFromCsar(multipartFile, null));
assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode());
- assertEquals(String.format("Unable to get file %s from the multipart CSAR file", (Object) null), exception.getMessage());
+ assertEquals(String.format("Unable to get file %s from the multipart CSAR file", (Object) null),
+ exception.getMessage());
}
@Test
--- /dev/null
+rappmanager:
+ rapps:
+ env:
+ smeDiscoveryEndpoint: http://localhost:53012/service-apis/v1/allServiceAPIs
boolean createInvoker(Rapp rapp, RappInstance rappInstance) {
logger.debug("Creating provider domain for Rapp {}", rapp.getName());
try {
- String invokerPayload = rappCsarConfigurationHandler.getSmeInvokerPayload(rapp, rappInstance.getSme());
+ String invokerPayload = rappCsarConfigurationHandler.getSmeInvokerPayload(rapp, rappInstance);
if (invokerPayload != null) {
List<APIInvokerEnrolmentDetails> apiInvokerEnrolmentDetails =
objectMapper.readValue(invokerPayload, new TypeReference<>() { });
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.oransc.rappmanager.models.cache.RappCacheService;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.rapp.Rapp;
import com.oransc.rappmanager.models.rapp.RappState;
import org.springframework.web.client.RestTemplate;
@SpringBootTest(classes = {SmeConfiguration.class, SmeDeployer.class, BeanTestConfiguration.class,
- RappCsarConfigurationHandler.class, RappCacheService.class, RappInstanceStateMachineConfig.class,
- RappInstanceStateMachine.class})
+ RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class, RappCacheService.class,
+ RappInstanceStateMachineConfig.class, RappInstanceStateMachine.class})
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
@AutoConfigureMockMvc
class SmeDeployerTest {
"repository": {
"repoName": "local",
"address": "UPDATE_THIS_CHART_MUSEUM_GET_CHARTS_URI"
+ },
+ "overrideParams": {
+ "appId": "DO_NOT_CHANGE_THIS_RAPP_INSTANCE_ID",
+ "smeDiscoveryEndpoint": "DO_NOT_CHANGE_THIS_SME_DISCOVERY_ENDPOINT"
}
}
}
"repository": {
"repoName": "local",
"address": "UPDATE_THIS_CHART_MUSEUM_GET_CHARTS_URI"
+ },
+ "overrideParams": {
+ "appId": "DO_NOT_CHANGE_THIS_RAPP_INSTANCE_ID",
+ "smeDiscoveryEndpoint": "DO_NOT_CHANGE_THIS_SME_DISCOVERY_ENDPOINT"
}
}
}
[
{
- "apiInvokerInformation": "Invoker App 1",
+ "apiInvokerInformation": "DO_NOT_CHANGE_THIS_RAPP_INSTANCE_ID",
"apiList": [
{}
],
[
{
- "apiInvokerInformation": "Invoker App 2",
+ "apiInvokerInformation": "DO_NOT_CHANGE_THIS_RAPP_INSTANCE_ID",
"apiList": [
{}
],
-{\r
- "name": "K8DemoInstance0",\r
- "version": "1.0.1",\r
- "compositionId": "DO_NOT_CHANGE_THIS_COMPOSITION_ID",\r
- "description": "Demo automation composition instance 0",\r
- "elements": {\r
- "d7be552e-bcc5-4478-b64d-797dbaec8f55": {\r
- "id": "d7be552e-bcc5-4478-b64d-797dbaec8f55",\r
- "definition": {\r
- "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",\r
- "version": "1.2.3"\r
- },\r
- "description": "Starter Automation Composition Element for the Hello World",\r
- "properties": {\r
- "chart": {\r
- "chartId": {\r
- "name": "hello-world-chart",\r
- "version": "0.1.0"\r
- },\r
- "namespace": "nonrtric",\r
- "releaseName": "hello-world-chart",\r
- "podName": "hello-world-chart",\r
- "repository": {\r
- "repoName": "local",\r
- "address": "UPDATE_THIS_CHART_MUSEUM_GET_CHARTS_URI"\r
- }\r
- }\r
- }\r
- }\r
- }\r
+{
+ "name": "K8DemoInstance0",
+ "version": "1.0.1",
+ "compositionId": "DO_NOT_CHANGE_THIS_COMPOSITION_ID",
+ "description": "Demo automation composition instance 0",
+ "elements": {
+ "d7be552e-bcc5-4478-b64d-797dbaec8f55": {
+ "id": "d7be552e-bcc5-4478-b64d-797dbaec8f55",
+ "definition": {
+ "name": "onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement",
+ "version": "1.2.3"
+ },
+ "description": "Starter Automation Composition Element for the Hello World",
+ "properties": {
+ "chart": {
+ "chartId": {
+ "name": "hello-world-chart",
+ "version": "0.1.0"
+ },
+ "namespace": "nonrtric",
+ "releaseName": "hello-world-chart",
+ "podName": "hello-world-chart",
+ "repository": {
+ "repoName": "local",
+ "address": "UPDATE_THIS_CHART_MUSEUM_GET_CHARTS_URI"
+ },
+ "overrideParams": {
+ "appId": "DO_NOT_CHANGE_THIS_RAPP_INSTANCE_ID",
+ "smeDiscoveryEndpoint": "DO_NOT_CHANGE_THIS_SME_DISCOVERY_ENDPOINT"
+ }
+ }
+ }
+ }
+ }
}
\ No newline at end of file