diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/ResourceTranslationNovaServerGroupsImpl.java')
1 files changed, 0 insertions, 119 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/ResourceTranslationNovaServerGroupsImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/ResourceTranslationNovaServerGroupsImpl.java deleted file mode 100644 index 7bc0a10957..0000000000 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/ResourceTranslationNovaServerGroupsImpl.java +++ /dev/null @@ -1,119 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. 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 org.openecomp.sdc.translator.services.heattotosca.impl; - -import org.apache.commons.collections4.CollectionUtils; -import org.openecomp.sdc.heat.datatypes.model.Resource; -import org.openecomp.sdc.tosca.datatypes.ToscaGroupType; -import org.openecomp.sdc.tosca.datatypes.ToscaPolicyType; -import org.openecomp.sdc.tosca.datatypes.model.GroupDefinition; -import org.openecomp.sdc.tosca.datatypes.model.PolicyDefinition; -import org.openecomp.sdc.tosca.services.DataModelUtil; -import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; -import org.openecomp.sdc.translator.services.heattotosca.mapping.TranslatorHeatToToscaPropertyConverter; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -public class ResourceTranslationNovaServerGroupsImpl extends ResourceTranslationBase { - private static final String AFFINITY = "affinity"; - private static final String ANTI_AFFINITY = "anti-affinity"; - private static List<String> supportedPolicies = Arrays.asList(AFFINITY, ANTI_AFFINITY); - - @Override - protected void translate(TranslateTo translateTo) { - String resourceId = translateTo.getResourceId(); - List<String> toscaPolicyTypes = getToscaPolicies(translateTo.getResource(), resourceId); - if (!CollectionUtils.isEmpty(toscaPolicyTypes)) { - addGroupToTopology(translateTo, resourceId); - addPoliciesToTopology(translateTo, resourceId, toscaPolicyTypes); - } - } - - private void addPoliciesToTopology(TranslateTo translateTo, String resourceId, - List<String> toscaPolicyTypes) { - logger.info("******** Start creating policies for resource '%s' ********", resourceId); - for (int i = 0; i < toscaPolicyTypes.size(); i++) { - String policy = toscaPolicyTypes.get(i); - logger.info("******** Creating policy '%s' ********", policy); - PolicyDefinition policyDefinition = new PolicyDefinition(); - policyDefinition.setType(policy); - policyDefinition.setTargets(Arrays.asList(resourceId)); - policyDefinition.setProperties(TranslatorHeatToToscaPropertyConverter - .getToscaPropertiesSimpleConversion(translateTo.getResource().getProperties(), - policyDefinition.getProperties(), translateTo.getHeatFileName(), - translateTo.getHeatOrchestrationTemplate(), translateTo.getResource().getType(), - policyDefinition, translateTo.getContext())); - policyDefinition.getProperties().put( - policy.equals(ToscaPolicyType.PLACEMENT_ANTILOCATE.getDisplayName()) ? "container_type" - : AFFINITY, "host"); - String policyId = resourceId + (toscaPolicyTypes.size() > 1 ? i : ""); - DataModelUtil - .addPolicyDefinition(translateTo.getServiceTemplate(), policyId, policyDefinition); - logger.info("******** Policy '%s' created ********", policy); - } - - logger - .info("******** All policies for resource '%s' created successfully ********", resourceId); - } - - private void addGroupToTopology(TranslateTo translateTo, String resourceId) { - logger.info("******** Start creating group for resource '%s' ********", resourceId); - GroupDefinition group = new GroupDefinition(); - group.setMembers(new ArrayList<>()); - group.setType(ToscaGroupType.ROOT.getDisplayName()); - DataModelUtil - .addGroupDefinitionToTopologyTemplate(translateTo.getServiceTemplate(), resourceId, group); - logger.info("******** Creating group '%s' for resource '%s' ********", resourceId, resourceId); - } - - private List<String> getToscaPolicies(Resource resource, String resourceId) { - - Map<String, Object> properties = resource.getProperties(); - if (Objects.isNull(properties) || Objects.isNull(properties.get("policies"))) { - return Arrays.asList(ToscaPolicyType.PLACEMENT_ANTILOCATE.getDisplayName()); - } - - List policies = (List) properties.get("policies"); - List<String> retList = new ArrayList<>(); - policies.forEach(policy -> { - if (!supportedPolicies.contains(policy)) { - logger.warn("Resource '" + resourceId + "'(" + resource.getType() - + ") contains unsupported policy '" + policy.toString() - + "'. This resource is been ignored during the translation"); - } else { - retList.add(getToscaPolicyByHotPolicy((String) policy)); - } - }); - return retList; - } - - private String getToscaPolicyByHotPolicy(String name) { - if (Objects.equals(name, AFFINITY)) { - return ToscaPolicyType.PLACEMENT_COLOCATE.getDisplayName(); - } else { - return ToscaPolicyType.PLACEMENT_ANTILOCATE.getDisplayName(); - } - } -} |