@Override public DeployVirtualMachineOptions apply(CloudStackTemplateOptions templateOptions, Map<String, Network> networks, String zoneId, DeployVirtualMachineOptions options) { // security groups not allowed. // at least one network must be given to CloudStack, // but jclouds will try to autodetect an appropriate network if none given. checkArgument(templateOptions.getSecurityGroupIds().isEmpty(), "security groups cannot be specified for locations (zones) that use advanced networking"); if (templateOptions.getNetworkIds().size() > 0) { options.networkIds(templateOptions.getNetworkIds()); } else if (templateOptions.getIpsToNetworks().isEmpty()) { checkArgument(!networks.isEmpty(), "please setup a network for zone: " + zoneId); Network defaultNetworkInZone = Iterables.getFirst(filter(networks.values(), and(defaultNetworkInZone(zoneId), supportsStaticNAT())), null); if(defaultNetworkInZone == null) { defaultNetworkInZone = Iterables.getFirst(filter(networks.values(), isIsolatedNetwork()), null); } if (defaultNetworkInZone == null) { throw new IllegalArgumentException("please choose a specific network in zone " + zoneId + ": " + networks); } else { options.networkId(defaultNetworkInZone.getId()); } } return options; } }
@Override public DeployVirtualMachineOptions apply(CloudStackTemplateOptions templateOptions, Map<String, Network> networks, String zoneId, DeployVirtualMachineOptions options) { // security groups not allowed. // at least one network must be given to CloudStack, // but jclouds will try to autodetect an appropriate network if none given. checkArgument(templateOptions.getSecurityGroupIds().isEmpty(), "security groups cannot be specified for locations (zones) that use advanced networking"); if (templateOptions.getNetworkIds().size() > 0) { options.networkIds(templateOptions.getNetworkIds()); } else if (templateOptions.getIpsToNetworks().isEmpty()) { checkArgument(!networks.isEmpty(), "please setup a network for zone: " + zoneId); Network defaultNetworkInZone = Iterables.getFirst(filter(networks.values(), and(defaultNetworkInZone(zoneId), supportsStaticNAT())), null); if(defaultNetworkInZone == null) { defaultNetworkInZone = Iterables.getFirst(filter(networks.values(), isIsolatedNetwork()), null); } if (defaultNetworkInZone == null) { throw new IllegalArgumentException("please choose a specific network in zone " + zoneId + ": " + networks); } else { options.networkId(defaultNetworkInZone.getId()); } } return options; } }
@Override public DeployVirtualMachineOptions apply(CloudStackTemplateOptions templateOptions, Map<String, Network> networks, String zoneId, DeployVirtualMachineOptions options) { // security groups not allowed. // at least one network must be given to CloudStack, // but jclouds will try to autodetect an appropriate network if none given. checkArgument(templateOptions.getSecurityGroupIds().isEmpty(), "security groups cannot be specified for locations (zones) that use advanced networking"); if (!templateOptions.getNetworks().isEmpty()) { options.networkIds(templateOptions.getNetworks()); } else if (templateOptions.getIpsToNetworks().isEmpty()) { checkArgument(!networks.isEmpty(), "please setup a network for zone: " + zoneId); Network defaultNetworkInZone = Iterables.getFirst(filter(networks.values(), and(defaultNetworkInZone(zoneId), supportsStaticNAT())), null); if (defaultNetworkInZone == null) { defaultNetworkInZone = Iterables.getFirst(filter(networks.values(), isIsolatedNetwork()), null); } if (defaultNetworkInZone == null) { throw new IllegalArgumentException("please choose a specific network in zone " + zoneId + ": " + networks); } else { options.networkId(defaultNetworkInZone.getId()); } } return options; } }
public void testSupportsPortForwardingAndStaticNATWhenFirewallHasFeatures() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true", "PortForwarding", "true")).build())).build(); assert Predicates.and(supportsPortForwarding(), supportsStaticNAT()).apply(network); assert !hasLoadBalancerService().apply(network); }
public void testSupportsStaticNATFindsWhenFirewallHasStaticNatFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true")).build())) .build(); assert !hasLoadBalancerService().apply(network); assert supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testNoSupport() { Network network = Network.builder().id("204") .services(ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of()).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testSupportsPortForwardingFindsWhenFirewallHasPortForwardingFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("PortForwarding", "true")).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert supportsPortForwarding().apply(network); }
public void testSupportsStaticNATFindsWhenFirewallHasStaticNatFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true")).build())) .build(); assert !hasLoadBalancerService().apply(network); assert supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testSupportsPortForwardingFindsWhenFirewallHasPortForwardingFeature() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("PortForwarding", "true")).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert supportsPortForwarding().apply(network); }
public void testSupportsPortForwardingAndStaticNATWhenFirewallHasFeatures() { Network network = Network .builder() .id("204") .services( ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of("StaticNat", "true", "PortForwarding", "true")).build())).build(); assert Predicates.and(supportsPortForwarding(), supportsStaticNAT()).apply(network); assert !hasLoadBalancerService().apply(network); }
public void testHasLoadBalancerService() { Network network = Network.builder().id("204").services(ImmutableSet.of(NetworkService.builder().name("Lb").build())).build(); assert hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testHasLoadBalancerService() { Network network = Network.builder().id("204").services(ImmutableSet.of(NetworkService.builder().name("Lb").build())).build(); assert hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
public void testNoSupport() { Network network = Network.builder().id("204") .services(ImmutableSet.of(NetworkService.builder().name("Firewall").capabilities( ImmutableMap.<String, String> of()).build())).build(); assert !hasLoadBalancerService().apply(network); assert !supportsStaticNAT().apply(network); assert !supportsPortForwarding().apply(network); }
@BeforeGroups(groups = "live") public void setupClient() { super.setupContext(); prefix += "nat"; try { network = find(client.getNetworkApi().listNetworks(), NetworkPredicates.supportsStaticNAT()); String defaultTemplate = templateBuilderSpec != null ? templateBuilderSpec.getImageId() : null; vm = VirtualMachineApiLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); } catch (NoSuchElementException e) { networksDisabled = true; } }
@BeforeGroups(groups = "live") public void setupClient() { super.setupContext(); prefix += "nat"; try { network = find(client.getNetworkClient().listNetworks(), NetworkPredicates.supportsStaticNAT()); String defaultTemplate = template != null ? template.getImageId() : null; vm = VirtualMachineClientLiveTest.createVirtualMachineInNetwork(network, defaultTemplateOrPreferredInZone(defaultTemplate, client, network.getZoneId()), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); } catch (NoSuchElementException e) { networksDisabled = true; } }