chef-provisioning-opennebula 0.4.3 → 0.4.4
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/README.md +8 -18
- data/lib/chef/provider/one_template.rb +19 -3
- data/lib/chef/provisioning/opennebula_driver/one_lib.rb +11 -4
- data/lib/chef/provisioning/opennebula_driver/version.rb +1 -1
- data/spec/config_sample.rb +60 -0
- data/spec/integration/test_all_integration_spec.rb +264 -79
- data/spec/recipes/OneDriver/attach_back_one_vm_spec.rb +20 -0
- data/spec/recipes/OneDriver/attach_back_two_vm_spec.rb +20 -0
- data/spec/recipes/OneDriver/attach_one_image_spec.rb +20 -0
- data/spec/recipes/OneDriver/converge_back_one_vm_spec.rb +19 -0
- data/spec/recipes/OneDriver/converge_back_two_vm_spec.rb +19 -0
- data/spec/recipes/OneDriver/converge_bootstrap_vm_spec.rb +26 -0
- data/spec/recipes/OneDriver/create_back_one_vm_spec.rb +20 -0
- data/spec/recipes/OneDriver/create_back_two_vm_spec.rb +20 -0
- data/spec/recipes/OneDriver/create_bootstrap_vm_spec.rb +26 -0
- data/spec/recipes/OneDriver/create_one_image_spec.rb +23 -0
- data/spec/recipes/OneDriver/create_one_template_int_spec.rb +21 -0
- data/spec/recipes/OneDriver/create_one_template_spec.rb +21 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-back-1-vm.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-back-2-vm.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-bootstrap-img.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-bootstrap-vm.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-snap-1-img.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-snap-2-img.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-test-tpl-ints.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-test-tpl.rb +19 -0
- data/spec/recipes/OneDriver/delete/OpenNebula-tpl-1-vm.rb +19 -0
- data/spec/recipes/OneDriver/instantiate_one_template_spec.rb +25 -0
- data/spec/recipes/OneDriver/snapshot_one_image_spec.rb +21 -0
- data/spec/recipes/OneDriver/snapshot_two_image_spec.rb +21 -0
- data/spec/recipes/driver_options_spec.rb +19 -62
- data/spec/spec_helper.rb +42 -14
- data/spec/support/opennebula_support.rb +69 -34
- metadata +27 -17
- data/spec/recipes/attach_back_one_vm_spec.rb +0 -20
- data/spec/recipes/attach_back_two_vm_spec.rb +0 -20
- data/spec/recipes/attach_one_image_spec.rb +0 -20
- data/spec/recipes/converge_back_one_vm_spec.rb +0 -19
- data/spec/recipes/converge_back_two_vm_spec.rb +0 -19
- data/spec/recipes/converge_bootstrap_vm_spec.rb +0 -34
- data/spec/recipes/create_back_one_vm_spec.rb +0 -20
- data/spec/recipes/create_back_two_vm_spec.rb +0 -20
- data/spec/recipes/create_bootstrap_vm_spec.rb +0 -34
- data/spec/recipes/create_one_image_spec.rb +0 -21
- data/spec/recipes/create_one_template_spec.rb +0 -52
- data/spec/recipes/delete_all_spec.rb +0 -47
- data/spec/recipes/instantiate_one_template_spec.rb +0 -35
- data/spec/recipes/snapshot_one_image_spec.rb +0 -21
- data/spec/recipes/snapshot_two_image_spec.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f967f28103c43f8a53e87e54eddd0de8fd1f9af1
|
4
|
+
data.tar.gz: cbb861a93ed158a967a661937c9ac3576ad9c66a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d755e26ff9c70c4b08615f051d25747d0f9268bf9c14cd2ef62261161a63d759e65d44045a9ec52ee373fd0ed2cb0c39d1eef54fa382570f94d6e205387df94
|
7
|
+
data.tar.gz: 4eeb678cf8030a172988142c77ec676ad9ebfc3944a548069f29c6c59398caaf9d7a0b8ca2a0955b00610e82734d6056045afb428dc4f22d217d8798d7573891
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@ chef-provisioning-opennebula
|
|
3
3
|
|
4
4
|
This is the implementation of the OpenNebula driver for chef-provisioning. It also comes with additional chef resources to manage OpenNebula:
|
5
5
|
|
6
|
-
* Template
|
6
|
+
* Template (one_template)
|
7
7
|
* Image (one_image)
|
8
8
|
* VNET (one_vnet)
|
9
9
|
* Lease (one_vnet_lease)
|
@@ -480,17 +480,8 @@ end
|
|
480
480
|
|
481
481
|
## Rspec Integration tests
|
482
482
|
|
483
|
-
|
484
|
-
|
485
|
-
Set the following environment variables according to your needs:
|
486
|
-
|
487
|
-
```ruby
|
488
|
-
ENV['HOME'] - your home directory
|
489
|
-
ENV['ONE_XMLRPC'] - this is the OpenNebula endpoint url
|
490
|
-
ENV['ONE_AUTH'] - the path to your one_auth file
|
491
|
-
ENV['ONE_HTTPBASE'] - the base URL from which files are downloaded eg. chef-client.deb, init.sh, service.gz etc.
|
492
|
-
ENV['CHEF_REPO_PATH'] - the path to your local chef repo
|
493
|
-
```
|
483
|
+
- Create and configure `spec/config.rb` from `spec/config_sample.rb`, be sure to **read the comments**
|
484
|
+
- Run `bundle exec rspec ./spec/integration/test_all_integration_spec.rb` from your chef-provisioning-opennebula folder
|
494
485
|
|
495
486
|
## <a name="development"></a> Development
|
496
487
|
|
@@ -513,12 +504,11 @@ Created by [Bogdan Buczynski](https://github.com/bbuczynski) (<pikus1@gmail.com>
|
|
513
504
|
|
514
505
|
## <a name="maintainers"></a> Maintainers
|
515
506
|
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
* [Phil Oliva](https://github.com/poliva83) (<philoliva8@gmail.com>)
|
507
|
+
* [Andrew J. Brown](https://github.com/andrewjamesbrown) (<anbrown@blackberry.com>)
|
508
|
+
* [Bogdan Buczynski](https://github.com/bbuczynski) (<pikus1@gmail.com>)
|
509
|
+
* [Dongyu 'Gary' Zheng](https://github.com/dongyuzheng) (<garydzheng@gmail.com>)
|
510
|
+
* [Evgeny Yurchenko](https://github.com/EYurchenko) (<eyurchenko@blackberry.com>)
|
511
|
+
* [Phil Oliva](https://github.com/poliva83) (<philoliva8@gmail.com>)
|
522
512
|
|
523
513
|
## <a name="license"></a> License
|
524
514
|
|
@@ -50,9 +50,11 @@ class Chef
|
|
50
50
|
|
51
51
|
return unless @current_resource.exists
|
52
52
|
|
53
|
-
new_resource_template = @new_resource.template_file.nil?
|
54
|
-
|
55
|
-
|
53
|
+
new_resource_template = if @new_resource.template_file.nil?
|
54
|
+
convert_types(@new_resource.template)
|
55
|
+
else
|
56
|
+
driver.one.template_from_file(@new_resource.template_file)
|
57
|
+
end
|
56
58
|
|
57
59
|
@current_id = template.to_hash['VMTEMPLATE']['ID'].to_i
|
58
60
|
@current_resource.template(template.to_hash['VMTEMPLATE']['TEMPLATE'])
|
@@ -150,6 +152,20 @@ class Chef
|
|
150
152
|
end
|
151
153
|
end
|
152
154
|
|
155
|
+
def convert_types(hash)
|
156
|
+
tpl_str = driver.one.create_template(hash)
|
157
|
+
t_hash = nil
|
158
|
+
doc = OpenNebula::CustomObject.new(OpenNebula::CustomObject.build_xml, driver.one.client)
|
159
|
+
unless OpenNebula.is_error?(doc)
|
160
|
+
rc = doc.allocate(tpl_str)
|
161
|
+
fail "Failed to allocate OpenNebula document: #{rc.message}" if OpenNebula.is_error?(rc)
|
162
|
+
doc.info!
|
163
|
+
t_hash = doc.to_hash['DOCUMENT']['TEMPLATE']
|
164
|
+
doc.delete
|
165
|
+
end
|
166
|
+
t_hash
|
167
|
+
end
|
168
|
+
|
153
169
|
def get_mode(template)
|
154
170
|
perms = template.to_hash['VMTEMPLATE']['PERMISSIONS']
|
155
171
|
mode = 0
|
@@ -470,10 +470,17 @@ DEV_PREFIX = #{img_config[:prefix]}
|
|
470
470
|
else
|
471
471
|
comma = (index < count) && level > 0
|
472
472
|
level.times { tpl << " " }
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
473
|
+
if v.is_a?(Integer)
|
474
|
+
tpl << "#{k} = \"#{v}\""
|
475
|
+
elsif v.is_a?(String)
|
476
|
+
# Fix for: template does not support embedded quotation marks
|
477
|
+
# Escaping of " only happens if " is not already escaped, preceded by \\
|
478
|
+
tpl << "#{k} = \"#{v.gsub(/(?<!\\)\"/, '\"')}\""
|
479
|
+
else # any other type
|
480
|
+
# convert to string and print it
|
481
|
+
tpl << "#{k} = \"#{v}\""
|
482
|
+
end
|
483
|
+
tpl << (comma ? ",\n" : "\n")
|
477
484
|
index += 1
|
478
485
|
end
|
479
486
|
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#######################################################
|
2
|
+
## This is the config file used for the RSpec tests. ##
|
3
|
+
## Feel free to modify any variables to your needs. ##
|
4
|
+
#######################################################
|
5
|
+
|
6
|
+
# this is the OpenNebula endpoint url
|
7
|
+
ONE_XMLRPC = 'http://1.2.3.4:443/api:boggi'
|
8
|
+
|
9
|
+
# the path to your local chef repo, an empty folder would work, if the folder does not exist, one will be automatically created
|
10
|
+
CHEF_REPO_PATH = '/home/gary/test-repo'
|
11
|
+
|
12
|
+
# required for recipes/OneDriver/create_one_image_spec.rb
|
13
|
+
DATASTORE_ID = 103
|
14
|
+
|
15
|
+
VM_TEMPLATE = {
|
16
|
+
# the base URL from which files are downloaded eg. chef-client.deb, init.sh, service.gz etc.
|
17
|
+
'HTTPBASE' => 'http://my.server.com',
|
18
|
+
# it is highly recommended to keep resources low for these tests
|
19
|
+
'MEMORY' => '256',
|
20
|
+
'CPU' => '1',
|
21
|
+
'VCPU' => '1',
|
22
|
+
'OS' => {
|
23
|
+
'ARCH' => 'x86_64'
|
24
|
+
},
|
25
|
+
'DISK' => {
|
26
|
+
'IMAGE' => 'Ubuntu-14.04.1-pre-prod-201411201',
|
27
|
+
'IMAGE_UNAME' => 'my_user',
|
28
|
+
'DRIVER' => 'qcow2'
|
29
|
+
},
|
30
|
+
'NIC' => {
|
31
|
+
'NETWORK' => 'my_network',
|
32
|
+
'NETWORK_UNAME' => 'my_network_user'
|
33
|
+
},
|
34
|
+
'GRAPHICS' => {
|
35
|
+
'LISTEN' => '0.0.0.0',
|
36
|
+
'TYPE' => 'vnc'
|
37
|
+
},
|
38
|
+
'CONTEXT' => {
|
39
|
+
'NETWORK' => 'YES',
|
40
|
+
'HOSTNAME' => '$NAME',
|
41
|
+
'INSTALL_CHEF_CLIENT_COMMAND' => 'dpkg -E -i /mnt/chef-client.deb',
|
42
|
+
'SSH_USERNAME' => 'local',
|
43
|
+
'SSH_PUBLIC_KEY' => File.read("#{ENV['HOME']}/.ssh/id_rsa.pub").strip,
|
44
|
+
'FILES' => '$HTTPBASE/01_chef $HTTPBASE/../chef-client.deb'
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
MACHINE_OPTIONS = {
|
49
|
+
:ssh_username => 'local',
|
50
|
+
:ssh_options => {
|
51
|
+
:keys_only => false,
|
52
|
+
:forward_agent => true,
|
53
|
+
:use_agent => true,
|
54
|
+
:user_known_hosts_file => '/dev/null'
|
55
|
+
},
|
56
|
+
:ssh_execute_options => {
|
57
|
+
:prefix => 'sudo '
|
58
|
+
},
|
59
|
+
:cached_installer => true
|
60
|
+
}
|
@@ -1,102 +1,287 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2016, BlackBerry, Inc.
|
2
2
|
#
|
3
|
-
#Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
-
#you may not use this file except in compliance with the License.
|
5
|
-
#You may obtain a copy of the License at
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
6
|
#
|
7
7
|
# http://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
|
-
#Unless required by applicable law or agreed to in writing, software
|
10
|
-
#distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
#See the License for the specific language governing permissions and
|
13
|
-
#limitations under the License.
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
14
|
|
15
15
|
require 'spec_helper'
|
16
16
|
require 'chef/provisioning/opennebula_driver'
|
17
17
|
|
18
|
-
describe
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
describe 'OneDriver' do
|
19
|
+
describe 'create_one_template_spec.rb' do
|
20
|
+
test_helper(
|
21
|
+
'create_one_template_spec.rb',
|
22
|
+
'OneDriver/create_one_template_spec.rb',
|
23
|
+
"create template 'OpenNebula-test-tpl'"
|
24
|
+
)
|
25
|
+
end
|
23
26
|
|
24
|
-
describe
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
27
|
+
describe 'create_one_template_int_spec.rb' do
|
28
|
+
test_helper(
|
29
|
+
'create_one_template_int_spec.rb',
|
30
|
+
'OneDriver/create_one_template_int_spec.rb',
|
31
|
+
"create template 'OpenNebula-test-tpl-ints'"
|
32
|
+
)
|
33
|
+
end
|
29
34
|
|
30
|
-
describe
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
+
describe 'instantiate_one_template_spec.rb' do
|
36
|
+
it do
|
37
|
+
is_expected.to converge_test_recipe(
|
38
|
+
'OneDriver/instantiate_one_template_spec.rb',
|
39
|
+
"created vm 'OpenNebula-tpl-1-vm'"
|
40
|
+
)
|
41
|
+
end
|
42
|
+
end
|
35
43
|
|
36
|
-
describe
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
44
|
+
describe 'create_bootstrap_vm_spec.rb' do
|
45
|
+
it do
|
46
|
+
is_expected.to converge_test_recipe(
|
47
|
+
'OneDriver/create_bootstrap_vm_spec.rb',
|
48
|
+
"created vm 'OpenNebula-bootstrap-vm'"
|
49
|
+
)
|
50
|
+
end
|
51
|
+
end
|
41
52
|
|
42
|
-
describe
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
53
|
+
describe 'create_one_image_spec.rb' do
|
54
|
+
it do
|
55
|
+
is_expected.to converge_test_recipe(
|
56
|
+
'OneDriver/create_one_image_spec.rb',
|
57
|
+
/allocated image 'OpenNebula-bootstrap-img'.*?wait for image 'OpenNebula-bootstrap-img' to be READY/m
|
58
|
+
)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
describe 'create_one_image_spec.rb' do
|
62
|
+
it do
|
63
|
+
is_expected.to converge_test_recipe(
|
64
|
+
'OneDriver/create_one_image_spec.rb',
|
65
|
+
/image 'OpenNebula-bootstrap-img' already exists - nothing to do.*?image 'OpenNebula-bootstrap-img' is already in READY state - nothing to do/m
|
66
|
+
)
|
67
|
+
end
|
68
|
+
end
|
47
69
|
|
48
|
-
describe
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
70
|
+
describe 'attach_one_image_spec.rb' do
|
71
|
+
it do
|
72
|
+
is_expected.to converge_test_recipe(
|
73
|
+
'OneDriver/attach_one_image_spec.rb',
|
74
|
+
/disk not attached, attaching.*?attached disk OpenNebula-bootstrap-img to OpenNebula-bootstrap-vm/m
|
75
|
+
)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
describe 'attach_one_image_spec.rb' do
|
79
|
+
it do
|
80
|
+
is_expected.to converge_test_recipe(
|
81
|
+
'OneDriver/attach_one_image_spec.rb',
|
82
|
+
/disk is already attached.*?attached disk OpenNebula-bootstrap-img to OpenNebula-bootstrap-vm/m
|
83
|
+
)
|
84
|
+
end
|
85
|
+
end
|
53
86
|
|
54
|
-
describe
|
55
|
-
|
56
|
-
|
87
|
+
describe 'snapshot_one_image_spec.rb' do
|
88
|
+
it do
|
89
|
+
is_expected.to converge_test_recipe(
|
90
|
+
'OneDriver/snapshot_one_image_spec.rb',
|
91
|
+
"created snapshot from 'OpenNebula-bootstrap-vm'"
|
92
|
+
)
|
93
|
+
end
|
94
|
+
end
|
57
95
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
96
|
+
describe 'converge_bootstrap_vm_spec.rb' do
|
97
|
+
it do
|
98
|
+
is_expected.to converge_test_recipe(
|
99
|
+
'OneDriver/converge_bootstrap_vm_spec.rb',
|
100
|
+
/vm 'OpenNebula-bootstrap-vm' is ready.*?create client OpenNebula-bootstrap-vm at clients.*?run 'chef-client -l info' on OpenNebula-bootstrap-vm/m
|
101
|
+
)
|
102
|
+
end
|
103
|
+
end
|
64
104
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
105
|
+
# deploys two test backend VM's
|
106
|
+
describe 'snapshot_two_image_spec.rb' do
|
107
|
+
it do
|
108
|
+
is_expected.to converge_test_recipe(
|
109
|
+
'OneDriver/snapshot_two_image_spec.rb',
|
110
|
+
"created snapshot from 'OpenNebula-bootstrap-vm'"
|
111
|
+
)
|
112
|
+
end
|
113
|
+
end
|
70
114
|
|
71
|
-
describe
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
115
|
+
describe 'create_back_one_vm_spec.rb' do
|
116
|
+
it do
|
117
|
+
is_expected.to converge_test_recipe(
|
118
|
+
'OneDriver/create_back_one_vm_spec.rb',
|
119
|
+
/created vm 'OpenNebula-back-1-vm'.*?create node OpenNebula-back-1-vm.*?vm 'OpenNebula-back-1-vm' is ready.*?update node OpenNebula-back-1-vm/m
|
120
|
+
)
|
121
|
+
end
|
122
|
+
end
|
76
123
|
|
77
|
-
describe
|
78
|
-
|
79
|
-
|
124
|
+
describe 'attach_back_one_vm_spec.rb' do
|
125
|
+
it do
|
126
|
+
is_expected.to converge_test_recipe(
|
127
|
+
'OneDriver/attach_back_one_vm_spec.rb',
|
128
|
+
/disk not attached, attaching.*?attached disk OpenNebula-snap-1-img to OpenNebula-back-1-vm/m
|
129
|
+
)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
describe 'attach_back_one_vm_spec.rb' do
|
133
|
+
it do
|
134
|
+
is_expected.to converge_test_recipe(
|
135
|
+
'OneDriver/attach_back_one_vm_spec.rb',
|
136
|
+
/disk is already attached.*?attached disk OpenNebula-snap-1-img to OpenNebula-back-1-vm/m
|
137
|
+
)
|
138
|
+
end
|
139
|
+
end
|
80
140
|
|
81
|
-
describe
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
141
|
+
describe 'converge_back_one_vm_spec.rb' do
|
142
|
+
it do
|
143
|
+
is_expected.to converge_test_recipe(
|
144
|
+
'OneDriver/converge_back_one_vm_spec.rb',
|
145
|
+
/vm 'OpenNebula-back-1-vm' is ready.*?create client OpenNebula-back-1-vm at clients.*?run 'chef-client -l info' on OpenNebula-back-1-vm/m
|
146
|
+
)
|
147
|
+
end
|
148
|
+
end
|
86
149
|
|
87
|
-
describe
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
150
|
+
describe 'create_back_two_vm_spec.rb' do
|
151
|
+
it do
|
152
|
+
is_expected.to converge_test_recipe(
|
153
|
+
'OneDriver/create_back_two_vm_spec.rb',
|
154
|
+
/created vm 'OpenNebula-back-2-vm'.*?create node OpenNebula-back-2-vm.*?vm 'OpenNebula-back-2-vm' is ready.*?update node OpenNebula-back-2-vm/m
|
155
|
+
)
|
156
|
+
end
|
157
|
+
end
|
92
158
|
|
93
|
-
describe
|
94
|
-
|
95
|
-
|
159
|
+
describe 'attach_back_two_vm_spec.rb' do
|
160
|
+
it do
|
161
|
+
is_expected.to converge_test_recipe(
|
162
|
+
'OneDriver/attach_back_two_vm_spec.rb',
|
163
|
+
/disk not attached, attaching.*?attached disk OpenNebula-snap-2-img to OpenNebula-back-2-vm/m
|
164
|
+
)
|
165
|
+
end
|
166
|
+
end
|
167
|
+
describe 'attach_back_two_vm_spec.rb' do
|
168
|
+
it do
|
169
|
+
is_expected.to converge_test_recipe(
|
170
|
+
'OneDriver/attach_back_two_vm_spec.rb',
|
171
|
+
/disk is already attached.*?attached disk OpenNebula-snap-2-img to OpenNebula-back-2-vm/m
|
172
|
+
)
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
describe 'converge_back_two_vm_spec.rb' do
|
177
|
+
it do
|
178
|
+
is_expected.to converge_test_recipe(
|
179
|
+
'OneDriver/converge_back_two_vm_spec.rb',
|
180
|
+
/vm 'OpenNebula-back-2-vm' is ready.*?create client OpenNebula-back-2-vm at clients.*?run 'chef-client -l info' on OpenNebula-back-2-vm/m
|
181
|
+
)
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
#############
|
186
|
+
## CLEANUP ##
|
187
|
+
#############
|
188
|
+
|
189
|
+
describe 'delete OpenNebula-test-tpl' do
|
190
|
+
test_helper(
|
191
|
+
'delete OpenNebula-test-tpl',
|
192
|
+
'OneDriver/delete/OpenNebula-test-tpl.rb',
|
193
|
+
"delete template 'OpenNebula-test-tpl'"
|
194
|
+
)
|
195
|
+
end
|
196
|
+
|
197
|
+
describe 'delete OpenNebula-test-tpl-ints' do
|
198
|
+
test_helper(
|
199
|
+
'delete OpenNebula-test-tpl-ints',
|
200
|
+
'OneDriver/delete/OpenNebula-test-tpl-ints.rb',
|
201
|
+
"delete template 'OpenNebula-test-tpl-ints'"
|
202
|
+
)
|
203
|
+
end
|
204
|
+
|
205
|
+
describe 'delete OpenNebula-tpl-1-vm' do
|
206
|
+
test_helper(
|
207
|
+
'delete OpenNebula-tpl-1-vm',
|
208
|
+
'OneDriver/delete/OpenNebula-tpl-1-vm.rb',
|
209
|
+
/destroyed machine OpenNebula-tpl-1-vm.*?delete node OpenNebula-tpl-1-vm.*?delete client OpenNebula-tpl-1-vm at clients/m
|
210
|
+
)
|
211
|
+
end
|
212
|
+
|
213
|
+
describe 'delete OpenNebula-bootstrap-vm' do
|
214
|
+
test_helper(
|
215
|
+
'delete OpenNebula-bootstrap-vm',
|
216
|
+
'OneDriver/delete/OpenNebula-bootstrap-vm.rb',
|
217
|
+
/destroyed machine OpenNebula-bootstrap-vm.*?delete node OpenNebula-bootstrap-vm.*?delete client OpenNebula-bootstrap-vm at clients/m
|
218
|
+
)
|
219
|
+
end
|
220
|
+
|
221
|
+
describe 'delete OpenNebula-bootstrap-img' do
|
222
|
+
it do
|
223
|
+
is_expected.to converge_test_recipe(
|
224
|
+
'OneDriver/delete/OpenNebula-bootstrap-img.rb',
|
225
|
+
"deleted image 'OpenNebula-bootstrap-img'"
|
226
|
+
)
|
227
|
+
end
|
228
|
+
end
|
229
|
+
describe 'delete OpenNebula-bootstrap-img' do
|
230
|
+
it do
|
231
|
+
is_expected.to converge_test_recipe(
|
232
|
+
'OneDriver/delete/OpenNebula-bootstrap-img.rb',
|
233
|
+
"image 'OpenNebula-bootstrap-img' does not exist - nothing to do"
|
234
|
+
)
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
describe 'delete OpenNebula-back-1-vm' do
|
239
|
+
test_helper(
|
240
|
+
'delete OpenNebula-back-1-vm',
|
241
|
+
'OneDriver/delete/OpenNebula-back-1-vm.rb',
|
242
|
+
/destroyed machine OpenNebula-back-1-vm.*?delete node OpenNebula-back-1-vm.*?delete client OpenNebula-back-1-vm at clients/m
|
243
|
+
)
|
244
|
+
end
|
245
|
+
|
246
|
+
describe 'delete OpenNebula-back-2-vm' do
|
247
|
+
test_helper(
|
248
|
+
'delete OpenNebula-back-2-vm',
|
249
|
+
'OneDriver/delete/OpenNebula-back-2-vm.rb',
|
250
|
+
/destroyed machine OpenNebula-back-2-vm.*?delete node OpenNebula-back-2-vm.*?delete client OpenNebula-back-2-vm at clients/m
|
251
|
+
)
|
252
|
+
end
|
253
|
+
|
254
|
+
describe 'delete OpenNebula-snap-1-img' do
|
255
|
+
it do
|
256
|
+
is_expected.to converge_test_recipe(
|
257
|
+
'OneDriver/delete/OpenNebula-snap-1-img.rb',
|
258
|
+
"deleted image 'OpenNebula-snap-1-img'"
|
259
|
+
)
|
260
|
+
end
|
261
|
+
end
|
262
|
+
describe 'delete OpenNebula-snap-1-img' do
|
263
|
+
it do
|
264
|
+
is_expected.to converge_test_recipe(
|
265
|
+
'OneDriver/delete/OpenNebula-snap-1-img.rb',
|
266
|
+
"image 'OpenNebula-snap-1-img' does not exist - nothing to do"
|
267
|
+
)
|
268
|
+
end
|
269
|
+
end
|
96
270
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
271
|
+
describe 'delete OpenNebula-snap-2-img' do
|
272
|
+
it do
|
273
|
+
is_expected.to converge_test_recipe(
|
274
|
+
'OneDriver/delete/OpenNebula-snap-2-img.rb',
|
275
|
+
"deleted image 'OpenNebula-snap-2-img'"
|
276
|
+
)
|
277
|
+
end
|
278
|
+
end
|
279
|
+
describe 'delete OpenNebula-snap-2-img' do
|
280
|
+
it do
|
281
|
+
is_expected.to converge_test_recipe(
|
282
|
+
'OneDriver/delete/OpenNebula-snap-2-img.rb',
|
283
|
+
"image 'OpenNebula-snap-2-img' does not exist - nothing to do"
|
284
|
+
)
|
285
|
+
end
|
286
|
+
end
|
102
287
|
end
|