diff options
Diffstat (limited to 'plugins/reception-plugins/src/main/java/org')
6 files changed, 54 insertions, 38 deletions
diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ConfigBody.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ConfigBody.java index 72d9bd2b..521fcfd6 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ConfigBody.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ConfigBody.java @@ -23,7 +23,9 @@ package org.onap.policy.distribution.reception.decoding.pdpx; public class ConfigBody { private String service; + private String policyName; private String description; + private String templateVersion; private String version; private String priority; private String riskType; @@ -39,6 +41,14 @@ public class ConfigBody { this.service = service; } + public String getPolicyName() { + return policyName; + } + + public void setPolicyName(String policyName) { + this.policyName = policyName; + } + public String getDescription() { return description; } @@ -47,6 +57,14 @@ public class ConfigBody { this.description = description; } + public String getTemplateVersion() { + return templateVersion; + } + + public void setTemplateVersion(String templateVersion) { + this.templateVersion = templateVersion; + } + public String getVersion() { return version; } diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/Content.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/Content.java index 77d1a9b7..6e708977 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/Content.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/Content.java @@ -29,17 +29,13 @@ import java.util.List; * @author Libo Zhu (libo.zhu@intel.com) */ class Content { - private String resources; + private List<String> resources = new ArrayList<>(); private String identity; private List<String> policyScope = new ArrayList<>(); private String policyType = "Optimization"; private List<FlavorFeature> flavorFeatures = new ArrayList<>(); - public void setResources(final String resources) { - this.resources = resources; - } - - public String getResources() { + public List<String> getResources() { return resources; } diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ExtractFromNode.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ExtractFromNode.java index 699ba49e..579454c5 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ExtractFromNode.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/ExtractFromNode.java @@ -24,12 +24,14 @@ import com.google.common.collect.ImmutableMap; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; + import org.onap.policy.common.logging.flexlogger.FlexLogger; import org.onap.policy.common.logging.flexlogger.Logger; import org.onap.policy.distribution.reception.decoding.PolicyDecodingException; @@ -60,11 +62,11 @@ public class ExtractFromNode { "virtual_network_interface_requirements#network_interface_requirements#interfaceType"; private static final String NETWORK_PCI_PATH = "virtual_network_interface_requirements#nic_io_requirements#logical_node_requirements"; - private static final String BASIC_CAPABILITIES_HPA_FEATURE = "BasicCapabilities"; + private static final String BASIC_CAPABILITIES_HPA_FEATURE = "basicCapabilities"; private static final String HUGE_PAGES_HPA_FEATURE = "hugePages"; private static final Map<String, String> NETWORK_HPA_FEATURE_MAP = - ImmutableMap.of("SR-IOV", "SriovNICNetwork", "PCI-Passthrough", "pciePassthrough"); - + ImmutableMap.of("SR-IOV", "sriovNICNetwork", "PCI-Passthrough", "pciePassthrough"); + private static final Pattern PATTERN = Pattern.compile("(\\D*)(\\d+)(\\D*)"); private ISdcCsarHelper sdcCsarHelper; final Gson gson = new GsonBuilder().serializeNulls().setPrettyPrinting().disableHtmlEscaping().create(); @@ -106,8 +108,8 @@ public class ExtractFromNode { LOGGER.debug("the size of cp is =" + lnodeVduCp.size()); final Content content = new Content(); - content.setResources(metaData.getValue("name")); - content.setIdentity(content.getPolicyType() + "_" + content.getResources()); + content.getResources().add(metaData.getValue("name")); + content.setIdentity(content.getPolicyType() + "_" + metaData.getValue("name")); extractInfoVdu(lnodeVdu, content); extractInfoVduCp(lnodeVduCp, content); if (content.getFlavorFeatures().isEmpty()) { @@ -202,17 +204,18 @@ public class ExtractFromNode { // based on input featureValue, return back a suitable hpaFeatureAttribute final HpaFeatureAttribute hpaFeatureAttribute = new HpaFeatureAttribute(); hpaFeatureAttribute.setHpaAttributeKey(hpaAttributeKey); - final String tmp = featureValue.replace(" ", ""); - final String pattern = "(\\D*)(\\d+)(\\D*)"; - final Pattern r = Pattern.compile(pattern); - final Matcher m = r.matcher(tmp); - if (m.find()) { - LOGGER.debug("operator = " + m.group(1)); - LOGGER.debug("value = " + m.group(2)); - LOGGER.debug("unit = " + m.group(3)); - hpaFeatureAttribute.setOperator(m.group(1)); - hpaFeatureAttribute.setHpaAttributeValue(m.group(2)); - hpaFeatureAttribute.setUnit(m.group(3)); + final String modifiedValue = featureValue.replace(" ", ""); + final Matcher matcher = PATTERN.matcher(modifiedValue); + if (matcher.find()) { + LOGGER.debug("operator " + matcher.group(1) + ", value = " + matcher.group(2) + + ", unit = " + matcher.group(3)); + if ( matcher.group(1).length() == 0 ) { + hpaFeatureAttribute.setOperator("="); + } else { + hpaFeatureAttribute.setOperator(matcher.group(1)); + } + hpaFeatureAttribute.setHpaAttributeValue(matcher.group(2)); + hpaFeatureAttribute.setUnit(matcher.group(3)); } return hpaFeatureAttribute; } @@ -279,24 +282,19 @@ public class ExtractFromNode { } String networkHpaFeature; - if (retMap.containsKey(CONFIGURATION_VALUE)) { + if (retMap.containsKey(CONFIGURATION_VALUE) + && NETWORK_HPA_FEATURE_MAP.containsKey(retMap.get(CONFIGURATION_VALUE).toString())) { final String interfaceTypeValue = retMap.get(CONFIGURATION_VALUE).toString(); - LOGGER.debug(" the interfacetype value is =" + interfaceTypeValue); - if (NETWORK_HPA_FEATURE_MAP.containsKey(interfaceTypeValue)) { - networkHpaFeature = NETWORK_HPA_FEATURE_MAP.get(interfaceTypeValue); - LOGGER.debug(" the networkHpaFeature is =" + networkHpaFeature); - } else { - LOGGER.debug(" unspported network interface "); - return; - } + networkHpaFeature = NETWORK_HPA_FEATURE_MAP.get(interfaceTypeValue); + LOGGER.debug(" the networkHpaFeature is =" + networkHpaFeature); } else { - LOGGER.debug(" no configurationValue defined in interfaceType"); - return; + LOGGER.debug(" no networkHpaFeature defined in interfaceType"); + continue; } final RequirementAssignments requriements = sdcCsarHelper.getRequirementsOf(node).getRequirementsByName("virtual_binding"); - for (final RequirementAssignment requriement : requriements.getAll()) { + for (final RequirementAssignment requriement: requriements.getAll()) { final String nodeTemplateName = requriement.getNodeTemplateName(); LOGGER.debug("getNodeTemplateName =" + nodeTemplateName); if (nodeTemplateName == null) { diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorFeature.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorFeature.java index b8f4b6ac..c29378de 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorFeature.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorFeature.java @@ -30,7 +30,7 @@ import java.util.List; */ class FlavorFeature { private String id; - private String type = "tosca.node.nfv.Vdu.Compute"; + private String type = "tosca.nodes.nfv.Vdu.Compute"; private List<Directive> directives = new ArrayList<>(); private List<FlavorProperty> flavorProperties = new ArrayList<>(); diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorProperty.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorProperty.java index b800f355..0453370d 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorProperty.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/FlavorProperty.java @@ -33,7 +33,7 @@ import java.util.List; class FlavorProperty { @SerializedName(value = "hpa-feature") private String hpaFeature; - private String mandatory = "true"; + private String mandatory = "True"; private String architecture = "generic"; @SerializedName(value = "hpa-version") private String hpaVersion = "v1"; diff --git a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java index 14519757..7a73c831 100644 --- a/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java +++ b/plugins/reception-plugins/src/main/java/org/onap/policy/distribution/reception/decoding/pdpx/PolicyDecoderCsarPdpx.java @@ -61,16 +61,20 @@ public class PolicyDecoderCsarPdpx implements PolicyDecoder<Csar, OptimizationPo final Content content = extractFromNode.extractInfo(node); if (content != null) { final OptimizationPolicy policy = new OptimizationPolicy(); + final String policyName = decoderParameters.getPolicyNamePrefix() + "." + content.getIdentity(); policy.setOnapName(decoderParameters.getOnapName()); - policy.setPolicyName(decoderParameters.getPolicyNamePrefix() + "." + content.getIdentity()); + policy.setPolicyName(policyName); ConfigBody configBody = new ConfigBody(); configBody.setService("hpaPolicy"); + configBody.setPolicyName(policyName); configBody.setDescription("OOF Policy"); + configBody.setTemplateVersion("OpenSource.version.1"); configBody.setVersion(decoderParameters.getVersion()); configBody.setPriority(decoderParameters.getPriority()); configBody.setRiskLevel(decoderParameters.getRiskLevel()); configBody.setRiskType(decoderParameters.getRiskType()); - configBody.setGuard("false"); + configBody.setGuard("False"); + content.setPolicyType("hpa"); content.getPolicyScope().add("HPA"); content.getPolicyScope().add(serviceName); configBody.setContent(content); |