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 +4 -4
- data/lib/vm_shepherd/openstack_manager.rb +3 -3
- data/lib/vm_shepherd/shepherd.rb +1 -1
- data/lib/vm_shepherd/version.rb +1 -1
- data/spec/fixtures/shepherd/openstack.yml +2 -4
- data/spec/vm_shepherd/openstack_manager_spec.rb +10 -2
- data/spec/vm_shepherd/shepherd_spec.rb +4 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4efffe61b1dadc42e8b80ea6418891f27123a06
|
4
|
+
data.tar.gz: 7939d7f0d8dfb2f0adb5cf189fb548e214e9f55b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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[:
|
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(
|
156
|
-
service.flavors.find { |flavor| flavor.
|
155
|
+
def find_flavor(flavor_name)
|
156
|
+
service.flavors.find { |flavor| flavor.name == flavor_name }
|
157
157
|
end
|
158
158
|
end
|
159
159
|
end
|
data/lib/vm_shepherd/shepherd.rb
CHANGED
@@ -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
|
-
|
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,
|
data/lib/vm_shepherd/version.rb
CHANGED
@@ -8,8 +8,7 @@ vm_shepherd:
|
|
8
8
|
tenant: 'tenant'
|
9
9
|
vm:
|
10
10
|
name: 'some-vm-name'
|
11
|
-
|
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
|
-
|
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
|
-
|
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.
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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-
|
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.
|
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.
|