org.openbaton.common.vnfm_sdk.utils.VNFRUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vnfm-sdk Show documentation
Show all versions of vnfm-sdk Show documentation
Openbaton libraries for almost everything
/*
* Copyright (c) 2016 Open Baton (http://www.openbaton.org)
*
* 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.
*
*/
package org.openbaton.common.vnfm_sdk.utils;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.openbaton.catalogue.mano.common.AutoScalePolicy;
import org.openbaton.catalogue.mano.common.ConnectionPoint;
import org.openbaton.catalogue.mano.common.DeploymentFlavour;
import org.openbaton.catalogue.mano.common.LifecycleEvent;
import org.openbaton.catalogue.mano.common.ScalingAction;
import org.openbaton.catalogue.mano.common.ScalingAlarm;
import org.openbaton.catalogue.mano.common.faultmanagement.VRFaultManagementPolicy;
import org.openbaton.catalogue.mano.descriptor.InternalVirtualLink;
import org.openbaton.catalogue.mano.descriptor.VNFComponent;
import org.openbaton.catalogue.mano.descriptor.VNFDConnectionPoint;
import org.openbaton.catalogue.mano.descriptor.VirtualDeploymentUnit;
import org.openbaton.catalogue.mano.descriptor.VirtualNetworkFunctionDescriptor;
import org.openbaton.catalogue.mano.record.Status;
import org.openbaton.catalogue.mano.record.VNFCInstance;
import org.openbaton.catalogue.mano.record.VirtualLinkRecord;
import org.openbaton.catalogue.mano.record.VirtualNetworkFunctionRecord;
import org.openbaton.catalogue.nfvo.Configuration;
import org.openbaton.catalogue.nfvo.ConfigurationParameter;
import org.openbaton.catalogue.nfvo.HistoryLifecycleEvent;
import org.openbaton.catalogue.nfvo.VimInstance;
import org.openbaton.common.vnfm_sdk.exception.BadFormatException;
import org.openbaton.common.vnfm_sdk.exception.NotFoundException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** Created by mob on 31.08.15. */
public class VNFRUtils {
private static Logger log = LoggerFactory.getLogger(VNFRUtils.class);
public static VirtualNetworkFunctionRecord createVirtualNetworkFunctionRecord(
VirtualNetworkFunctionDescriptor vnfd,
String flavourKey,
String nsr_id,
Set vlr,
Map> vimInstances)
throws NotFoundException, BadFormatException {
VirtualNetworkFunctionRecord virtualNetworkFunctionRecord = new VirtualNetworkFunctionRecord();
virtualNetworkFunctionRecord.setLifecycle_event_history(
new LinkedList());
virtualNetworkFunctionRecord.setParent_ns_id(nsr_id);
virtualNetworkFunctionRecord.setName(vnfd.getName());
virtualNetworkFunctionRecord.setType(vnfd.getType());
Configuration configuration = new Configuration();
if (vnfd.getConfigurations() != null) {
configuration.setName(vnfd.getConfigurations().getName());
} else configuration.setName(virtualNetworkFunctionRecord.getName());
configuration.setConfigurationParameters(new HashSet());
if (vnfd.getConfigurations() != null) {
for (ConfigurationParameter configurationParameter :
vnfd.getConfigurations().getConfigurationParameters()) {
ConfigurationParameter cp = new ConfigurationParameter();
cp.setConfKey(configurationParameter.getConfKey());
cp.setValue(configurationParameter.getValue());
configuration.getConfigurationParameters().add(cp);
}
}
virtualNetworkFunctionRecord.setConfigurations(configuration);
virtualNetworkFunctionRecord.setCyclicDependency(vnfd.hasCyclicDependency());
Configuration requires = new Configuration();
requires.setName("requires");
requires.setConfigurationParameters(new HashSet());
virtualNetworkFunctionRecord.setRequires(requires);
if (vnfd.getRequires() != null) {
for (String vnfdName : vnfd.getRequires().keySet()) {
for (String key : vnfd.getRequires().get(vnfdName).getParameters()) {
ConfigurationParameter configurationParameter = new ConfigurationParameter();
log.debug("Adding " + key + " to requires");
configurationParameter.setConfKey(key);
virtualNetworkFunctionRecord
.getRequires()
.getConfigurationParameters()
.add(configurationParameter);
}
}
}
Configuration provides = new Configuration();
provides.setConfigurationParameters(new HashSet());
provides.setName("provides");
virtualNetworkFunctionRecord.setProvides(provides);
if (vnfd.getProvides() != null) {
for (String key : vnfd.getProvides()) {
ConfigurationParameter configurationParameter = new ConfigurationParameter();
log.debug("Adding " + key + " to provides");
configurationParameter.setConfKey(key);
virtualNetworkFunctionRecord
.getProvides()
.getConfigurationParameters()
.add(configurationParameter);
}
}
// if (vnfd.getVnfPackageLocation() != null) {
// VNFPackage vnfPackage = new VNFPackage();
// vnfPackage.setImageLink(vnfd.getVnfPackageLocation().getImageLink());
// vnfPackage.setScriptsLink(vnfd.getVnfPackageLocation().getScriptsLink());
// vnfPackage.setName(vnfd.getVnfPackageLocation().getName());
//
// //TODO check for ordering
// vnfPackage.setScripts(new HashSet