@Override public void execute(CloudStackClient cloudStackClient, Pool pool, DelegateExecution execution) { final String businessKey = execution.getProcessBusinessKey(); final String keyPairName = KeyPairs.formatNameFromBusinessKey(businessKey); final String zoneId = pool.getOptions().get(ProviderOptions.ZONE_ID); final String templateId = pool.getSoftware().getImageId(); final String serviceOffering = pool.getHardware().getType(); LOG.info("Starting instances!"); AsyncCreateResponse asyncCreateResponse = cloudStackClient.getVirtualMachineClient() .deployVirtualMachineInZone(zoneId, serviceOffering, templateId, DeployVirtualMachineOptions.Builder .displayName(businessKey) .group(businessKey) .networkId(Networks.formatNameFromBusinessKey(businessKey)) .keyPair(keyPairName) .name(businessKey)); VirtualMachines.waitForVMtoStart(cloudStackClient, businessKey); } }
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; }
public void testDeployVirtualMachineIs2xxVersion3x() { HttpResponse deployVirtualMachineInZoneResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/deployvirtualmachineresponse.json")).build(); VirtualMachineClient client = requestSendsResponse(deployVirtualMachineInZone, deployVirtualMachineInZoneResponse); AsyncCreateResponse async = client.deployVirtualMachineInZone("zone1", "serviceOffering1", "template1"); assertEquals(async, AsyncCreateResponse.builder().id("1234").jobId("50006").build()); }
public void testDeployVirtualMachineIs2xxVersion4x() { HttpResponse deployVirtualMachineInZoneResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/deployvirtualmachineresponse4x.json")).build(); VirtualMachineClient client = requestSendsResponse(deployVirtualMachineInZone, deployVirtualMachineInZoneResponse); AsyncCreateResponse async = client.deployVirtualMachineInZone("zone1", "serviceOffering1", "template1"); assertEquals( async, AsyncCreateResponse.builder().id("1cce6cb7-2268-47ff-9696-d9e610f6619a") .jobId("13330fc9-8b3e-4582-aa3e-90883c041ff0").build()); }
AsyncCreateResponse job = client.getVirtualMachineClient().deployVirtualMachineInZone(zoneId, serviceOfferingId, templateId, options); VirtualMachine vm = blockUntilJobCompletesAndReturnResult.<VirtualMachine>apply(job);
AsyncCreateResponse job = client.getVirtualMachineClient().deployVirtualMachineInZone(zoneId, serviceOfferingId, templateId, options); VirtualMachine vm = blockUntilJobCompletesAndReturnResult.<VirtualMachine>apply(job);