test/integration/server.rb in fog-azure-rm-0.1.1 vs test/integration/server.rb in fog-azure-rm-0.1.2
- old
+ new
@@ -1,219 +1,219 @@
-require 'fog/azurerm'
-require 'yaml'
-
-########################################################################################################################
-###################### Services object required by all actions ######################
-###################### Keep it Uncommented! ######################
-########################################################################################################################
-
-azure_credentials = YAML.load_file('credentials/azure.yml')
-
-rs = Fog::Resources::AzureRM.new(
- tenant_id: azure_credentials['tenant_id'],
- client_id: azure_credentials['client_id'],
- client_secret: azure_credentials['client_secret'],
- subscription_id: azure_credentials['subscription_id']
-)
-
-compute = Fog::Compute::AzureRM.new(
- tenant_id: azure_credentials['tenant_id'],
- client_id: azure_credentials['client_id'],
- client_secret: azure_credentials['client_secret'],
- subscription_id: azure_credentials['subscription_id']
-)
-
-storage = Fog::Storage::AzureRM.new(
- tenant_id: azure_credentials['tenant_id'],
- client_id: azure_credentials['client_id'],
- client_secret: azure_credentials['client_secret'],
- subscription_id: azure_credentials['subscription_id']
-)
-
-network = Fog::Network::AzureRM.new(
- tenant_id: azure_credentials['tenant_id'],
- client_id: azure_credentials['client_id'],
- client_secret: azure_credentials['client_secret'],
- subscription_id: azure_credentials['subscription_id']
-)
-
-########################################################################################################################
-###################### Prerequisites ######################
-########################################################################################################################
-
-begin
- resource_group = rs.resource_groups.create(
- name: 'TestRG-VM',
- location: LOCATION
- )
-
- storage_account_name = "fog#{get_time}storageac"
-
- storage_account = storage.storage_accounts.create(
- name: storage_account_name,
- location: LOCATION,
- resource_group: 'TestRG-VM',
- 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'
- )
-
- network.subnets.create(
- name: 'mysubnet',
- resource_group: 'TestRG-VM',
- virtual_network_name: 'testVnet',
- address_prefix: '10.2.0.0/24'
- )
-
- 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'
- )
-
- ########################################################################################################################
- ###################### Create Server ######################
- ########################################################################################################################
-
- 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}"
-
- ########################################################################################################################
- ###################### 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'
-
- ########################################################################################################################
- ###################### 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'
-
- ########################################################################################################################
- ###################### 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
- )
- puts "Deleted data disk: #{storage_data.delete_disk('datadisk1')}"
-
- ########################################################################################################################
- ###################### 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
- end
-
- #######################################################################################################################
- ##################### Get VM ######################
- #######################################################################################################################
-
- virtual_machine = compute.servers.get('TestRG-VM', 'TestVM')
- puts "Get virtual machine: #{virtual_machine.name}"
-
- ########################################################################################################################
- ###################### List available sizes in VM ######################
- ########################################################################################################################
-
- 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 ######################
- ########################################################################################################################
-
- virtual_machine.restart
- puts 'Virtual machine restarted!'
-
- ########################################################################################################################
- ###################### Redeploy VM ######################
- ########################################################################################################################
-
- virtual_machine.redeploy
- puts 'Virtual machine redeployed!'
-
- ########################################################################################################################
- ###################### Deallocate VM ######################
- ########################################################################################################################
-
- virtual_machine.deallocate
- puts 'Virtual machine deallocated!'
-
- ########################################################################################################################
- ###################### Start VM ######################
- ########################################################################################################################
-
- virtual_machine.start
- puts 'Virtual machines started!'
-
- ########################################################################################################################
- ###################### Power Off VM ######################
- ########################################################################################################################
-
- virtual_machine.power_off
- puts 'Virtual machine powered off!'
-
- ########################################################################################################################
- ###################### Delete VM ######################
- ########################################################################################################################
-
- puts "Deleted virtual machine: #{virtual_machine.destroy}"
-
- ########################################################################################################################
- ###################### CleanUp ######################
- ########################################################################################################################
-
- nic = network.network_interfaces.get('TestRG-VM', 'NetInt')
- nic.destroy
-
- vnet = network.virtual_networks.get('TestRG-VM', 'testVnet')
- vnet.destroy
-
- storage = storage.storage_accounts.get('TestRG-VM', storage_account_name)
- storage.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
+require 'fog/azurerm'
+require 'yaml'
+
+########################################################################################################################
+###################### Services object required by all actions ######################
+###################### Keep it Uncommented! ######################
+########################################################################################################################
+
+azure_credentials = YAML.load_file('credentials/azure.yml')
+
+rs = Fog::Resources::AzureRM.new(
+ tenant_id: azure_credentials['tenant_id'],
+ client_id: azure_credentials['client_id'],
+ client_secret: azure_credentials['client_secret'],
+ subscription_id: azure_credentials['subscription_id']
+)
+
+compute = Fog::Compute::AzureRM.new(
+ tenant_id: azure_credentials['tenant_id'],
+ client_id: azure_credentials['client_id'],
+ client_secret: azure_credentials['client_secret'],
+ subscription_id: azure_credentials['subscription_id']
+)
+
+storage = Fog::Storage::AzureRM.new(
+ tenant_id: azure_credentials['tenant_id'],
+ client_id: azure_credentials['client_id'],
+ client_secret: azure_credentials['client_secret'],
+ subscription_id: azure_credentials['subscription_id']
+)
+
+network = Fog::Network::AzureRM.new(
+ tenant_id: azure_credentials['tenant_id'],
+ client_id: azure_credentials['client_id'],
+ client_secret: azure_credentials['client_secret'],
+ subscription_id: azure_credentials['subscription_id']
+)
+
+########################################################################################################################
+###################### Prerequisites ######################
+########################################################################################################################
+
+begin
+ resource_group = rs.resource_groups.create(
+ name: 'TestRG-VM',
+ location: LOCATION
+ )
+
+ storage_account_name = "sa#{current_time}"
+
+ storage_account = storage.storage_accounts.create(
+ name: storage_account_name,
+ location: LOCATION,
+ resource_group: 'TestRG-VM',
+ 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'
+ )
+
+ network.subnets.create(
+ name: 'mysubnet',
+ resource_group: 'TestRG-VM',
+ virtual_network_name: 'testVnet',
+ address_prefix: '10.2.0.0/24'
+ )
+
+ 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'
+ )
+
+ ########################################################################################################################
+ ###################### Create Server ######################
+ ########################################################################################################################
+
+ 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}"
+
+ ########################################################################################################################
+ ###################### 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'
+
+ ########################################################################################################################
+ ###################### 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'
+
+ ########################################################################################################################
+ ###################### 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
+ )
+ puts "Deleted data disk: #{storage_data.delete_disk('datadisk1')}"
+
+ ########################################################################################################################
+ ###################### 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
+ end
+
+ #######################################################################################################################
+ ##################### Get VM ######################
+ #######################################################################################################################
+
+ virtual_machine = compute.servers.get('TestRG-VM', 'TestVM')
+ puts "Get virtual machine: #{virtual_machine.name}"
+
+ ########################################################################################################################
+ ###################### List available sizes in VM ######################
+ ########################################################################################################################
+
+ 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 ######################
+ ########################################################################################################################
+
+ virtual_machine.restart
+ puts 'Virtual machine restarted!'
+
+ ########################################################################################################################
+ ###################### Redeploy VM ######################
+ ########################################################################################################################
+
+ virtual_machine.redeploy
+ puts 'Virtual machine redeployed!'
+
+ ########################################################################################################################
+ ###################### Deallocate VM ######################
+ ########################################################################################################################
+
+ virtual_machine.deallocate
+ puts 'Virtual machine deallocated!'
+
+ ########################################################################################################################
+ ###################### Start VM ######################
+ ########################################################################################################################
+
+ virtual_machine.start
+ puts 'Virtual machines started!'
+
+ ########################################################################################################################
+ ###################### Power Off VM ######################
+ ########################################################################################################################
+
+ virtual_machine.power_off
+ puts 'Virtual machine powered off!'
+
+ ########################################################################################################################
+ ###################### Delete VM ######################
+ ########################################################################################################################
+
+ puts "Deleted virtual machine: #{virtual_machine.destroy}"
+
+ ########################################################################################################################
+ ###################### CleanUp ######################
+ ########################################################################################################################
+
+ nic = network.network_interfaces.get('TestRG-VM', 'NetInt')
+ nic.destroy
+
+ vnet = network.virtual_networks.get('TestRG-VM', 'testVnet')
+ vnet.destroy
+
+ storage = storage.storage_accounts.get('TestRG-VM', storage_account_name)
+ storage.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