@Test public void canCreateBatchOfNetworkInterfaces() throws Exception { ResourceGroups resourceGroups = resourceManager.resourceGroups(); Networks networks = networkManager.networks(); NetworkInterfaces networkInterfaces = networkManager.networkInterfaces(); Creatable<ResourceGroup> resourceGroupCreatable = resourceGroups.define(RG_NAME).withRegion(Region.US_EAST); final String vnetName = "vnet1212"; Creatable<Network> networkCreatable = networks .define(vnetName) .withRegion(Region.US_EAST) .withNewResourceGroup(resourceGroupCreatable) .withAddressSpace("10.0.0.0/28"); // Prepare a batch of nics // final String nic1Name = "nic1"; Creatable<NetworkInterface> networkInterface1Creatable = networkInterfaces .define(nic1Name) .withRegion(Region.US_EAST) .withNewResourceGroup(resourceGroupCreatable) .withNewPrimaryNetwork(networkCreatable) .withPrimaryPrivateIpAddressStatic("10.0.0.5"); final String nic2Name = "nic2"; Creatable<NetworkInterface> networkInterface2Creatable = networkInterfaces .define(nic2Name) .withRegion(Region.US_EAST) .withNewResourceGroup(resourceGroupCreatable) .withNewPrimaryNetwork(networkCreatable) .withPrimaryPrivateIpAddressStatic("10.0.0.6"); final String nic3Name = "nic3"; Creatable<NetworkInterface> networkInterface3Creatable = networkInterfaces .define(nic3Name) .withRegion(Region.US_EAST) .withNewResourceGroup(resourceGroupCreatable) .withNewPrimaryNetwork(networkCreatable) .withPrimaryPrivateIpAddressStatic("10.0.0.7"); final String nic4Name = "nic4"; Creatable<NetworkInterface> networkInterface4Creatable = networkInterfaces .define(nic4Name) .withRegion(Region.US_EAST) .withNewResourceGroup(resourceGroupCreatable) .withNewPrimaryNetwork(networkCreatable) .withPrimaryPrivateIpAddressStatic("10.0.0.8"); CreatedResources<NetworkInterface> batchNics = networkInterfaces.create( networkInterface1Creatable, networkInterface2Creatable, networkInterface3Creatable, networkInterface4Creatable); Assert.assertTrue(batchNics.size() == 4); HashMap<String, Boolean> found = new LinkedHashMap<>(); for (NetworkInterface nic : batchNics) { if (nic.name().equalsIgnoreCase(nic1Name)) { found.put(nic1Name, true); } if (nic.name().equalsIgnoreCase(nic2Name)) { found.put(nic2Name, true); } if (nic.name().equalsIgnoreCase(nic3Name)) { found.put(nic3Name, true); } if (nic.name().equalsIgnoreCase(nic4Name)) { found.put(nic4Name, true); } } Assert.assertTrue(found.size() == 4); }
@SuppressWarnings("unchecked") public static Cartridge toCartridge(CartridgeConfig config) { if (config == null) { return null; } Cartridge cartridge = new Cartridge(); // populate cartridge cartridge.setType(config.getType()); cartridge.setDisplayName(config.getDisplayName()); cartridge.setDescription(config.getDescription()); cartridge.setHostName(config.getHostName()); String[] deploymentDirs = config.getDeploymentDirs(); if ((deploymentDirs != null) && (deploymentDirs.length > 0)) { cartridge.setDeploymentDirs(Arrays.asList(deploymentDirs)); } cartridge.setProvider(config.getProvider()); cartridge.setVersion(config.getVersion()); cartridge.setBaseDir(config.getBaseDir()); if (config.getPortMappings() != null) { cartridge.setPortMappings(Arrays.asList(config.getPortMappings())); } if (config.getPersistence() != null) { cartridge.setPersistence(config.getPersistence()); } cartridge.setMultiTenant(config.isMultiTenant()); cartridge.setDefaultAutoscalingPolicy(config.getDefaultAutoscalingPolicy()); cartridge.setDefaultDeploymentPolicy(config.getDefaultDeploymentPolicy()); cartridge.setServiceGroup(config.getServiceGroup()); org.apache.stratos.cloud.controller.pojo.Properties props = config.getProperties(); if (props != null) { for (Property prop : props.getProperties()) { cartridge.addProperty(prop.getName(), prop.getValue()); } } // populate LB config cartridge.setLbConfig(config.getLbConfig()); List<IaasProvider> iaases = FasterLookUpDataHolder.getInstance().getIaasProviders(); // populate IaaSes IaasConfig[] iaasConfigs = config.getIaasConfigs(); if (iaasConfigs != null) { for (IaasConfig iaasConfig : iaasConfigs) { if (iaasConfig != null) { IaasProvider iaasProvider = null; if (iaases != null) { // check whether this is a reference to a predefined IaaS. for (IaasProvider iaas : iaases) { if (iaas.getType().equals(iaasConfig.getType())) { iaasProvider = new IaasProvider(iaas); break; } } } if (iaasProvider == null) { iaasProvider = new IaasProvider(); iaasProvider.setType(iaasConfig.getType()); } String className = iaasConfig.getClassName(); if (className != null) { iaasProvider.setClassName(className); } String name = iaasConfig.getName(); if (name != null) { iaasProvider.setName(name); } String identity = iaasConfig.getIdentity(); if (identity != null) { iaasProvider.setIdentity(identity); } String credential = iaasConfig.getCredential(); if (credential != null) { iaasProvider.setCredential(credential); } String provider = iaasConfig.getProvider(); if (provider != null) { iaasProvider.setProvider(provider); } String imageId = iaasConfig.getImageId(); if (imageId != null) { iaasProvider.setImage(imageId); } byte[] payload = iaasConfig.getPayload(); if (payload != null) { iaasProvider.setPayload(payload); } org.apache.stratos.cloud.controller.pojo.Properties props1 = iaasConfig.getProperties(); if (props1 != null) { for (Property prop : props1.getProperties()) { iaasProvider.addProperty(prop.getName(), prop.getValue()); } } NetworkInterfaces networkInterfaces = iaasConfig.getNetworkInterfaces(); if (networkInterfaces != null && networkInterfaces.getNetworkInterfaces() != null) { iaasProvider.setNetworkInterfaces(networkInterfaces.getNetworkInterfaces()); } cartridge.addIaasProvider(iaasProvider); } } } return cartridge; }