@Override protected ListenableFuture<AtomicReference<NodeMetadata>> createNodeInGroupWithNameAndTemplate(String group, final String name, Template template) { ListenableFuture<AtomicReference<NodeMetadata>> future = super.createNodeInGroupWithNameAndTemplate(group, name, template); NovaTemplateOptions templateOptions = NovaTemplateOptions.class.cast(template.getOptions()); if (templateOptions.shouldAutoAssignFloatingIp()) { return Futures.transform(future, createAndAddFloatingIpToNode, userExecutor); } else { return future; } }
@Override protected ListenableFuture<AtomicReference<NodeMetadata>> createNodeInGroupWithNameAndTemplate(String group, final String name, Template template) { ListenableFuture<AtomicReference<NodeMetadata>> future = super.createNodeInGroupWithNameAndTemplate(group, name, template); NovaTemplateOptions templateOptions = NovaTemplateOptions.class.cast(template.getOptions()); if (templateOptions.shouldAutoAssignFloatingIp()) { return Futures.transform(future, createAndAddFloatingIpToNode, userExecutor); } else { return future; } }
@Override protected ListenableFuture<AtomicReference<NodeMetadata>> createNodeInGroupWithNameAndTemplate(String group, final String name, Template template) { ListenableFuture<AtomicReference<NodeMetadata>> future = super.createNodeInGroupWithNameAndTemplate(group, name, template); NovaTemplateOptions templateOptions = NovaTemplateOptions.class.cast(template.getOptions()); if (templateOptions.shouldAutoAssignFloatingIp()) { return Futures.transform(future, createAndAddFloatingIpToNode, userExecutor); } else { return future; } }
@Override protected ListenableFuture<AtomicReference<NodeMetadata>> createNodeInGroupWithNameAndTemplate(String group, final String name, Template template) { ListenableFuture<AtomicReference<NodeMetadata>> future = super.createNodeInGroupWithNameAndTemplate(group, name, template); final NovaTemplateOptions templateOptions = NovaTemplateOptions.class.cast(template.getOptions()); if (templateOptions.shouldAutoAssignFloatingIp()) { ListenableFuture<AtomicReference<NodeAndNovaTemplateOptions>> nodeAndNovaTemplateOptions = Futures.transform(future, new Function<AtomicReference<NodeMetadata>, AtomicReference<NodeAndNovaTemplateOptions>>() { @Override public AtomicReference<NodeAndNovaTemplateOptions> apply(AtomicReference<NodeMetadata> input) { return NodeAndNovaTemplateOptions.newAtomicReference(input, Atomics.newReference(templateOptions)); } } ); return Futures.transform(nodeAndNovaTemplateOptions, createAndAddFloatingIpToNode, userExecutor); } else { return future; } }
@Override protected ListenableFuture<AtomicReference<NodeMetadata>> createNodeInGroupWithNameAndTemplate(String group, final String name, Template template) { ListenableFuture<AtomicReference<NodeMetadata>> future = super.createNodeInGroupWithNameAndTemplate(group, name, template); final NovaTemplateOptions templateOptions = NovaTemplateOptions.class.cast(template.getOptions()); if (templateOptions.shouldAutoAssignFloatingIp()) { ListenableFuture<AtomicReference<NodeAndNovaTemplateOptions>> nodeAndNovaTemplateOptions = Futures.transform(future, new Function<AtomicReference<NodeMetadata>, AtomicReference<NodeAndNovaTemplateOptions>>() { @Override public AtomicReference<NodeAndNovaTemplateOptions> apply(AtomicReference<NodeMetadata> input) { return NodeAndNovaTemplateOptions.newAtomicReference(input, Atomics.newReference(templateOptions)); } } ); return Futures.transform(nodeAndNovaTemplateOptions, createAndAddFloatingIpToNode, userExecutor); } else { return future; } }
@Override protected ListenableFuture<AtomicReference<NodeMetadata>> createNodeInGroupWithNameAndTemplate(String group, final String name, Template template) { ListenableFuture<AtomicReference<NodeMetadata>> future = super.createNodeInGroupWithNameAndTemplate(group, name, template); final NovaTemplateOptions templateOptions = NovaTemplateOptions.class.cast(template.getOptions()); if (templateOptions.shouldAutoAssignFloatingIp()) { ListenableFuture<AtomicReference<NodeAndNovaTemplateOptions>> nodeAndNovaTemplateOptions = Futures.transform(future, new Function<AtomicReference<NodeMetadata>, AtomicReference<NodeAndNovaTemplateOptions>>() { @Override public AtomicReference<NodeAndNovaTemplateOptions> apply(AtomicReference<NodeMetadata> input) { return NodeAndNovaTemplateOptions.newAtomicReference(input, Atomics.newReference(templateOptions)); } } ); return Futures.transform(nodeAndNovaTemplateOptions, createAndAddFloatingIpToNode, userExecutor); } else { return future; } }
@Test public void testautoAssignFloatingIpStatic() { NovaTemplateOptions options = autoAssignFloatingIp(true); assert options.shouldAutoAssignFloatingIp(); }
@Test public void testautoAssignFloatingIpDefault() { NovaTemplateOptions options = new NovaTemplateOptions(); assert !options.shouldAutoAssignFloatingIp(); }
@Test public void testautoAssignFloatingIpStatic() { NovaTemplateOptions options = autoAssignFloatingIp(true); assert options.shouldAutoAssignFloatingIp(); }
@Test public void testautoAssignFloatingIpDefault() { NovaTemplateOptions options = new NovaTemplateOptions(); assert !options.shouldAutoAssignFloatingIp(); }
@Test public void testautoAssignFloatingIp() { NovaTemplateOptions options = new NovaTemplateOptions().autoAssignFloatingIp(true); assert options.shouldAutoAssignFloatingIp(); }
@Test public void testautoAssignFloatingIp() { NovaTemplateOptions options = new NovaTemplateOptions().autoAssignFloatingIp(true); assert options.shouldAutoAssignFloatingIp(); }
@Override public void copyTo(TemplateOptions to) { super.copyTo(to); if (to instanceof NovaTemplateOptions) { NovaTemplateOptions eTo = NovaTemplateOptions.class.cast(to); eTo.autoAssignFloatingIp(shouldAutoAssignFloatingIp()); if (getSecurityGroupNames().isPresent()) eTo.securityGroupNames(getSecurityGroupNames().get()); eTo.generateKeyPair(shouldGenerateKeyPair()); eTo.keyPairName(getKeyPairName()); if (getUserData() != null) { eTo.userData(getUserData()); } } }
@Override public void copyTo(TemplateOptions to) { super.copyTo(to); if (to instanceof NovaTemplateOptions) { NovaTemplateOptions eTo = NovaTemplateOptions.class.cast(to); eTo.autoAssignFloatingIp(shouldAutoAssignFloatingIp()); if (getSecurityGroupNames().isPresent()) eTo.securityGroupNames(getSecurityGroupNames().get()); eTo.generateKeyPair(shouldGenerateKeyPair()); eTo.keyPairName(getKeyPairName()); if (getUserData() != null) { eTo.userData(getUserData()); } } }
@Override public void copyTo(TemplateOptions to) { super.copyTo(to); if (to instanceof NovaTemplateOptions) { NovaTemplateOptions eTo = NovaTemplateOptions.class.cast(to); eTo.autoAssignFloatingIp(shouldAutoAssignFloatingIp()); if (getSecurityGroupNames().isPresent()) eTo.securityGroupNames(getSecurityGroupNames().get()); eTo.generateKeyPair(shouldGenerateKeyPair()); eTo.keyPairName(getKeyPairName()); if (getUserData() != null) { eTo.userData(getUserData()); } if (getDiskConfig() != null) { eTo.diskConfig(getDiskConfig()); } eTo.configDrive(getConfigDrive()); } }
@Override public void copyTo(TemplateOptions to) { super.copyTo(to); if (to instanceof NovaTemplateOptions) { NovaTemplateOptions eTo = NovaTemplateOptions.class.cast(to); eTo.autoAssignFloatingIp(shouldAutoAssignFloatingIp()); if (getFloatingIpPoolNames().isPresent()) eTo.floatingIpPoolNames(getFloatingIpPoolNames().get()); if (getSecurityGroupNames().isPresent()) eTo.securityGroupNames(getSecurityGroupNames().get()); eTo.generateKeyPair(shouldGenerateKeyPair()); eTo.keyPairName(getKeyPairName()); if (getUserData() != null) { eTo.userData(getUserData()); } if (getDiskConfig() != null) { eTo.diskConfig(getDiskConfig()); } eTo.configDrive(getConfigDrive()); eTo.novaNetworks(getNovaNetworks()); eTo.availabilityZone(getAvailabilityZone()); } }
@Test public void testTemplateBuilder() { Template defaultTemplate = this.view.getComputeService().templateBuilder().build(); assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); assertTrue(defaultTemplate.getImage().getName().contains("Ubuntu")); assertEquals(defaultTemplate.getImage().getDefaultCredentials().getUser(), "root"); assertEquals(defaultTemplate.getLocation().getId(), "LON"); assertEquals(defaultTemplate.getImage().getLocation().getId(), "LON"); assertEquals(defaultTemplate.getHardware().getLocation().getId(), "LON"); assertEquals(defaultTemplate.getOptions().as(NovaTemplateOptions.class).shouldAutoAssignFloatingIp(), false); assertNull(defaultTemplate.getOptions().as(NovaTemplateOptions.class).getDiskConfig()); assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); }
@Test public void testTemplateBuilder() { Template defaultTemplate = this.view.getComputeService().templateBuilder().build(); assertEquals(defaultTemplate.getImage().getOperatingSystem().is64Bit(), true); assertEquals(defaultTemplate.getImage().getOperatingSystem().getFamily(), OsFamily.UBUNTU); assertTrue(defaultTemplate.getImage().getName().contains("Ubuntu")); assertEquals(defaultTemplate.getImage().getDefaultCredentials().getUser(), "root"); assertEquals(defaultTemplate.getLocation().getId(), "SYD"); assertEquals(defaultTemplate.getImage().getLocation().getId(), "SYD"); assertEquals(defaultTemplate.getHardware().getLocation().getId(), "SYD"); assertEquals(defaultTemplate.getOptions().as(NovaTemplateOptions.class).shouldAutoAssignFloatingIp(), false); assertNull(defaultTemplate.getOptions().as(NovaTemplateOptions.class).getDiskConfig()); assertEquals(getCores(defaultTemplate.getHardware()), 1.0d); }
@Override public void copyTo(TemplateOptions to) { super.copyTo(to); if (to instanceof NovaTemplateOptions) { NovaTemplateOptions eTo = NovaTemplateOptions.class.cast(to); eTo.autoAssignFloatingIp(shouldAutoAssignFloatingIp()); if (getFloatingIpPoolNames().isPresent()) eTo.floatingIpPoolNames(getFloatingIpPoolNames().get()); eTo.generateKeyPair(shouldGenerateKeyPair()); eTo.keyPairName(getKeyPairName()); if (getUserData() != null) { eTo.userData(getUserData()); } if (getDiskConfig() != null) { eTo.diskConfig(getDiskConfig()); } eTo.configDrive(getConfigDrive()); eTo.novaNetworks(getNovaNetworks()); eTo.availabilityZone(getAvailabilityZone()); eTo.blockDeviceMappings(getBlockDeviceMappings()); } }
@Override public void copyTo(TemplateOptions to) { super.copyTo(to); if (to instanceof NovaTemplateOptions) { NovaTemplateOptions eTo = NovaTemplateOptions.class.cast(to); eTo.autoAssignFloatingIp(shouldAutoAssignFloatingIp()); if (getFloatingIpPoolNames().isPresent()) eTo.floatingIpPoolNames(getFloatingIpPoolNames().get()); eTo.generateKeyPair(shouldGenerateKeyPair()); eTo.keyPairName(getKeyPairName()); if (getUserData() != null) { eTo.userData(getUserData()); } if (getDiskConfig() != null) { eTo.diskConfig(getDiskConfig()); } eTo.configDrive(getConfigDrive()); eTo.novaNetworks(getNovaNetworks()); eTo.availabilityZone(getAvailabilityZone()); eTo.blockDeviceMappings(getBlockDeviceMappings()); } }