test/integration/server.rb in fog-azure-rm-0.3.9 vs test/integration/server.rb in fog-azure-rm-0.4.0

- old
+ new

@@ -55,14 +55,14 @@ account_type: 'Standard', replication: 'LRS' ) network.virtual_networks.create( - name: 'testVnet', - location: LOCATION, - resource_group: 'TestRG-VM', - network_address_list: '10.1.0.0/16,10.2.0.0/16' + name: 'testVnet', + location: LOCATION, + resource_group: 'TestRG-VM', + network_address_list: '10.1.0.0/16,10.2.0.0/16' ) network.subnets.create( name: 'mysubnet', resource_group: 'TestRG-VM', @@ -77,11 +77,10 @@ subnet_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-VM/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/mysubnet", ip_configuration_name: 'testIpConfiguration', private_ip_allocation_method: Fog::ARM::Network::Models::IPAllocationMethod::Dynamic ) - # TODO: Create new NIC for managed VM network.network_interfaces.create( name: 'NetInt2', resource_group: 'TestRG-VM', location: LOCATION, subnet_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-VM/providers/Microsoft.Network/virtualNetworks/testVnet/subnets/mysubnet", @@ -92,16 +91,18 @@ ######################################################################################################################## ###################### Check for Virtual Machine ###################### ######################################################################################################################## flag = compute.servers.check_vm_exists('TestRG-VM', 'TestVM') - puts "Virtual Machine doesn't exist." unless flag + puts 'Virtual Machine does NOT exist!' unless flag ######################################################################################################################## ###################### Create Server ###################### ######################################################################################################################## + puts 'Creating un-managed Virtual Machine...' + tags = { key1: 'value1', key2: 'value2' } virtual_machine = compute.servers.create( name: 'TestVM', location: LOCATION, @@ -124,10 +125,13 @@ puts "Created un-managed virtual machine: #{virtual_machine.name}" ######################################################################################################################## ###################### Create Managed Server ###################### ######################################################################################################################## + + puts 'Creating managed Virtual Machine...' + managed_vm = compute.servers.create( name: 'TestVM-Managed', location: LOCATION, resource_group: 'TestRG-VM', vm_size: 'Basic_A0', @@ -149,10 +153,12 @@ ######################################################################################################################## ###################### Create Server Async #################### ######################################################################################################################## + print 'Creating Virtual Machine asynchronously...' + async_response = compute.servers.create_async( name: 'TestVM', location: LOCATION, resource_group: 'TestRG-VM', tags: tags, @@ -170,40 +176,41 @@ custom_data: 'echo customData', os_disk_caching: Fog::ARM::Compute::Models::CachingTypes::None ) loop do - puts async_response.state + if async_response.pending? + sleep(2) + print '.' + end - sleep(2) if async_response.pending? - if async_response.fulfilled? - puts async_response.value.inspect + puts "\nCreated VM asynchronously! [#{async_response.value.name}]" break end if async_response.rejected? - puts async_response.reason.inspect + puts "\nERROR: Async VM creation failed!\n#{async_response.reason.inspect}" break end end ######################################################################################################################## ###################### Attach Data Disk to VM ###################### ######################################################################################################################## virtual_machine = compute.servers.get('TestRG-VM', 'TestVM') virtual_machine.attach_data_disk('datadisk1', 10, storage_account_name) - puts 'Attached Data Disk to VM' + puts 'Attached Data Disk to VM!' ######################################################################################################################## ###################### Detach Data Disk from VM ###################### ######################################################################################################################## virtual_machine = compute.servers.get('TestRG-VM', 'TestVM') virtual_machine.detach_data_disk('datadisk1') - puts 'Detached Data Disk from VM' + puts 'Detached Data Disk from VM!' ######################################################################################################################## ###################### Delete Data Disk ###################### ######################################################################################################################## @@ -216,10 +223,11 @@ puts "Deleted data disk: #{storage_data.delete_disk('datadisk1')}" ######################################################################################################################## ###################### Create a Managed Data Disk ###################### ######################################################################################################################## + managed_disk = compute.managed_disks.create( name: 'ManagedDataDisk', location: LOCATION, resource_group_name: 'TestRG-VM', account_type: 'Standard_LRS', @@ -231,34 +239,36 @@ puts "Created Managed Disk: #{managed_disk.name}" ######################################################################################################################## ###################### Attach Managed Data Disk to VM ###################### ######################################################################################################################## + managed_vm.attach_managed_disk('ManagedDataDisk', 'TestRG-VM') - puts 'Attached Managed Data Disk to VM' + puts 'Attached Managed Data Disk to VM!' ######################################################################################################################## ###################### Detach Data Disk from VM ###################### ######################################################################################################################## managed_vm.detach_managed_disk('ManagedDataDisk') - puts 'Detached Managed Data Disk from VM' + puts 'Detached Managed Data Disk from VM!' ######################################################################################################################## ###################### Delete Managed Data Disk ###################### ######################################################################################################################## + managed_disk.destroy - puts 'Deleted managed data disk' + puts 'Deleted managed data disk!' ######################################################################################################################## ###################### List VM in a resource group ###################### ######################################################################################################################## virtual_machines = compute.servers(resource_group: 'TestRG-VM') - puts 'List virtual machines ina resource group:' - virtual_machines.each do |a_virtual_machine| - puts a_virtual_machine.name + puts 'List virtual machines in a resource group:' + virtual_machines.each do |vm| + puts "- #{vm.name}" end ####################################################################################################################### ##################### Get VM ###################### ####################################################################################################################### @@ -268,14 +278,14 @@ ######################################################################################################################## ###################### List available sizes in VM ###################### ######################################################################################################################## + puts 'List of available sizes for Virtual Machine:' available_sizes_for_vm = virtual_machine.list_available_sizes - puts 'List available sizes in virtual machines:' available_sizes_for_vm.each do |available_size| - puts available_size.inspect + puts "- #{available_size.name}" end ######################################################################################################################## ###################### Restart VM ###################### ######################################################################################################################## @@ -293,11 +303,11 @@ ######################################################################################################################## ###################### Deallocate VM ###################### ######################################################################################################################## virtual_machine.deallocate - puts 'Virtual machine deallocated!' + puts 'Virtual machine de-allocated!' ######################################################################################################################## ###################### Start VM ###################### ######################################################################################################################## @@ -314,16 +324,18 @@ ######################################################################################################################## ###################### Delete VM ###################### ######################################################################################################################## puts "Deleted virtual machine: #{virtual_machine.destroy}" - puts "Deleted virutal machine: #{managed_vm.destroy}" + puts "Deleted virtual machine: #{managed_vm.destroy}" ######################################################################################################################## ###################### CleanUp ###################### ######################################################################################################################## + puts 'Cleaning up...' + nic = network.network_interfaces.get('TestRG-VM', 'NetInt') nic.destroy nic = network.network_interfaces.get('TestRG-VM', 'NetInt2') nic.destroy @@ -335,10 +347,10 @@ storage.destroy resource_group = rs.resource_groups.get('TestRG-VM') resource_group.destroy - puts 'Integration Test for virtual machine ran successfully' + puts 'Integration Test for virtual machine ran successfully!' rescue - puts 'Integration Test for virtual machine is failing' + puts 'Integration Test for virtual machine is failing!' resource_group.destroy unless resource_group.nil? end