test/integration/server.rb in fog-azure-rm-0.1.0 vs test/integration/server.rb in fog-azure-rm-0.1.1

- old
+ new

@@ -38,165 +38,182 @@ ######################################################################################################################## ###################### Prerequisites ###################### ######################################################################################################################## -rs.resource_groups.create( - name: 'TestRG-VM', - location: 'eastus' -) +begin + resource_group = rs.resource_groups.create( + name: 'TestRG-VM', + location: LOCATION + ) -storage_account = storage.storage_accounts.create( - name: 'fogstorageac', - location: 'eastus', - resource_group: 'TestRG-VM', - account_type: 'Standard', - replication: 'LRS' -) + storage_account_name = "fog#{get_time}storageac" -network.virtual_networks.create( - name: 'testVnet', - location: 'eastus', - resource_group: 'TestRG-VM', - network_address_list: '10.1.0.0/16,10.2.0.0/16' -) + storage_account = storage.storage_accounts.create( + name: storage_account_name, + location: LOCATION, + resource_group: 'TestRG-VM', + account_type: 'Standard', + replication: 'LRS' + ) -network.subnets.create( - name: 'mysubnet', - resource_group: 'TestRG-VM', - virtual_network_name: 'testVnet', - address_prefix: '10.2.0.0/24' -) + 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' + ) -network.network_interfaces.create( - name: 'NetInt', - resource_group: 'TestRG-VM', - location: 'eastus', - 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: 'Dynamic' -) + network.subnets.create( + name: 'mysubnet', + resource_group: 'TestRG-VM', + virtual_network_name: 'testVnet', + address_prefix: '10.2.0.0/24' + ) -######################################################################################################################## -###################### Create Server ###################### -######################################################################################################################## + network.network_interfaces.create( + name: 'NetInt', + resource_group: 'TestRG-VM', + location: LOCATION, + 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: 'Dynamic' + ) -compute.servers.create( - name: 'TestVM', - location: 'eastus', - resource_group: 'TestRG-VM', - vm_size: 'Basic_A0', - storage_account_name: 'fogstorageac', - username: 'testuser', - password: 'Confiz=123', - disable_password_authentication: false, - network_interface_card_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-VM/providers/Microsoft.Network/networkInterfaces/NetInt", - publisher: 'Canonical', - offer: 'UbuntuServer', - sku: '14.04.2-LTS', - version: 'latest', - platform: 'linux', - custom_data: 'echo customData' -) + ######################################################################################################################## + ###################### Create Server ###################### + ######################################################################################################################## -######################################################################################################################## -###################### Attach Data Disk to VM ###################### -######################################################################################################################## + virtual_machine = compute.servers.create( + name: 'TestVM', + location: LOCATION, + resource_group: 'TestRG-VM', + vm_size: 'Basic_A0', + storage_account_name: storage_account_name, + username: 'testuser', + password: 'Confiz=123', + disable_password_authentication: false, + network_interface_card_id: "/subscriptions/#{azure_credentials['subscription_id']}/resourceGroups/TestRG-VM/providers/Microsoft.Network/networkInterfaces/NetInt", + publisher: 'Canonical', + offer: 'UbuntuServer', + sku: '14.04.2-LTS', + version: 'latest', + platform: 'linux', + custom_data: 'echo customData' + ) + puts "Created virtual machine: #{virtual_machine.name}" -virtual_machine = compute.servers.get('TestRG-VM', 'TestVM') -virtual_machine.attach_data_disk('datadisk1', 10, 'fogstorageac') + ######################################################################################################################## + ###################### Attach Data Disk to VM ###################### + ######################################################################################################################## -######################################################################################################################## -###################### Detach Data Disk from 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' -virtual_machine = compute.servers.get('TestRG-VM', 'TestVM') -virtual_machine.detach_data_disk('datadisk1') + ######################################################################################################################## + ###################### Detach Data Disk from VM ###################### + ######################################################################################################################## -######################################################################################################################## -###################### Delete Data Disk ###################### -######################################################################################################################## + virtual_machine = compute.servers.get('TestRG-VM', 'TestVM') + virtual_machine.detach_data_disk('datadisk1') + puts 'Detached Data Disk from VM' -access_key = storage_account.get_access_keys[0].value -Fog::Logger.debug access_key.inspect -storage_data = Fog::Storage.new( - provider: 'AzureRM', + ######################################################################################################################## + ###################### Delete Data Disk ###################### + ######################################################################################################################## + + access_key = storage_account.get_access_keys[0].value + Fog::Logger.debug access_key.inspect + storage_data = Fog::Storage::AzureRM.new( azure_storage_account_name: storage_account.name, azure_storage_access_key: access_key -) -storage_data.delete_disk('datadisk1') + ) + puts "Deleted data disk: #{storage_data.delete_disk('datadisk1')}" -######################################################################################################################## -###################### List VM in a resource group ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### List VM in a resource group ###################### + ######################################################################################################################## -virtual_machines = compute.servers(resource_group: 'TestRG-VM') -virtual_machines.each do |virtual_machine| - Fog::Logger.debug virtual_machine.name -end + 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 + end -####################################################################################################################### -##################### Get VM ###################### -####################################################################################################################### + ####################################################################################################################### + ##################### Get VM ###################### + ####################################################################################################################### -virtual_machine = compute.servers.get('TestRG-VM', 'TestVM') + virtual_machine = compute.servers.get('TestRG-VM', 'TestVM') + puts "Get virtual machine: #{virtual_machine.name}" -######################################################################################################################## -###################### List available sizes in VM ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### List available sizes in VM ###################### + ######################################################################################################################## -available_sizes_for_vm = virtual_machine.list_available_sizes -available_sizes_for_vm.each do |available_size| - Fog::Logger.debug available_size.inspect -end + 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 + end -######################################################################################################################## -###################### Restart VM ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### Restart VM ###################### + ######################################################################################################################## -virtual_machine.restart + virtual_machine.restart + puts 'Virtual machine restarted!' -######################################################################################################################## -###################### Redeploy VM ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### Redeploy VM ###################### + ######################################################################################################################## -virtual_machine.redeploy + virtual_machine.redeploy + puts 'Virtual machine redeployed!' -######################################################################################################################## -###################### Deallocate VM ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### Deallocate VM ###################### + ######################################################################################################################## -virtual_machine.deallocate + virtual_machine.deallocate + puts 'Virtual machine deallocated!' -######################################################################################################################## -###################### Start VM ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### Start VM ###################### + ######################################################################################################################## -virtual_machine.start + virtual_machine.start + puts 'Virtual machines started!' -######################################################################################################################## -###################### Power Off VM ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### Power Off VM ###################### + ######################################################################################################################## -virtual_machine.power_off + virtual_machine.power_off + puts 'Virtual machine powered off!' -######################################################################################################################## -###################### Delete VM ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### Delete VM ###################### + ######################################################################################################################## -virtual_machine.destroy + puts "Deleted virtual machine: #{virtual_machine.destroy}" -######################################################################################################################## -###################### CleanUp ###################### -######################################################################################################################## + ######################################################################################################################## + ###################### CleanUp ###################### + ######################################################################################################################## -nic = network.network_interfaces.get('TestRG-VM', 'NetInt') -nic.destroy + nic = network.network_interfaces.get('TestRG-VM', 'NetInt') + nic.destroy -vnet = network.virtual_networks.get('TestRG-VM', 'testVnet') -vnet.destroy + vnet = network.virtual_networks.get('TestRG-VM', 'testVnet') + vnet.destroy -storage = storage.storage_accounts.get('TestRG-VM', 'fogstorageac') -storage.destroy + storage = storage.storage_accounts.get('TestRG-VM', storage_account_name) + storage.destroy -resource_group = rs.resource_groups.get('TestRG-VM') -resource_group.destroy + resource_group = rs.resource_groups.get('TestRG-VM') + resource_group.destroy +rescue + puts 'Integration Test for virtual machine is failing' + resource_group.destroy unless resource_group.nil? +end