fog-azure-rm 0.5.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/fog/azurerm/docs/compute.md +3 -3
- data/lib/fog/azurerm/models/compute/server.rb +5 -4
- data/lib/fog/azurerm/requests/compute/attach_data_disk_to_vm.rb +15 -2
- data/lib/fog/azurerm/version.rb +1 -1
- data/test/integration/server.rb +43 -1
- data/test/models/compute/test_server.rb +6 -0
- data/test/requests/compute/test_attach_data_disk_to_vm.rb +16 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bbc50c7d4fbbabb86aba1deadc5eb4aca39cc918f932a3f3592fe4607837d20
|
4
|
+
data.tar.gz: 79cb44095e818ef6814504c83987d9bba1cdd7326a0271b47b32da10b26e1685
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14a073c135bce2dc64a1dc72b1b8cf7dbe1c3f325e7ea39efc68996fa30f8264e55646beb5e75e5bae2d65c1d6256be72741ba378091b498c76ba9defde84773
|
7
|
+
data.tar.gz: 4c81e3b71e14d684ca0d0564ef8d16c2c592e1cf76394f9e040593c3aa71fa3f462e26275d5affbd2225409aaee7a3857a45885f7cb9f4d2508ac0969d90da22
|
data/CHANGELOG.md
CHANGED
@@ -160,7 +160,7 @@ async_response = fog_compute_service.servers.create_async(
|
|
160
160
|
os_disk_name: '<Disk Name>' # [Optional], name of the os disk
|
161
161
|
)
|
162
162
|
```
|
163
|
-
Following methods are available to handle async
|
163
|
+
Following methods are available to handle async response:
|
164
164
|
- state
|
165
165
|
- pending?
|
166
166
|
- rejected?
|
@@ -310,10 +310,10 @@ fog_compute_service.managed_disks.create(
|
|
310
310
|
|
311
311
|
## Attach a Managed Data Disk to Server
|
312
312
|
|
313
|
-
Get the server object and attach a Data Disk to it.
|
313
|
+
Get the server object and attach a Data Disk with Disk Caching Option to it. Possible <Disk Caching Option> values include: "None", "ReadOnly", "ReadWrite". By Default "None" set.
|
314
314
|
|
315
315
|
```ruby
|
316
|
-
server.attach_managed_disk('<Disk Name>', '<Disk Resource Group Name>')
|
316
|
+
server.attach_managed_disk('<Disk Name>', '<Disk Resource Group Name>', '<Async Option>', '<Disk Caching Option>')
|
317
317
|
```
|
318
318
|
|
319
319
|
## Detach a Managed Data Disk from Server
|
@@ -173,8 +173,8 @@ module Fog
|
|
173
173
|
async ? create_fog_async_response(response) : merge_attributes(Fog::Compute::AzureRM::Server.parse(response))
|
174
174
|
end
|
175
175
|
|
176
|
-
def attach_managed_disk(disk_name, disk_resource_group, async = false)
|
177
|
-
response = service.attach_data_disk_to_vm(data_disk_params(disk_name, nil, nil, disk_resource_group), async)
|
176
|
+
def attach_managed_disk(disk_name, disk_resource_group, async = false, caching = 'None')
|
177
|
+
response = service.attach_data_disk_to_vm(data_disk_params(disk_name, nil, nil, disk_resource_group, caching), async)
|
178
178
|
async ? create_fog_async_response(response) : merge_attributes(Fog::Compute::AzureRM::Server.parse(response))
|
179
179
|
end
|
180
180
|
|
@@ -239,14 +239,15 @@ module Fog
|
|
239
239
|
}
|
240
240
|
end
|
241
241
|
|
242
|
-
def data_disk_params(disk_name, disk_size = nil, storage_account = nil, disk_resource_group = nil)
|
242
|
+
def data_disk_params(disk_name, disk_size = nil, storage_account = nil, disk_resource_group = nil, caching = nil)
|
243
243
|
{
|
244
244
|
vm_name: name,
|
245
245
|
vm_resource_group: resource_group,
|
246
246
|
disk_name: disk_name,
|
247
247
|
disk_size_gb: disk_size,
|
248
248
|
storage_account_name: storage_account,
|
249
|
-
disk_resource_group: disk_resource_group
|
249
|
+
disk_resource_group: disk_resource_group,
|
250
|
+
caching: caching
|
250
251
|
}
|
251
252
|
end
|
252
253
|
|
@@ -11,6 +11,7 @@ module Fog
|
|
11
11
|
disk_resource_group = disk_params[:disk_resource_group]
|
12
12
|
disk_size = disk_params[:disk_size_gb]
|
13
13
|
storage_account_name = disk_params[:storage_account_name]
|
14
|
+
caching = disk_params[:caching] || nil
|
14
15
|
|
15
16
|
msg = "Attaching Data Disk #{disk_name} to Virtual Machine #{vm_name} in Resource Group #{vm_resource_group}"
|
16
17
|
Fog::Logger.debug msg
|
@@ -24,7 +25,7 @@ module Fog
|
|
24
25
|
data_disk = get_unmanaged_disk_object(disk_name, disk_size, lun, storage_account_name, access_key)
|
25
26
|
elsif disk_resource_group
|
26
27
|
# Managed data disk
|
27
|
-
data_disk = get_data_disk_object(disk_resource_group, disk_name, lun)
|
28
|
+
data_disk = get_data_disk_object(disk_resource_group, disk_name, lun, caching)
|
28
29
|
end
|
29
30
|
vm.storage_profile.data_disks.push(data_disk)
|
30
31
|
begin
|
@@ -75,7 +76,7 @@ module Fog
|
|
75
76
|
lun_range_list[0]
|
76
77
|
end
|
77
78
|
|
78
|
-
def get_data_disk_object(disk_resource_group, disk_name, lun)
|
79
|
+
def get_data_disk_object(disk_resource_group, disk_name, lun, caching)
|
79
80
|
msg = "Getting Managed Disk #{disk_name} from Resource Group #{disk_resource_group}"
|
80
81
|
begin
|
81
82
|
disk = @compute_mgmt_client.disks.get(disk_resource_group, disk_name)
|
@@ -88,6 +89,18 @@ module Fog
|
|
88
89
|
managed_disk.lun = lun
|
89
90
|
managed_disk.create_option = Azure::ARM::Compute::Models::DiskCreateOptionTypes::Attach
|
90
91
|
|
92
|
+
# Managed Disk Caching Type
|
93
|
+
managed_disk.caching = case caching
|
94
|
+
when 'ReadOnly'
|
95
|
+
Azure::ARM::Compute::Models::CachingTypes::ReadOnly
|
96
|
+
when 'ReadWrite'
|
97
|
+
Azure::ARM::Compute::Models::CachingTypes::ReadWrite
|
98
|
+
when 'None', nil
|
99
|
+
Azure::ARM::Compute::Models::CachingTypes::None
|
100
|
+
else
|
101
|
+
raise "Invalid Disk Caching Option: #{caching}"
|
102
|
+
end
|
103
|
+
|
91
104
|
# Managed disk parameter
|
92
105
|
managed_disk_params = Azure::ARM::Compute::Models::ManagedDiskParameters.new
|
93
106
|
managed_disk_params.id = disk.id
|
data/lib/fog/azurerm/version.rb
CHANGED
data/test/integration/server.rb
CHANGED
@@ -134,7 +134,7 @@ begin
|
|
134
134
|
name: 'TestVM-Managed',
|
135
135
|
location: LOCATION,
|
136
136
|
resource_group: 'TestRG-VM',
|
137
|
-
vm_size: '
|
137
|
+
vm_size: 'Standard_B2s',
|
138
138
|
storage_account_name: nil,
|
139
139
|
username: 'testuser',
|
140
140
|
password: 'Confiz=123',
|
@@ -238,6 +238,30 @@ begin
|
|
238
238
|
)
|
239
239
|
puts "Created Managed Disk: #{managed_disk.name}"
|
240
240
|
|
241
|
+
managed_disk_ro = compute.managed_disks.create(
|
242
|
+
name: 'ManagedDataDiskRO',
|
243
|
+
location: LOCATION,
|
244
|
+
resource_group_name: 'TestRG-VM',
|
245
|
+
account_type: 'Standard_LRS',
|
246
|
+
disk_size_gb: 100,
|
247
|
+
creation_data: {
|
248
|
+
create_option: 'Empty'
|
249
|
+
}
|
250
|
+
)
|
251
|
+
puts "Created Managed Disk: #{managed_disk_ro.name}"
|
252
|
+
|
253
|
+
managed_disk_rw = compute.managed_disks.create(
|
254
|
+
name: 'ManagedDataDiskRW',
|
255
|
+
location: LOCATION,
|
256
|
+
resource_group_name: 'TestRG-VM',
|
257
|
+
account_type: 'Standard_LRS',
|
258
|
+
disk_size_gb: 100,
|
259
|
+
creation_data: {
|
260
|
+
create_option: 'Empty'
|
261
|
+
}
|
262
|
+
)
|
263
|
+
puts "Created Managed Disk: #{managed_disk_rw.name}"
|
264
|
+
|
241
265
|
########################################################################################################################
|
242
266
|
###################### Attach Managed Data Disk to VM ######################
|
243
267
|
########################################################################################################################
|
@@ -245,6 +269,12 @@ begin
|
|
245
269
|
managed_vm.attach_managed_disk('ManagedDataDisk', 'TestRG-VM')
|
246
270
|
puts 'Attached Managed Data Disk to VM!'
|
247
271
|
|
272
|
+
managed_vm.attach_managed_disk('ManagedDataDiskRO', 'TestRG-VM', false, 'ReadOnly')
|
273
|
+
puts 'Attached Managed Data Disk with Disk Caching ReadOnly to VM!'
|
274
|
+
|
275
|
+
managed_vm.attach_managed_disk('ManagedDataDiskRW', 'TestRG-VM', false, 'ReadWrite')
|
276
|
+
puts 'Attached Managed Data Disk with Disk Caching ReadWrite to VM!'
|
277
|
+
|
248
278
|
########################################################################################################################
|
249
279
|
###################### Detach Data Disk from VM ######################
|
250
280
|
########################################################################################################################
|
@@ -252,6 +282,12 @@ begin
|
|
252
282
|
managed_vm.detach_managed_disk('ManagedDataDisk')
|
253
283
|
puts 'Detached Managed Data Disk from VM!'
|
254
284
|
|
285
|
+
managed_vm.detach_managed_disk('ManagedDataDiskRO')
|
286
|
+
puts 'Detached Managed Data Disk with Disk Caching ReadOnly from VM!'
|
287
|
+
|
288
|
+
managed_vm.detach_managed_disk('ManagedDataDiskRW')
|
289
|
+
puts 'Detached Managed Data Disk with Disk Caching ReadWrite from VM!'
|
290
|
+
|
255
291
|
########################################################################################################################
|
256
292
|
###################### Delete Managed Data Disk ######################
|
257
293
|
########################################################################################################################
|
@@ -259,6 +295,12 @@ begin
|
|
259
295
|
managed_disk.destroy
|
260
296
|
puts 'Deleted managed data disk!'
|
261
297
|
|
298
|
+
managed_disk_ro.destroy
|
299
|
+
puts 'Deleted managed data disk with Disk Caching ReadOnly!'
|
300
|
+
|
301
|
+
managed_disk_rw.destroy
|
302
|
+
puts 'Deleted managed data disk with Disk Caching ReadWrite!'
|
303
|
+
|
262
304
|
########################################################################################################################
|
263
305
|
###################### List VM in a resource group ######################
|
264
306
|
########################################################################################################################
|
@@ -216,6 +216,12 @@ class TestServer < Minitest::Test
|
|
216
216
|
@service.stub :attach_data_disk_to_vm, response do
|
217
217
|
assert_instance_of Fog::Compute::AzureRM::Server, @server.attach_managed_disk('disk_name', 'resoure_group')
|
218
218
|
end
|
219
|
+
@service.stub :attach_data_disk_to_vm, response do
|
220
|
+
assert_instance_of Fog::Compute::AzureRM::Server, @server.attach_managed_disk('disk_name', 'resoure_group', false, 'ReadOnly')
|
221
|
+
end
|
222
|
+
@service.stub :attach_data_disk_to_vm, response do
|
223
|
+
assert_instance_of Fog::Compute::AzureRM::Server, @server.attach_managed_disk('disk_name', 'resoure_group', false, 'ReadWrite')
|
224
|
+
end
|
219
225
|
|
220
226
|
async_response = Concurrent::Promise.execute { 10 }
|
221
227
|
@service.stub :attach_data_disk_to_vm, async_response do
|
@@ -42,6 +42,22 @@ class TestAttachDataDiskToVM < Minitest::Test
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
45
|
+
@virtual_machines.stub :get, @get_vm_response do
|
46
|
+
@disks.stub :get, @get_managed_disk_response do
|
47
|
+
@virtual_machines.stub :create_or_update, @get_vm_managed_disk_response do
|
48
|
+
input_params = { vm_name: 'ManagedVM', vm_resource_group: 'ManagedRG', disk_name: 'ManagedDataDisk1', disk_size_gb: 100, disk_resource_group: 'ManagedRG', caching: 'ReadOnly' }
|
49
|
+
assert_equal @service.attach_data_disk_to_vm(input_params, false), @get_vm_managed_disk_response
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
@virtual_machines.stub :get, @get_vm_response do
|
54
|
+
@disks.stub :get, @get_managed_disk_response do
|
55
|
+
@virtual_machines.stub :create_or_update, @get_vm_managed_disk_response do
|
56
|
+
input_params = { vm_name: 'ManagedVM', vm_resource_group: 'ManagedRG', disk_name: 'ManagedDataDisk1', disk_size_gb: 100, disk_resource_group: 'ManagedRG', caching: 'ReadWrite' }
|
57
|
+
assert_equal @service.attach_data_disk_to_vm(input_params, false), @get_vm_managed_disk_response
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
45
61
|
end
|
46
62
|
|
47
63
|
def test_attach_data_disk_to_vm_failure
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-azure-rm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shaffan Chaudhry
|
@@ -18,7 +18,7 @@ authors:
|
|
18
18
|
autorequire:
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
|
-
date: 2019-
|
21
|
+
date: 2019-03-26 00:00:00.000000000 Z
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
24
24
|
name: rake
|
@@ -1059,7 +1059,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1059
1059
|
- !ruby/object:Gem::Version
|
1060
1060
|
version: '0'
|
1061
1061
|
requirements: []
|
1062
|
-
rubygems_version: 3.0.
|
1062
|
+
rubygems_version: 3.0.3
|
1063
1063
|
signing_key:
|
1064
1064
|
specification_version: 4
|
1065
1065
|
summary: Module for the 'fog' gem to support Azure Resource Manager cloud services.
|