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