vm_shepherd 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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.