vm_shepherd 1.1.1 → 1.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: de929fb4a764180cac7a407c9af64ae3e366aa2d
4
- data.tar.gz: 7cb4fbeab70a0a935dbf86207bac4bd4ac52a4ef
3
+ metadata.gz: d4efffe61b1dadc42e8b80ea6418891f27123a06
4
+ data.tar.gz: 7939d7f0d8dfb2f0adb5cf189fb548e214e9f55b
5
5
  SHA512:
6
- metadata.gz: c88e36d8e2d33eda28ff8d8393ea30a1dab8e5fbfe02be84c38c0a9bc48d4d52c4f163a391e9a1b896de7322aec3cb649e95944eec3eb24c325581fcd604e425
7
- data.tar.gz: df3b18222e369f83fe355d09dc5eb9c89879c3164546c3ca99b3660a1632875ca23a069f6350bada169c34338eb3ce89c47c42a6db5096cc8c078c31df875895
6
+ metadata.gz: f3051aeb00de1e9af855be8b5613304586e598cfc60e4b303f4f0207ec0c83c3c0ccde5059f1c0eb34e790afb719fdea8502614d612d5b009c7238365441834a
7
+ data.tar.gz: 3a5b21ce773494d42dd0fcd93454d93621e6982a759905167c32991a7d4c471adca20099783ff702d322b24bf0e74e75c77c8cee2c0012b92b8d716362ac8dad
@@ -20,7 +20,7 @@ module VmShepherd
20
20
  )
21
21
  say 'Finished uploading the image'
22
22
 
23
- flavor = find_flavor(vm_options[:min_disk_size])
23
+ flavor = find_flavor(vm_options[:flavor_name])
24
24
  network = network_service.networks.find { |net| net.name == vm_options[:network_name] }
25
25
  security_groups = vm_options[:security_group_names]
26
26
 
@@ -152,8 +152,8 @@ module VmShepherd
152
152
  puts message
153
153
  end
154
154
 
155
- def find_flavor(min_disk)
156
- service.flavors.find { |flavor| flavor.disk >= min_disk }
155
+ def find_flavor(flavor_name)
156
+ service.flavors.find { |flavor| flavor.name == flavor_name }
157
157
  end
158
158
  end
159
159
  end
@@ -219,7 +219,7 @@ module VmShepherd
219
219
  def openstack_vm_options(vm_shepherd_config)
