func TestRoleStateOperations(t *testing.T) { client := testutils.GetTestClient(t) vmname := GenerateName() sa := GetTestStorageAccount(t, client) location := sa.StorageServiceProperties.Location role := NewVMConfiguration(vmname, "Standard_D3") ConfigureDeploymentFromPlatformImage(&role, GetLinuxTestImage(t, client).Name, fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), GenerateName()) ConfigureForLinux(&role, "myvm", "azureuser", GeneratePassword()) createRoleConfiguration(t, client, role, location) vmc := vm.NewClient(client) if err := Await(client, func() (management.OperationID, error) { return vmc.ShutdownRole(vmname, vmname, vmname) }); err != nil { t.Error(err) } if err := Await(client, func() (management.OperationID, error) { return vmc.StartRole(vmname, vmname, vmname) }); err != nil { t.Error(err) } if err := Await(client, func() (management.OperationID, error) { return vmc.RestartRole(vmname, vmname, vmname) }); err != nil { t.Error(err) } deleteHostedService(t, client, vmname) }
func TestVMImageList(t *testing.T) { client := testutils.GetTestClient(t) vmic := vmimage.NewClient(client) il, _ := vmic.ListVirtualMachineImages() for _, im := range il.VMImages { t.Logf("%s -%s", im.Name, im.Description) } }
func TestDeployPlatformImage(t *testing.T) { client := testutils.GetTestClient(t) vmname := GenerateName() sa := GetTestStorageAccount(t, client) location := sa.StorageServiceProperties.Location role := NewVMConfiguration(vmname, "Standard_D3") ConfigureDeploymentFromPlatformImage(&role, GetLinuxTestImage(t, client).Name, fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), GenerateName()) ConfigureForLinux(&role, "myvm", "azureuser", GeneratePassword()) ConfigureWithPublicSSH(&role) testRoleConfiguration(t, client, role, location) }
func TestDeployFromVmImage(t *testing.T) { client := testutils.GetTestClient(t) vmname := GenerateName() sa := GetTestStorageAccount(t, client) location := sa.StorageServiceProperties.Location im := GetVMImage(t, client, func(im vmimage.VMImage) bool { return im.Name == "fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-OLTP-ENU-Win2012R2-cy14su11" }) role := NewVMConfiguration(vmname, "Standard_D4") ConfigureDeploymentFromVMImage(&role, im.Name, fmt.Sprintf("http://%s.blob.core.windows.net/%s", sa.ServiceName, vmname), false) ConfigureForWindows(&role, vmname, "azureuser", GeneratePassword(), true, "") ConfigureWithPublicSSH(&role) testRoleConfiguration(t, client, role, location) }
func TestAzureGetResourceExtensions(t *testing.T) { client := testutils.GetTestClient(t) list, err := NewClient(client).GetResourceExtensions() if err != nil { t.Fatal(err) } t.Logf("Found %d extensions", len(list)) if len(list) == 0 { t.Fatal("Huh, no resource extensions at all? Something must be wrong.") } for _, extension := range list { if extension.Name == "" { t.Fatalf("Resource with empty name? Something must have gone wrong with serialization: %+v", extension) } } }
func TestDeployPlatformCaptureRedeploy(t *testing.T) { client := testutils.GetTestClient(t) vmname := GenerateName() sa := GetTestStorageAccount(t, client) location := sa.StorageServiceProperties.Location role := NewVMConfiguration(vmname, "Standard_D3") ConfigureDeploymentFromPlatformImage(&role, GetLinuxTestImage(t, client).Name, fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), GenerateName()) ConfigureForLinux(&role, "myvm", "azureuser", GeneratePassword()) ConfigureWithPublicSSH(&role) t.Logf("Deploying VM: %s", vmname) createRoleConfiguration(t, client, role, location) t.Logf("Wait for deployment to enter running state") vmc := vm.NewClient(client) status := vm.DeploymentStatusDeploying for status != vm.DeploymentStatusRunning { deployment, err := vmc.GetDeployment(vmname, vmname) if err != nil { t.Error(err) break } status = deployment.Status } t.Logf("Shutting down VM: %s", vmname) if err := Await(client, func() (management.OperationID, error) { return vmc.ShutdownRole(vmname, vmname, vmname) }); err != nil { t.Error(err) } if err := WaitForDeploymentPowerState(client, vmname, vmname, vm.PowerStateStopped); err != nil { t.Fatal(err) } imagename := GenerateName() t.Logf("Capturing VMImage: %s", imagename) if err := Await(client, func() (management.OperationID, error) { return vmc.CaptureRole(vmname, vmname, vmname, imagename, imagename, nil) }); err != nil { t.Error(err) } im := GetUserImage(t, client, imagename) t.Logf("Found image: %+v", im) newvmname := GenerateName() role = NewVMConfiguration(newvmname, "Standard_D3") ConfigureDeploymentFromPlatformImage(&role, im.Name, fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, newvmname), GenerateName()) ConfigureForLinux(&role, newvmname, "azureuser", GeneratePassword()) ConfigureWithPublicSSH(&role) t.Logf("Deploying new VM from freshly captured VM image: %s", newvmname) if err := Await(client, func() (management.OperationID, error) { return vmc.CreateDeployment(role, vmname, vm.CreateDeploymentOptions{}) }); err != nil { t.Error(err) } deleteHostedService(t, client, vmname) }