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 +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.
|