220
220
  {
221
221
  name: vm_shepherd_config.vm.name,
222
- min_disk_size: vm_shepherd_config.vm.flavor_parameters.min_disk_size,
222
+ flavor_name: vm_shepherd_config.vm.flavor_name,
223
223
  network_name: vm_shepherd_config.vm.network_name,
224
224
  key_name: vm_shepherd_config.vm.key_name,
225
225
  security_group_names: vm_shepherd_config.vm.security_group_names,
@@ -1,3 +1,3 @@
1
1
  module VmShepherd
2
- VERSION = '1.1.1'.freeze
2
+ VERSION = '1.2.0'.freeze
3
3
  end
@@ -8,8 +8,7 @@ vm_shepherd:
8
8
  tenant: 'tenant'
9
9
  vm:
10
10
  name: 'some-vm-name'
11
- flavor_parameters:
12
- min_disk_size: 150
11
+ flavor_name: 'some-flavor'
13
12
  network_name: 'some-network'
14
13
  key_name: 'some-key'
15
14
  security_group_names:
@@ -25,8 +24,7 @@ vm_shepherd:
25
24
  tenant: 'tenant-2'
26
25
  vm:
27
26
  name: 'some-vm-name-2'
28
- flavor_parameters:
29
- min_disk_size: 152
27
+ flavor_name: 'some-flavor-2'
30
28
  network_name: 'some-network-2'
31
29
  key_name: 'some-key-2'
32
30
  security_group_names:
@@ -17,7 +17,7 @@ module VmShepherd
17
17
  let(:openstack_vm_options) do
18
18
  {
19
19
  name: 'some-vm-name',
20
- min_disk_size: 150,
20
+ flavor_name: 'some-flavor',
21
21
  network_name: 'Public',
22
22
  key_name: 'some-key',
23
23
  security_group_names: [
@@ -86,6 +86,7 @@ module VmShepherd
86
86
  let(:image_service) { openstack_vm_manager.image_service }
87
87
  let(:network_service) { openstack_vm_manager.network_service }
88
88
 
89
+ let(:flavors) { compute_service.flavors }
89
90
  let(:servers) { compute_service.servers }
90
91
  let(:addresses) { compute_service.addresses }
91
92
  let(:instance) { servers.find { |server| server.name == openstack_vm_options[:name] } }
@@ -99,7 +100,10 @@ module VmShepherd
99
100
  Fog::Mock.delay = 0
100
101
 
101
102
  allow(compute_service).to receive(:servers).and_return(servers)
103
+ allow(compute_service).to receive(:flavors).and_return(flavors)
102
104
  allow(compute_service).to receive(:addresses).and_return(addresses)
105
+
106
+ flavors << flavors.create(name: 'some-flavor', ram: 1, vcpus: 1, disk: 1)
103
107
  end
104
108
 
105
109
  it 'uploads the image' do
@@ -122,10 +126,11 @@ module VmShepherd
122
126
  end
123
127
 
124
128
  it 'uses the correct flavor for the instance' do
129
+
125
130
  openstack_vm_manager.deploy(path, openstack_vm_options)
126
131
 
127
132
  instance_flavor = compute_service.flavors.find { |flavor| flavor.id == instance.flavor['id'] }
128
- expect(instance_flavor.disk).to be >= 150
133
+ expect(instance_flavor.name).to eq('some-flavor')
129
134
  end
130
135
 
131
136
  it 'uses the previously uploaded image' do
@@ -185,6 +190,7 @@ module VmShepherd
185
190
  let(:image_service) { openstack_vm_manager.image_service }
186
191
 
187
192
  let(:servers) { compute_service.servers }
193
+ let(:flavors) { compute_service.flavors }
188
194
  let(:images) { image_service.images }
189
195
  let(:image) { images.find { |image| image.name == openstack_vm_options[:name] } }
190
196
  let(:instance) { servers.find { |server| server.name == openstack_vm_options[:name] } }
@@ -197,9 +203,11 @@ module VmShepherd
197
203
  Fog::Mock.reset
198
204
  Fog::Mock.delay = 0
199
205
 
206
+ allow(compute_service).to receive(:flavors).and_return(flavors)
200
207
  allow(compute_service).to receive(:servers).and_return(servers)
201
208
  allow(image_service).to receive(:images).and_return(images)
202
209
 
210
+ flavors << flavors.create(name: 'some-flavor', ram: 1, vcpus: 1, disk: 1)
203
211
  openstack_vm_manager.deploy(path, openstack_vm_options)
204
212
  end
205
213
 
@@ -205,7 +205,7 @@ module VmShepherd
205
205
  let(:first_openstack_vm_options) do
206
206
  {
207
207
  name: 'some-vm-name',
208
- min_disk_size: 150,
208
+ flavor_name: 'some-flavor',
209
209
  network_name: 'some-network',
210
210
  key_name: 'some-key',
211
211
  security_group_names: [
@@ -220,7 +220,7 @@ module VmShepherd
220
220
  let(:last_openstack_vm_options) do
221
221
  {
222
222
  name: 'some-vm-name-2',
223
- min_disk_size: 152,
223
+ flavor_name: 'some-flavor-2',
224
224
  network_name: 'some-network-2',
225
225
  key_name: 'some-key-2',
226
226
  security_group_names: [
@@ -357,7 +357,7 @@ module VmShepherd
357
357
  let(:first_openstack_vm_options) do
358
358
  {
359
359
  name: 'some-vm-name',
360
- min_disk_size: 150,
360
+ flavor_name: 'some-flavor',
361
361
  network_name: 'some-network',
362
362
  key_name: 'some-key',
363
363
  security_group_names: [
@@ -380,7 +380,7 @@ module VmShepherd
380
380
  let(:last_openstack_vm_options) do
381
381
  {
382
382
  name: 'some-vm-name-2',
383
- min_disk_size: 152,
383
+ flavor_name: 'some-flavor-2',
384
384
  network_name: 'some-network-2',
385
385
  key_name: 'some-key-2',
386
386
  security_group_names: [
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vm_shepherd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ops Manager Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-20 00:00:00.000000000 Z
11
+ date: 2015-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-v1
@@ -194,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
194
194
  version: '0'
195
195
  requirements: []
196
196
  rubyforge_project:
197
- rubygems_version: 2.4.6
197
+ rubygems_version: 2.4.7
198
198
  signing_key:
199
199
  specification_version: 4
200
200
  summary: A tool for booting and tearing down Ops Manager VMs on various Infrastructures.