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