@Test public void testCreateVirtualMachine() throws Exception { String defaultTemplate = template != null ? template.getImageId() : null; vm = createVirtualMachine(client, defaultTemplate, jobComplete, virtualMachineRunning); if (vm.getPassword() != null) { conditionallyCheckSSH(); } assert in(ImmutableSet.of("NetworkFilesystem", "IscsiLUN", "VMFS", "PreSetup")) .apply(vm.getRootDeviceType()) : vm; checkVm(vm); }
@Test public void testCreateVirtualMachine() throws Exception { String defaultTemplate = templateBuilderSpec != null ? templateBuilderSpec.getImageId() : null; vm = createVirtualMachine(client, defaultTemplate, jobComplete, virtualMachineRunning); if (vm.getPassword() != null) { conditionallyCheckSSH(); } assert in(ImmutableSet.of("ROOT", "NetworkFilesystem", "IscsiLUN", "VMFS", "PreSetup")) .apply(vm.getRootDeviceType()) : vm; checkVm(vm); }
private void conditionallyCheckSSH() { if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); assert HostSpecifier.isValid(vm.getIPAddress()); if (!InetAddresses2.isPrivateIPAddress(vm.getIPAddress())) { // not sure if the network is public or not, so we have to test HostAndPort socket = HostAndPort.fromParts(vm.getIPAddress(), 22); System.err.printf("testing socket %s%n", socket); System.err.printf("testing ssh %s%n", socket); checkSSH(socket); } else { System.err.printf("skipping ssh %s, as private%n", vm.getIPAddress()); } }
public void testCreateVm() { if (networksDisabled) return; 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(); }
private void conditionallyCheckSSH() { if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); assert HostSpecifier.isValid(vm.getIPAddress()); if (!InetAddresses2.isPrivateIPAddress(vm.getIPAddress())) { // not sure if the network is public or not, so we have to test HostAndPort socket = HostAndPort.fromParts(vm.getIPAddress(), 22); System.err.printf("testing socket %s%n", socket); System.err.printf("testing ssh %s%n", socket); checkSSH(socket); } else { System.err.printf("skipping ssh %s, as private%n", vm.getIPAddress()); } }
public void testCreateVm() { if (networksDisabled) return; 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(); }
@Test(dependsOnMethods = "testCreateIngress") public void testCreateVMInSecurityGroup() throws Exception { skipIfSecurityGroupsNotSupported(); String defaultTemplate = templateBuilderSpec != null ? templateBuilderSpec.getImageId() : null; vm = VirtualMachineApiLiveTest.createVirtualMachineWithSecurityGroupInZone(zone.getId(), defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), group.getId(), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && !loginCredentials.getOptionalPassword().isPresent()) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); // ingress port 22 checkSSH(HostAndPort.fromParts(vm.getIPAddress(), 22)); // ingress icmp disabled as this is platform dependent and may actually // just try tcp port 7 // assert InetAddress.getByName(vm.getIPAddress()).isReachable(1000) : vm; }
@Test(dependsOnMethods = "testCreateIngress") public void testCreateVMInSecurityGroup() throws Exception { skipIfSecurityGroupsNotSupported(); String defaultTemplate = template != null ? template.getImageId() : null; vm = VirtualMachineClientLiveTest.createVirtualMachineWithSecurityGroupInZone(zone.getId(), defaultTemplateOrPreferredInZone(defaultTemplate, client, zone.getId()), group.getId(), client, jobComplete, virtualMachineRunning); if (vm.getPassword() != null && loginCredentials.getOptionalPassword() == null) loginCredentials = loginCredentials.toBuilder().password(vm.getPassword()).build(); // ingress port 22 checkSSH(HostAndPort.fromParts(vm.getIPAddress(), 22)); // ingress icmp disabled as this is platform dependent and may actually // just try tcp port 7 // assert InetAddress.getByName(vm.getIPAddress()).isReachable(1000) : vm; }
public static VirtualMachine createVirtualMachineWithOptionsInZone(DeployVirtualMachineOptions options, String zoneId, String templateId, CloudStackClient client, Predicate<String> jobComplete, Predicate<VirtualMachine> virtualMachineRunning) { String serviceOfferingId = DEFAULT_SIZE_ORDERING.min(client.getOfferingClient().listServiceOfferings()).getId(); System.out.printf("serviceOfferingId %s, templateId %s, zoneId %s, options %s%n", serviceOfferingId, templateId, zoneId, options); AsyncCreateResponse job = client.getVirtualMachineClient().deployVirtualMachineInZone(zoneId, serviceOfferingId, templateId, options); assertTrue(jobComplete.apply(job.getJobId())); AsyncJob<VirtualMachine> jobWithResult = client.getAsyncJobClient().<VirtualMachine> getAsyncJob(job.getJobId()); if (jobWithResult.getError() != null) Throwables.propagate(new ExecutionException(String.format("job %s failed with exception %s", job.getId(), jobWithResult.getError().toString())) { }); VirtualMachine vm = jobWithResult.getResult(); if (vm.isPasswordEnabled()) { assert vm.getPassword() != null : vm; } assertTrue(virtualMachineRunning.apply(vm)); assertEquals(vm.getServiceOfferingId(), serviceOfferingId); assertEquals(vm.getTemplateId(), templateId); assertEquals(vm.getZoneId(), zoneId); return vm; }
@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; } }
public static VirtualMachine createVirtualMachineWithOptionsInZone(DeployVirtualMachineOptions options, String zoneId, String templateId, CloudStackApi client, Predicate<String> jobComplete, Predicate<VirtualMachine> virtualMachineRunning) { String serviceOfferingId = DEFAULT_SIZE_ORDERING.min(client.getOfferingApi().listServiceOfferings()).getId(); System.out.printf("serviceOfferingId %s, templateId %s, zoneId %s, options %s%n", serviceOfferingId, templateId, zoneId, options); AsyncCreateResponse job = client.getVirtualMachineApi().deployVirtualMachineInZone(zoneId, serviceOfferingId, templateId, options); assertTrue(jobComplete.apply(job.getJobId())); AsyncJob<VirtualMachine> jobWithResult = client.getAsyncJobApi().<VirtualMachine> getAsyncJob(job.getJobId()); if (jobWithResult.getError() != null) Throwables.propagate(new ExecutionException(String.format("job %s failed with exception %s", job.getId(), jobWithResult.getError().toString())) { }); VirtualMachine vm = jobWithResult.getResult(); if (vm.isPasswordEnabled()) { assert vm.getPassword() != null : vm; } assertTrue(virtualMachineRunning.apply(vm)); assertEquals(vm.getServiceOfferingId(), serviceOfferingId); assertEquals(vm.getTemplateId(), templateId); assertEquals(vm.getZoneId(), zoneId); return vm; }
@BeforeGroups(groups = "live") public void setupContext() { super.setupContext(); prefix += "rule"; try { network = find(client.getNetworkApi().listNetworks(), Predicates.and(supportsPortForwarding(), new Predicate<Network>() { @Override public boolean apply(Network network) { return network.isDefault() && !network.isSecurityGroupEnabled() && network.getAccount().equals(user.getAccount()); } })); 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; } }
LoginCredentials credentials = null; if (vm.isPasswordEnabled()) { assert vm.getPassword() != null : vm; credentials = LoginCredentials.builder().password(vm.getPassword()).build(); } else { credentials = LoginCredentials.fromCredentials(credentialStore.get("keypair#" + templateOptions.getKeyPair()));
@BeforeGroups(groups = "live") public void setupContext() { super.setupContext(); prefix += "rule"; try { network = find(client.getNetworkClient().listNetworks(), Predicates.and(supportsPortForwarding(), new Predicate<Network>() { @Override public boolean apply(Network network) { return network.isDefault() && !network.isSecurityGroupEnabled() && network.getAccount().equals(user.getAccount()); } })); 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; } }
@Test(dependsOnMethods = "testCreateVirtualMachine") public void testLifeCycle() throws Exception { String job = client.getVirtualMachineClient().stopVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineClient().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.STOPPED); if (vm.isPasswordEnabled()) { job = client.getVirtualMachineClient().resetPasswordForVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getAsyncJobClient().<VirtualMachine> getAsyncJob(job).getResult(); if (vm.getPassword() != null) { conditionallyCheckSSH(); } } job = client.getVirtualMachineClient().startVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineClient().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.RUNNING); job = client.getVirtualMachineClient().rebootVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineClient().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.RUNNING); }
@Test(dependsOnMethods = "testCreateVirtualMachine") public void testLifeCycle() throws Exception { String job = client.getVirtualMachineApi().stopVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineApi().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.STOPPED); if (vm.isPasswordEnabled()) { job = client.getVirtualMachineApi().resetPasswordForVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getAsyncJobApi().<VirtualMachine> getAsyncJob(job).getResult(); if (vm.getPassword() != null) { conditionallyCheckSSH(); } } job = client.getVirtualMachineApi().startVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineApi().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.RUNNING); job = client.getVirtualMachineApi().rebootVirtualMachine(vm.getId()); assertTrue(jobComplete.apply(job)); vm = client.getVirtualMachineApi().getVirtualMachine(vm.getId()); assertEquals(vm.getState(), VirtualMachine.State.RUNNING); }
.networkKbsRead(in.getNetworkKbsRead()) .networkKbsWrite(in.getNetworkKbsWrite()) .password(in.getPassword()) .passwordEnabled(in.isPasswordEnabled()) .publicIP(in.getPublicIP())
.networkKbsRead(in.getNetworkKbsRead()) .networkKbsWrite(in.getNetworkKbsWrite()) .password(in.getPassword()) .passwordEnabled(in.isPasswordEnabled()) .publicIP(in.getPublicIP())
.networkKbsRead(in.getNetworkKbsRead()) .networkKbsWrite(in.getNetworkKbsWrite()) .password(in.getPassword()) .passwordEnabled(in.isPasswordEnabled()) .publicIP(in.getPublicIP())