Refine search
public void testListSizes() throws Exception { for (Hardware hardware : client.listHardwareProfiles()) { assert hardware.getProviderId() != null : hardware; assert getCores(hardware) > 0 : hardware; assert hardware.getVolumes().size() >= 0 : hardware; assert hardware.getRam() > 0 : hardware; assertEquals(hardware.getType(), ComputeType.HARDWARE); } }
@Test public void testParseVersionOrReturnEmptyStringUbuntu1104() { assertEquals(parseVersionOrReturnEmptyString(OsFamily.UBUNTU, "ubuntu 11.04 server (i386)", map), "11.04"); }
@Test public void testMetadataAndTagsAsCommaDelimitedValueNoTags() { TemplateOptions options = TemplateOptions.Builder.userMetadata(ImmutableMap.<String, String>of("foo", "bar")); assertEquals(metadataAndTagsAsCommaDelimitedValue(options), ImmutableMap.<String, String>of("foo", "bar")); }
@Override public String apply(Hardware hardware) { if (hardware.getRam() >= 8 * 1024 || getCores(hardware) >= 6 || getSpace(hardware) >= 450) return "8GB"; if (hardware.getRam() >= 4 * 1024 || getCores(hardware) >= 3 || getSpace(hardware) >= 230) return "4GB"; if (hardware.getRam() >= 2 * 1024 || getSpace(hardware) >= 110) return "2GB"; if (hardware.getRam() >= 1024 || getSpace(hardware) >= 55) return "1GB"; return "512MB"; /* smallest */ } };
/** * {@inheritDoc} */ @Override public TemplateBuilder fromHardware(Hardware hardware) { if (currentLocationWiderThan(hardware.getLocation())) this.location = hardware.getLocation(); this.minCores = getCores(hardware); this.minRam = hardware.getRam(); this.minDisk = getSpace(hardware); this.hypervisor = hardware.getHypervisor(); return this; }
@Override public OperatingSystem apply(String from) { OperatingSystem.Builder builder = OperatingSystem.builder(); OsFamily osFamily = parseOsFamilyOrUnrecognized(checkNotNull(from, "vapp template name")); builder.family(osFamily); builder.description(from); builder.is64Bit(from.indexOf("64") != -1); Matcher matcher = OS_PATTERN.matcher(from); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(3), osVersionMap)); } return builder.build(); } }
@Test public void testFastestTemplateBuilder() throws IOException { Template template = view.getComputeService().templateBuilder().fastest().build(); assertEquals(getCores(template.getHardware()), 16.0d); assertEquals(template.getHardware().getRam(), 1); assertEquals(getSpace(template.getHardware()), 25.0d); assertEquals(template.getHardware().getVolumes().get(0).getType(), Volume.Type.LOCAL); }
@Test public void testDefaultTemplateBuilder() throws IOException { Template defaultTemplate = view.getComputeService().templateBuilder().build(); assertEquals(defaultTemplate.getImage().getOperatingSystem().getVersion(), "10.04"); assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); assertEquals(getCores(defaultTemplate.getHardware()), 0.5d); }
@Test public void testDefaultTemplateBuilder() throws IOException { Template defaultTemplate = view.getComputeService().templateBuilder().build(); assertTrue(defaultTemplate.getImage().getOperatingSystem().getVersion().matches("\\d+\\.\\d+"), "Version mismatch, expected dd.dd, found: " + defaultTemplate.getImage().getOperatingSystem().getVersion()); assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); }
@Test public void testFastestTemplateBuilder() throws IOException { Template fastestTemplate = view.getComputeService().templateBuilder().fastest().osFamily(AMZN_LINUX).build(); assert fastestTemplate.getImage().getProviderId().startsWith("ami-") : fastestTemplate; assertEquals(fastestTemplate.getHardware().getProviderId(), InstanceType.C4_8XLARGE); assertEquals(fastestTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(fastestTemplate.getImage().getOperatingSystem().getFamily(), AMZN_LINUX); assertEquals(fastestTemplate.getImage().getUserMetadata().get("rootDeviceType"), "ebs"); assertEquals(fastestTemplate.getLocation().getId(), "us-east-1"); assertEquals(getCores(fastestTemplate.getHardware()), 36.0d); assertEquals(fastestTemplate.getImage().getOperatingSystem().getArch(), "hvm"); }
private void checkTemplate(Template defaultTemplate) { assertEquals(defaultTemplate.getImage().getId(), "RegionOne/15"); assertEquals(defaultTemplate.getImage().getProviderId(), "15"); assertEquals(defaultTemplate.getHardware().getId(), "RegionOne/1"); assertEquals(defaultTemplate.getHardware().getProviderId(), "1"); assertEquals(defaultTemplate.getLocation().getId(), "RegionOne"); assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); }
options.metadata(metadataAndTagsAsCommaDelimitedValue(template.getOptions())); if (templateOptions.getSecurityGroupNames().isPresent()) options.securityGroupNames(templateOptions.getSecurityGroupNames().get()); String flavorId = template.getHardware().getProviderId(); logger.debug(">> creating new server zone(%s) name(%s) image(%s) flavor(%s) options(%s)", zoneId, name, imageId, flavorId, options); ServerCreated lightweightServer = novaApi.getServerApiForZone(zoneId).create(name, imageId, flavorId, options); Server server = novaApi.getServerApiForZone(zoneId).get(lightweightServer.getId()); logger.trace("<< server(%s)", server.getId());
Matcher matcher = WINDOWS_PATTERN.matcher(from.getName()); if (matcher.find()) { osVersion = ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(1), osVersionMap); is64Bit = matcher.group(2).equals("x64"); osFamily = OsFamily.fromValue(matcher.group(2).toLowerCase()); } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", matcher.group(2)); osVersion = ComputeServiceUtils.parseVersionOrReturnEmptyString(osFamily, matcher.group(3), osVersionMap);
createServerOptions.ip(templateOptions.getIp()); Map<String, String> md = metadataAndTagsAsCommaDelimitedValue(template.getOptions()); if (md.size() > 0) { String description = Joiner.on('\n').withKeyValueSeparator("=").join(md); builder.datacenter(template.getLocation().getId()); builder.templateName(template.getImage().getId()); builder.platform(template.getHardware().getHypervisor()); builder.memorySizeMB(template.getHardware().getRam()); builder.diskSizeGB(Math.round(template.getHardware().getVolumes().get(0).getSize())); builder.cpuCores((int) template.getHardware().getProcessors().get(0).getCores()); builder.transferGB(templateOptions.getTransferGB()); logger.debug(">> creating new Server spec(%s) name(%s) options(%s)", spec, name, createServerOptions); ServerDetails result = api.getServerApi().createWithHostnameAndRootPassword(spec, name, password, createServerOptions); logger.trace("<< server(%s)", result.getId());
@Override public void reviseParsedImage(org.jclouds.ec2.domain.Image from, ImageBuilder builder, OsFamily family, OperatingSystem.Builder osBuilder) { try { Matcher matcher = getMatcherAndFind(from.getImageLocation()); if (matcher.pattern() == AMZN_PATTERN) { osBuilder.family(OsFamily.AMZN_LINUX); osBuilder.version(matcher.group(2)); builder.version(matcher.group(2)); } else if (matcher.pattern() == AMAZON_PATTERN) { family = OsFamily.fromValue(matcher.group(1)); osBuilder.family(family); osBuilder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(2), osVersionMap)); } else { family = OsFamily.fromValue(matcher.group(1)); osBuilder.family(family); osBuilder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(2), osVersionMap)); builder.version(matcher.group(3).replace(".manifest.xml", "")); } } catch (IllegalArgumentException e) { logger.debug("<< didn't match os(%s)", from.getImageLocation()); } catch (NoSuchElementException e) { logger.trace("<< didn't match at all(%s)", from.getImageLocation()); } }
VApp vAppResponse = instantiateVAppFromTemplate(name, template); waitForTask(vAppResponse.getTasks().get(0)); logger.debug("<< instantiated VApp(%s)", vAppResponse.getName()); logger.trace(">> updating customization vm(%s) name->(%s)", vm.getName(), name); waitForTask(updateVmWithNameAndCustomizationScript(vm, name, vOptions.getCustomizationScript())); logger.trace("<< updated customization vm(%s)", name); int cpuCount = (int) getCores(template.getHardware()); logger.trace(">> updating cpuCount(%d) vm(%s)", cpuCount, vm.getName()); waitForTask(updateCPUCountOfVm(vm, cpuCount)); logger.trace("<< updated cpuCount vm(%s)", vm.getName()); int memoryMB = template.getHardware().getRam(); logger.trace(">> updating memoryMB(%d) vm(%s)", memoryMB, vm.getName()); waitForTask(updateMemoryMBOfVm(vm, memoryMB));
Map<String, String> md = metadataAndTagsAsCommaDelimitedValue(template.getOptions()); description = Joiner.on('\n').withKeyValueSeparator("=").join(md); logger.debug(">> instantiating vApp vDC(%s) template(%s) name(%s) options(%s) ", VDC, templateId, name, options);
public OperatingSystem apply(Template from) { Builder builder = OperatingSystem.builder().description(from.getOSType()); OSType type = osTypes.get().get(from.getOSTypeId()); if (type == null) { logger.warn("Template refers to OS type ID %s but this does not exist. Template=%s Known OS types=%s", from.getOSTypeId(), from, osTypes.get()); return builder.build(); } builder.description(type.getDescription()); builder.is64Bit(type.getDescription().indexOf("64-bit") != -1); String osCategory = osCategories.get().get(type.getOSCategoryId()); if (osCategory == null) { logger.warn("OS type refers to OS category ID %s but this does not exist. OS type=%s Known OS categories=%s", type.getOSCategoryId(), type, osCategories.get()); return builder.build(); } builder.name(osCategory); OsFamily family = OsFamily.fromValue(osCategory.toLowerCase()); builder.family(family); Matcher matcher = DEFAULT_PATTERN.matcher(type.getDescription()); if (matcher.find()) { builder.version(ComputeServiceUtils.parseVersionOrReturnEmptyString(family, matcher.group(1), osVersionMap)); } return builder.build(); } }
Map<String, String> metadataAndTags = metadataAndTagsAsCommaDelimitedValue(templateOptions); if (!metadataAndTags.isEmpty()) { @SuppressWarnings("unchecked") options.userData(json.toJson(metadataAndTags)); } else { logger.debug(">> region %s does not support metadata, ignoring provided user data", template.getLocation() .getId()); template.getHardware().getProviderId(), template.getImage().getProviderId(), options.build());
@Override public boolean apply(Hardware input) { return input.getRam() == machineInDatacenter.get().getMemorySizeMb() && getSpace(input) == machineInDatacenter.get().getDiskSizeGb() && input.getLocation().getId().equals(machineInDatacenter.getDatacenter()); } }).orNull();