diff options
author | xuegao <xg353y@intl.att.com> | 2020-03-23 14:30:56 +0100 |
---|---|---|
committer | xuegao <xg353y@intl.att.com> | 2020-03-23 14:42:07 +0100 |
commit | 3c327c1fe313cb31dcc914dcaee7f38255240099 (patch) | |
tree | 28933daca7a06749a778d1dba06ea99872603096 /src/main | |
parent | c405a83ec84c2bc1c090f06f9ac6207469e09cbb (diff) |
Populate deployment parameters
Create deployment parameters while creating loops.
Issue-ID: CLAMP-788
Change-Id: Icb4ebc786b87468846692744f27b697734015401
Signed-off-by: xuegao <xg353y@intl.att.com>
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/org/onap/clamp/loop/Loop.java | 2 | ||||
-rw-r--r-- | src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java | 60 | ||||
-rw-r--r-- | src/main/resources/clds/camel/routes/loop-flows.xml | 4 |
3 files changed, 27 insertions, 39 deletions
diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java index 605e42fd1..19a17dbb0 100644 --- a/src/main/java/org/onap/clamp/loop/Loop.java +++ b/src/main/java/org/onap/clamp/loop/Loop.java @@ -57,6 +57,7 @@ import org.onap.clamp.loop.common.AuditEntity; import org.onap.clamp.loop.components.external.DcaeComponent; import org.onap.clamp.loop.components.external.ExternalComponent; import org.onap.clamp.loop.components.external.PolicyComponent; +import org.onap.clamp.loop.deploy.DcaeDeployParameters; import org.onap.clamp.loop.log.LoopLog; import org.onap.clamp.loop.service.Service; import org.onap.clamp.loop.template.LoopElementModel; @@ -173,6 +174,7 @@ public class Loop extends AuditEntity implements Serializable { .createPolicyInstance(this, toscaConverter)); } }); + this.setGlobalPropertiesJson(DcaeDeployParameters.getDcaeDeploymentParametersInJson(this)); } public String getName() { diff --git a/src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java b/src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java index 48349e791..e2b16e62e 100644 --- a/src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java +++ b/src/main/java/org/onap/clamp/loop/deploy/DcaeDeployParameters.java @@ -26,11 +26,9 @@ package org.onap.clamp.loop.deploy; import com.google.gson.JsonObject; import java.util.LinkedHashMap; -import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; -import org.onap.clamp.clds.sdc.controller.installer.BlueprintArtifact; import org.onap.clamp.clds.util.JsonUtils; import org.onap.clamp.loop.Loop; import org.onap.clamp.policy.microservice.MicroServicePolicy; @@ -41,32 +39,27 @@ import org.yaml.snakeyaml.Yaml; */ public class DcaeDeployParameters { - private static LinkedHashMap<String, JsonObject> init(Set<BlueprintArtifact> blueprintArtifactList, Loop loop) { + private static LinkedHashMap<String, JsonObject> init(Loop loop) { LinkedHashMap<String, JsonObject> deploymentParamMap = new LinkedHashMap<>(); - String microServiceName = ((MicroServicePolicy) loop.getMicroServicePolicies().toArray()[0]).getName(); - // Add index to the microservice name from the 2nd blueprint artifact for now. - // Update the microservice names, when able to link the microserivce <-> - // blueprint in the future - int index = 0; - for (BlueprintArtifact blueprintArtifact : blueprintArtifactList) { - if (index > 0) { - deploymentParamMap.put(microServiceName + index, - generateDcaeDeployParameter(blueprintArtifact, microServiceName)); - } else { - deploymentParamMap.put(microServiceName, - generateDcaeDeployParameter(blueprintArtifact, microServiceName)); - } - index++; + Set<MicroServicePolicy> microServiceList = loop.getMicroServicePolicies(); + + for (MicroServicePolicy microService : microServiceList) { + deploymentParamMap.put(microService.getName(), + generateDcaeDeployParameter(microService)); } return deploymentParamMap; } - private static JsonObject generateDcaeDeployParameter(BlueprintArtifact blueprintArtifact, - String microServiceName) { + private static JsonObject generateDcaeDeployParameter(MicroServicePolicy microService) { + return generateDcaeDeployParameter(microService.getLoopElementModel().getBlueprint(), + microService.getName()); + } + + private static JsonObject generateDcaeDeployParameter(String blueprint, String tabName) { JsonObject deployJsonBody = new JsonObject(); Yaml yaml = new Yaml(); Map<String, Object> inputsNodes = ((Map<String, Object>) ((Map<String, Object>) yaml - .load(blueprintArtifact.getDcaeBlueprint())).get("inputs")); + .load(blueprint)).get("inputs")); inputsNodes.entrySet().stream().filter(e -> !e.getKey().contains("policy_id")).forEach(elem -> { Object defaultValue = ((Map<String, Object>) elem.getValue()).get("default"); if (defaultValue != null) { @@ -76,7 +69,7 @@ public class DcaeDeployParameters { } }); // For Dublin only one micro service is expected - deployJsonBody.addProperty("policy_id", microServiceName); + deployJsonBody.addProperty("policy_id", tabName); return deployJsonBody; } @@ -99,27 +92,20 @@ public class DcaeDeployParameters { * * @return The deploymentParameters in Json */ - public static JsonObject getDcaeDeploymentParametersInJson(Set<BlueprintArtifact> blueprintArtifactList, - Loop loop) { - LinkedHashMap<String, JsonObject> deploymentParamMap = init(blueprintArtifactList, loop); - + public static JsonObject getDcaeDeploymentParametersInJson(Loop loop) { JsonObject globalProperties = new JsonObject(); JsonObject deployParamJson = new JsonObject(); - for (Map.Entry<String, JsonObject> mapElement : deploymentParamMap.entrySet()) { - deployParamJson.add(mapElement.getKey(), mapElement.getValue()); + if (loop.getLoopTemplate().getUniqueBlueprint()) { + String tabName = "loop template blueprint"; + deployParamJson.add(tabName, generateDcaeDeployParameter(loop.getLoopTemplate().getBlueprint(), tabName)); + } else { + LinkedHashMap<String, JsonObject> deploymentParamMap = init(loop); + for (Map.Entry<String, JsonObject> mapElement : deploymentParamMap.entrySet()) { + deployParamJson.add(mapElement.getKey(), mapElement.getValue()); + } } globalProperties.add("dcaeDeployParameters", deployParamJson); return globalProperties; } - /** - * Convert the object in Json. - * - * @return The deploymentParameters in Json - */ - public static JsonObject getDcaeDeploymentParametersInJson(BlueprintArtifact blueprintArtifact, Loop loop) { - LinkedHashSet<BlueprintArtifact> blueprintArtifactList = new LinkedHashSet<>(); - blueprintArtifactList.add(blueprintArtifact); - return getDcaeDeploymentParametersInJson(blueprintArtifactList, loop); - } } diff --git a/src/main/resources/clds/camel/routes/loop-flows.xml b/src/main/resources/clds/camel/routes/loop-flows.xml index a4b6e2920..8c22743a3 100644 --- a/src/main/resources/clds/camel/routes/loop-flows.xml +++ b/src/main/resources/clds/camel/routes/loop-flows.xml @@ -59,10 +59,10 @@ <simple>${body.getName()}</simple> </setProperty> <setProperty propertyName="policyType"> - <simple>onap.policies.controlloop.Operational</simple> + <simple>${body.getPolicyModel().getPolicyModelType()}</simple> </setProperty> <setProperty propertyName="policyVersion"> - <simple>1</simple> + <simple>1.0.0</simple> </setProperty> <setProperty propertyName="operationalPolicy"> <simple>${body}</simple> |