public static String groupFromMapOrName(Map<String, String> metadataMap, String nodeName, GroupNamingConvention namingConvention) { if (metadataMap.get(ComputeServiceConstants.NODE_GROUP_KEY) != null) { return metadataMap.get(ComputeServiceConstants.NODE_GROUP_KEY); } else { return namingConvention.groupInUniqueNameOrNull(nodeName); } } }
public static String groupFromMapOrName(Map<String, String> metadataMap, String nodeName, GroupNamingConvention namingConvention) { if (metadataMap.get(ComputeServiceConstants.NODE_GROUP_KEY) != null) { return metadataMap.get(ComputeServiceConstants.NODE_GROUP_KEY); } else { return namingConvention.groupInUniqueNameOrNull(nodeName); } } }
public static String groupFromMapOrName(Map<String, String> metadataMap, String nodeName, GroupNamingConvention namingConvention) { if (metadataMap.get(ComputeServiceConstants.NODE_GROUP_KEY) != null) { return metadataMap.get(ComputeServiceConstants.NODE_GROUP_KEY); } else { return namingConvention.groupInUniqueNameOrNull(nodeName); } } }
public void testPropertyChangesPrefix() { GroupNamingConvention fn = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bindConstant().annotatedWith(Names.named(RESOURCENAME_PREFIX)).to("kclouds"); } }).getInstance(GroupNamingConvention.Factory.class).create(); assertEquals(fn.sharedNameForGroup("cluster"), "kclouds-cluster"); assertEquals(fn.groupInSharedNameOrNull("kclouds-cluster"), "cluster"); assertEquals(fn.groupInUniqueNameOrNull("kclouds-cluster"), null); assertTrue(fn.containsGroup("cluster").apply("kclouds-cluster")); }
public void testPropertyChangesDelimiter() { GroupNamingConvention fn = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bindConstant().annotatedWith(Names.named(RESOURCENAME_DELIMITER)).to('#'); } }).getInstance(GroupNamingConvention.Factory.class).create(); assertEquals(fn.sharedNameForGroup("cluster"), "jclouds#cluster"); assertEquals(fn.groupInSharedNameOrNull("jclouds#cluster"), "cluster"); assertEquals(fn.groupInUniqueNameOrNull("jclouds#cluster"), null); assertTrue(fn.containsGroup("cluster").apply("jclouds#cluster")); }
public void testPropertyChangesDelimiter() { GroupNamingConvention fn = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bindConstant().annotatedWith(Names.named(RESOURCENAME_DELIMITER)).to('#'); } }).getInstance(GroupNamingConvention.Factory.class).create(); assertEquals(fn.sharedNameForGroup("cluster"), "jclouds#cluster"); assertEquals(fn.groupInSharedNameOrNull("jclouds#cluster"), "cluster"); assertEquals(fn.groupInUniqueNameOrNull("jclouds#cluster"), null); assertTrue(fn.containsGroup("cluster").apply("jclouds#cluster")); }
public void testPropertyChangesPrefix() { GroupNamingConvention fn = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bindConstant().annotatedWith(Names.named(RESOURCENAME_PREFIX)).to("kclouds"); } }).getInstance(GroupNamingConvention.Factory.class).create(); assertEquals(fn.sharedNameForGroup("cluster"), "kclouds-cluster"); assertEquals(fn.groupInSharedNameOrNull("kclouds-cluster"), "cluster"); assertEquals(fn.groupInUniqueNameOrNull("kclouds-cluster"), null); assertTrue(fn.containsGroup("cluster").apply("kclouds-cluster")); }
public void testCanChangeSuffixSupplier() { GroupNamingConvention fn = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bind(new TypeLiteral<Supplier<String>>() { }).toInstance(Suppliers.ofInstance("foo")); } }).getInstance(GroupNamingConvention.Factory.class).create(); assertEquals(fn.uniqueNameForGroup("cluster"), "jclouds-cluster-foo"); // note accidental treatment of a unique node as a shared one can lead to // incorrect group names, as long as we permit delimiter to be in group name assertEquals(fn.groupInSharedNameOrNull("jclouds-cluster-foo"), "cluster-foo"); assertEquals(fn.groupInUniqueNameOrNull("jclouds-cluster-foo"), "cluster"); assertTrue(fn.containsGroup("cluster").apply("jclouds-cluster-foo")); }
private void cleanUpFirewallsForGroup(final String groupName) { GroupNamingConvention namingScheme = namingConvention.create(); FirewallApi firewallApi = api.firewalls(); for (Firewall firewall : concat(firewallApi.list())) { String foundGroup = namingScheme.groupInUniqueNameOrNull(firewall.name()); if ((foundGroup != null) && foundGroup.equals(groupName)){ AtomicReference<Operation> operation = Atomics.newReference(firewallApi.delete(firewall.name())); operationDone.apply(operation); if (operation.get().httpErrorStatusCode() != null) { logger.warn("delete orphaned firewall %s failed. Http Error Code: %d HttpError: %s", operation.get().targetId(), operation.get().httpErrorStatusCode(), operation.get().httpErrorMessage()); } } } }
private void cleanUpFirewallsForGroup(final String groupName) { GroupNamingConvention namingScheme = namingConvention.create(); FirewallApi firewallApi = api.firewalls(); for (Firewall firewall : concat(firewallApi.list())) { String foundGroup = namingScheme.groupInUniqueNameOrNull(firewall.name()); if ((foundGroup != null) && foundGroup.equals(groupName)){ AtomicReference<Operation> operation = Atomics.newReference(firewallApi.delete(firewall.name())); operationDone.apply(operation); if (operation.get().httpErrorStatusCode() != null) { logger.warn("delete orphaned firewall %s failed. Http Error Code: %d HttpError: %s", operation.get().targetId(), operation.get().httpErrorStatusCode(), operation.get().httpErrorMessage()); } } } }
private void cleanUpFirewallsForGroup(final String groupName) { GroupNamingConvention namingScheme = namingConvention.create(); FirewallApi firewallApi = api.firewalls(); for (Firewall firewall : concat(firewallApi.list())) { String foundGroup = namingScheme.groupInUniqueNameOrNull(firewall.name()); if ((foundGroup != null) && foundGroup.equals(groupName)){ AtomicReference<Operation> operation = Atomics.newReference(firewallApi.delete(firewall.name())); operationDone.apply(operation); if (operation.get().httpErrorStatusCode() != null) { logger.warn("delete orphaned firewall %s failed. Http Error Code: %d HttpError: %s", operation.get().targetId(), operation.get().httpErrorStatusCode(), operation.get().httpErrorMessage()); } } } }
public void testCanChangeSuffixSupplier() { GroupNamingConvention fn = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bind(new TypeLiteral<Supplier<String>>() { }).toInstance(Suppliers.ofInstance("foo")); } }).getInstance(GroupNamingConvention.Factory.class).create(); assertEquals(fn.uniqueNameForGroup("cluster"), "jclouds-cluster-foo"); // note accidental treatment of a unique node as a shared one can lead to // incorrect group names, as long as we permit delimiter to be in group name assertEquals(fn.groupInSharedNameOrNull("jclouds-cluster-foo"), "cluster-foo"); assertEquals(fn.groupInUniqueNameOrNull("jclouds-cluster-foo"), "cluster"); assertTrue(fn.containsGroup("cluster").apply("jclouds-cluster-foo")); }
@Test public void testApply() { serverWithExternalIp = ServerWithExternalIp.create(server, externalIp); org.jclouds.compute.domain.OperatingSystem operatingSystem = org.jclouds.compute.domain.OperatingSystem.builder() .description("Windows 10 x64").name("Win10x64").is64Bit(true).family(OsFamily.WINDOWS).build(); expect(image.getId()).andReturn("imageId"); expect(image.getOperatingSystem()).andReturn(operatingSystem); expect(nic.privateIpv4()).andReturn("192.168.1.1").anyTimes(); expect(nodeNamingConvention.groupInUniqueNameOrNull(serverName)).andReturn("[" + serverName + "]").anyTimes(); expect(serverToHardware.apply(server)).andReturn(hardware); expect(operatingSystemToOperatingSystem.apply(os)).andReturn(operatingSystem); EasyMock.replay(nodeNamingConvention, serverImageApi, image, nic, serverToHardware, operatingSystemToOperatingSystem); assertNodeMetadata(serverWithNatRuleToNodeMetadata.apply(serverWithExternalIp), operatingSystem, serverWithExternalIp.server().sourceImageId(), NodeMetadata.Status.RUNNING, ImmutableSet.of(nic.privateIpv4()), ImmutableSet.of(externalIp)); }
@Override public NodeMetadata apply(Server from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); Location location = Iterables.find(locations.get(), LocationPredicates.idEquals(from.getDatacenter().getId() + "")); builder.location(location); builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName())); builder.hardware(parseHardware(from)); builder.imageId(from.getImage().getId() + ""); Image image = parseImage(from); if (image != null) builder.operatingSystem(image.getOperatingSystem()); builder.status(serverStateToNodeStatus.get(from.getState())); builder.publicAddresses(ImmutableSet.of(from.getIp().getIp())); return builder.build(); }
@Override public NodeMetadata apply(Server from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); Location location = Iterables.find(locations.get(), LocationPredicates.idEquals(from.getDatacenter().getId() + "")); builder.location(location); builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName())); builder.hardware(parseHardware(from)); builder.imageId(from.getImage().getId() + ""); Image image = parseImage(from); if (image != null) builder.operatingSystem(image.getOperatingSystem()); builder.status(serverStateToNodeStatus.get(from.getState())); builder.publicAddresses(ImmutableSet.of(from.getIp().getIp())); return builder.build(); }
@Override public NodeMetadata apply(Server from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); Location location = Iterables.find(locations.get(), LocationPredicates.idEquals(from.getDatacenter().getId() + "")); builder.location(location); builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName())); builder.hardware(parseHardware(from)); builder.imageId(from.getImage().getId() + ""); Image image = parseImage(from); if (image != null) builder.operatingSystem(image.getOperatingSystem()); builder.status(serverStateToNodeStatus.get(from.getState())); builder.publicAddresses(ImmutableSet.of(from.getIp().getIp())); return builder.build(); }
@Override public NodeMetadata apply(Server from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); Location location = Iterables.find(locations.get(), LocationPredicates.idEquals(from.getDatacenter().getId() + "")); builder.location(location); builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName())); builder.hardware(parseHardware(from)); builder.imageId(from.getImage().getId() + ""); Image image = parseImage(from); if (image != null) builder.operatingSystem(image.getOperatingSystem()); builder.status(serverStateToNodeStatus.get(from.getState())); builder.publicAddresses(ImmutableSet.of(from.getIp().getIp())); return builder.build(); }
@Override public NodeMetadata apply(org.jclouds.deltacloud.domain.Instance from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getHref().toASCIIString()); builder.name(from.getName()); builder.location(parseLocation(from)); builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName())); builder.imageId(from.getImage().toASCIIString()); builder.operatingSystem(parseOperatingSystem(from)); builder.hardware(parseHardware(from)); builder.status(instanceToNodeStatus.get(from.getState())); builder.publicAddresses(from.getPublicAddresses()); builder.privateAddresses(from.getPrivateAddresses()); return builder.build(); } }
@Test(dependsOnMethods = "testApply") public void testApplyWithNullables() { server = Server.builder().id("serverId").name(serverName).datacenterId(datacenterId) .networkInfo(NetworkInfo.create(networkDomainId, nic, new ArrayList<NIC>())).cpu(cpu).deployed(true) .state(State.DELETED).sourceImageId("imageId").started(true).createTime(new Date()).memoryGb(1024) .guest(Guest.builder().osCustomization(false).operatingSystem(os).build()).build(); serverWithExternalIp = ServerWithExternalIp.create(server, null); expect(nic.privateIpv4()).andReturn(null).anyTimes(); expect(nodeNamingConvention.groupInUniqueNameOrNull(serverName)).andReturn("[" + serverName + "]").anyTimes(); expect(serverToHardware.apply(server)).andReturn(hardware); EasyMock.replay(nodeNamingConvention, serverImageApi, image, nic, serverToHardware, operatingSystemToOperatingSystem); assertNodeMetadata(serverWithNatRuleToNodeMetadata.apply(serverWithExternalIp), null, "imageId", NodeMetadata.Status.TERMINATED, ImmutableSet.<String>of(), ImmutableSet.<String>of()); }
@Override public NodeMetadata apply(Server from) { NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(from.getId() + ""); builder.name(from.getName()); builder.hostname(from.getName()); builder.location(new LocationBuilder().scope(LocationScope.HOST).id(from.getHostId()).description( from.getHostId()).parent(location.get()).build()); addMetadataAndParseTagsFromCommaDelimitedValue(builder, from.getMetadata()); builder.group(nodeNamingConvention.groupInUniqueNameOrNull(from.getName())); builder.imageId(from.getImageId() + ""); builder.operatingSystem(parseOperatingSystem(from)); builder.hardware(parseHardware(from)); builder.status(serverToNodeStatus.get(from.getStatus())); builder.publicAddresses(from.getAddresses().getPublicAddresses()); builder.privateAddresses(from.getAddresses().getPrivateAddresses()); return builder.build(); }