beaker 2.44.0 → 2.45.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/CONTRIBUTING.md +7 -2
- data/HISTORY.md +200 -2
- data/acceptance/tests/puppet/web_helpers_test.rb +55 -0
- data/docs/Beaker-Libraries.md +2 -0
- data/docs/How-To-Beaker.md +0 -1
- data/docs/README.md +1 -1
- data/docs/how_to/change_terminal_output_coloring.md +32 -0
- data/docs/hypervisors/README.md +1 -1
- data/docs/hypervisors/openstack.md +80 -4
- data/docs/hypervisors/vagrant.md +40 -2
- data/docs/runner/test_run.md +31 -0
- data/lib/beaker/cli.rb +3 -3
- data/lib/beaker/dsl/helpers/web_helpers.rb +13 -4
- data/lib/beaker/dsl/install_utils/foss_utils.rb +1 -1
- data/lib/beaker/dsl/install_utils/windows_utils.rb +3 -3
- data/lib/beaker/host.rb +21 -1
- data/lib/beaker/host/unix/pkg.rb +1 -1
- data/lib/beaker/hypervisor/openstack.rb +1 -1
- data/lib/beaker/hypervisor/vagrant.rb +15 -1
- data/lib/beaker/options/hosts_file_parser.rb +54 -14
- data/lib/beaker/options/parser.rb +37 -3
- data/lib/beaker/options/presets.rb +2 -2
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/cli_spec.rb +4 -1
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +37 -60
- data/spec/beaker/dsl/install_utils/windows_utils_spec.rb +3 -3
- data/spec/beaker/host/unix/pkg_spec.rb +20 -0
- data/spec/beaker/host_prebuilt_steps_spec.rb +7 -7
- data/spec/beaker/host_spec.rb +44 -0
- data/spec/beaker/hypervisor/openstack_spec.rb +66 -0
- data/spec/beaker/hypervisor/vagrant_spec.rb +99 -0
- data/spec/beaker/options/hosts_file_parser_spec.rb +95 -22
- data/spec/beaker/options/parser_spec.rb +93 -1
- data/spec/helpers.rb +10 -2
- metadata +6 -3
- data/docs/Overview.md +0 -31
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZWY3ZTBjNzU5ZTJlYWVlYzJmOWRlZjQ1NTBlZjQ2ZWIzZWFlNTNiNQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDgwZWI3NWIyY2NmMWVhNmQxYWE3MGNiMjk0M2NlZmQ1MzYwMmJjZA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NDkzNzZiZDQ1MDQ5NGViYTJiNTI3MTE0ODQyZGM1Yzc3YzRiZGQ2OGY4NzUz
|
10
|
+
Zjg1NjMwMjdlZTA3MjNhYmI3MjczOWYwOGFiN2EzNWNhZDI5NDY0ZDhlMGNl
|
11
|
+
Nzc5YTIxMjVmMDlkMjJlMmUzNzVkNThiYTg0NzcxNDljYzcyOGM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NTFkNTU0OTBhMGMyZWI3OWI0MmI5YmQ5ZTJjNGM5NTQ3MjIyNzdlZTVjODUx
|
14
|
+
MDkxYmU0MzE1ZjhjZTNmOGI4NDA5MzY0M2QyNWJlODUxODAxYjQyY2NiMzdj
|
15
|
+
OWRkNDNiYTU3MjY0NWU5MzM3MGRmY2Y3NDY1NjczMjNlZGY3N2Q=
|
data/CONTRIBUTING.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
## Getting Started
|
4
4
|
|
5
|
-
*
|
5
|
+
* If it is accessible to you, create a [Jira account](http://tickets.puppetlabs.com)
|
6
6
|
* Make sure you have a [GitHub account](https://github.com/signup/free)
|
7
7
|
* Submit a ticket for your issue, assuming one does not already exist.
|
8
8
|
* Clearly describe the issue including steps to reproduce when it is a bug.
|
@@ -46,8 +46,13 @@
|
|
46
46
|
|
47
47
|
### Maintenance
|
48
48
|
|
49
|
-
|
49
|
+
For changes of a trivial nature, it is not always necessary to create a new ticket in Jira. In this case, it is appropriate to start the first line of a commit with `(MAINT)` instead of a ticket/issue number.
|
50
50
|
|
51
|
+
````
|
52
|
+
(MAINT) Fix whitespace
|
53
|
+
|
54
|
+
- remove additional spaces that appear at EOL
|
55
|
+
````
|
51
56
|
### Version Bump For Gem Release
|
52
57
|
|
53
58
|
To prepare for a new gem release of Beaker the `version.rb` file is updated with the upcoming gem version number. This is submitted with `(GEM)` instead of a ticket/issue number.
|
data/HISTORY.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# default - History
|
2
2
|
## Tags
|
3
|
-
* [LATEST -
|
3
|
+
* [LATEST - 29 Jun, 2016 (428f959a)](#LATEST)
|
4
|
+
* [2.44.0 - 9 Jun, 2016 (38dfb77f)](#2.44.0)
|
4
5
|
* [2.43.0 - 1 Jun, 2016 (777469ca)](#2.43.0)
|
5
6
|
* [2.42.0 - 23 May, 2016 (c245fef7)](#2.42.0)
|
6
7
|
* [2.41.0 - 10 May, 2016 (17c745bd)](#2.41.0)
|
@@ -120,7 +121,204 @@
|
|
120
121
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
121
122
|
|
122
123
|
## Details
|
123
|
-
### <a name = "LATEST">LATEST -
|
124
|
+
### <a name = "LATEST">LATEST - 29 Jun, 2016 (428f959a)
|
125
|
+
|
126
|
+
* (GEM) update beaker version to 2.45.0 (428f959a)
|
127
|
+
|
128
|
+
* Merge pull request #1143 from kevpl/bkr814_error_output (61343618)
|
129
|
+
|
130
|
+
|
131
|
+
```
|
132
|
+
Merge pull request #1143 from kevpl/bkr814_error_output
|
133
|
+
|
134
|
+
(MAINT) improved error output from beaker-hostgenerator workflow
|
135
|
+
```
|
136
|
+
* Merge pull request #1161 from johnduarte/bkr-856-add-el-sles-to-remove-puppet (2a9070cd)
|
137
|
+
|
138
|
+
|
139
|
+
```
|
140
|
+
Merge pull request #1161 from johnduarte/bkr-856-add-el-sles-to-remove-puppet
|
141
|
+
|
142
|
+
(BKR-856) Add el/sles support to remove_puppet_on
|
143
|
+
```
|
144
|
+
* (BKR-799) Use DNF for Uninstall Fedora 22+ (#1156) (e1e6c5e5)
|
145
|
+
|
146
|
+
|
147
|
+
```
|
148
|
+
(BKR-799) Use DNF for Uninstall Fedora 22+ (#1156)
|
149
|
+
|
150
|
+
* Missed out in original PR
|
151
|
+
```
|
152
|
+
* Merge pull request #1162 from puppetlabs/revert-974-maint (e71875c9)
|
153
|
+
|
154
|
+
|
155
|
+
```
|
156
|
+
Merge pull request #1162 from puppetlabs/revert-974-maint
|
157
|
+
|
158
|
+
Revert "(BKR-568) no longer accept PRs marked as "(MAINT)""
|
159
|
+
```
|
160
|
+
* Revert "(BKR-568) no longer accept PRs marked as "(MAINT)"" (1397371a)
|
161
|
+
|
162
|
+
* (BKR-856) Add el/sles support to remove_puppet_on (50bca276)
|
163
|
+
|
164
|
+
|
165
|
+
```
|
166
|
+
(BKR-856) Add el/sles support to remove_puppet_on
|
167
|
+
|
168
|
+
This commit expands platform support for the `remove_puppet_on` install
|
169
|
+
helper method to include `sles` and all `el` derivatives.
|
170
|
+
|
171
|
+
This allows hosts declared with a `hypervisor` of `none` on these
|
172
|
+
platforms to have puppet uninstalled as part of a pre-suite.
|
173
|
+
```
|
174
|
+
* (BKR-355) - Adding acceptance tests for web_helper methods. (#1140) (43f41603)
|
175
|
+
|
176
|
+
|
177
|
+
```
|
178
|
+
(BKR-355) - Adding acceptance tests for web_helper methods. (#1140)
|
179
|
+
|
180
|
+
* (BKR-355) - Adding acceptance tests for web_helper methods.
|
181
|
+
|
182
|
+
* (BKR-355) - changes based on comments
|
183
|
+
|
184
|
+
* (BKR-355) Moving test to puppet level so that ruby is installed for these tests.
|
185
|
+
```
|
186
|
+
* (MAINT) Changed link for lxc hypervisor (#1158) (07ae263f)
|
187
|
+
|
188
|
+
* (BKR-24) Added "change_terminal_output_coloring.md" to describe how to change terminal colors in Beaker. (#1153) (128dae6d)
|
189
|
+
|
190
|
+
|
191
|
+
```
|
192
|
+
(BKR-24) Added "change_terminal_output_coloring.md" to describe how to change terminal colors in Beaker. (#1153)
|
193
|
+
|
194
|
+
[skip ci]
|
195
|
+
```
|
196
|
+
* (MAINT) Fix typo (#1157) (695b6ef1)
|
197
|
+
|
198
|
+
* (BKR-853) Update epel_url and epel_7_pkg presets (#1155) (c27113e1)
|
199
|
+
|
200
|
+
|
201
|
+
```
|
202
|
+
(BKR-853) Update epel_url and epel_7_pkg presets (#1155)
|
203
|
+
|
204
|
+
* (BKR-853) Update epel_7_pkg preset
|
205
|
+
|
206
|
+
* (BKR-853) Use master mirror for epel_url preset
|
207
|
+
|
208
|
+
This changes the default to point to the master mirror outlined in the
|
209
|
+
documentation here: https://fedoraproject.org/wiki/EPEL/FAQ
|
210
|
+
|
211
|
+
* (BKR-853) Update spec tests for epel preset changes
|
212
|
+
```
|
213
|
+
* Merge pull request #1141 from Iristyle/maint/master/log-windows-versions-fix (ad6bf66e)
|
214
|
+
|
215
|
+
|
216
|
+
```
|
217
|
+
Merge pull request #1141 from Iristyle/maint/master/log-windows-versions-fix
|
218
|
+
|
219
|
+
(maint) Extra quoting for Windows versions.txt
|
220
|
+
```
|
221
|
+
* (BKR-840) Added a new file test_run.md and deleted Overview.md (#1147) (fdd2c7e3)
|
222
|
+
|
223
|
+
|
224
|
+
```
|
225
|
+
(BKR-840) Added a new file test_run.md and deleted Overview.md (#1147)
|
226
|
+
|
227
|
+
Removed extra space from README.md
|
228
|
+
Added logger.rb
|
229
|
+
[skip ci]
|
230
|
+
```
|
231
|
+
* (BKR-843) Use hypervisor specific logic for ip (#1149) (9b4f088d)
|
232
|
+
|
233
|
+
|
234
|
+
```
|
235
|
+
(BKR-843) Use hypervisor specific logic for ip (#1149)
|
236
|
+
|
237
|
+
* (BKR-843) Use hypervisor specific logic for ip
|
238
|
+
|
239
|
+
When determining the ip address of a machine, beaker normally ssh'd into
|
240
|
+
the box and would run a command that would return the ip configured on
|
241
|
+
that box. However, this doesn't work for several cloud hypervisors, as
|
242
|
+
the public ip of the box may not match the internally configured ip
|
243
|
+
address. This change allows for hypervisor specific logic to be executed
|
244
|
+
instead of sshing into the box. Specifically, this commit changes all
|
245
|
+
ec2 instances to use the public ip address instead of the private one.
|
246
|
+
|
247
|
+
* (BKR-843) Curl ec2 for ip in case of --no-provision
|
248
|
+
|
249
|
+
When there is no ec2 instance object created, the #get_public_ip method
|
250
|
+
needs to use curl on the box instead of using the instance object to
|
251
|
+
determine its ip. This will be the case when users add the no-provision
|
252
|
+
flag.
|
253
|
+
|
254
|
+
* (BKR-843) Add case for Windows ec2 instances for #get_public_ip
|
255
|
+
```
|
256
|
+
* (maint) link to beaker template from beaker library docs (#1142) (e2da65b8)
|
257
|
+
|
258
|
+
|
259
|
+
```
|
260
|
+
(maint) link to beaker template from beaker library docs (#1142)
|
261
|
+
|
262
|
+
beaker-library howto is tough to find from beaker docs. This change
|
263
|
+
links to it from the beaker-library list in docs
|
264
|
+
|
265
|
+
[skip ci]
|
266
|
+
```
|
267
|
+
* (MAINT) Fix broken link to Vagrant Hosts examples (#1145) (f5b28947)
|
268
|
+
|
269
|
+
* (MAINT) improved error output from beaker-hostgenerator workflow (8d22da0a)
|
270
|
+
|
271
|
+
* Merge pull request #1130 from kevpl/bkr814_hostgenerator_syntax (806e6fa8)
|
272
|
+
|
273
|
+
|
274
|
+
```
|
275
|
+
Merge pull request #1130 from kevpl/bkr814_hostgenerator_syntax
|
276
|
+
|
277
|
+
(BKR-814) added beaker-hostgenerator syntax to hosts arg
|
278
|
+
```
|
279
|
+
* (maint) Extra quoting for Windows versions.txt (36d7cbe9)
|
280
|
+
|
281
|
+
|
282
|
+
```
|
283
|
+
(maint) Extra quoting for Windows versions.txt
|
284
|
+
|
285
|
+
- Adds quotes around the "if exist path type path" command passed to
|
286
|
+
cmd.exe, which also requires that quotes around filenames have
|
287
|
+
their quoting escaped
|
288
|
+
```
|
289
|
+
* (BKR-685) Support openstack user_data (#1135) (5446a768)
|
290
|
+
|
291
|
+
|
292
|
+
```
|
293
|
+
(BKR-685) Support openstack user_data (#1135)
|
294
|
+
|
295
|
+
* (BKR-685) Support openstack user_data
|
296
|
+
|
297
|
+
* (BKR-685) add tests for Openstack hypervisor
|
298
|
+
|
299
|
+
* (BKR-685) refactor openstack spec
|
300
|
+
|
301
|
+
* (BKR-685) remove duplicate snapshot key
|
302
|
+
|
303
|
+
* (BKR-685) add user_data field to openstack dock file
|
304
|
+
```
|
305
|
+
* (BKR-827) Vagrant port forwarding (#1133) (7090641f)
|
306
|
+
|
307
|
+
|
308
|
+
```
|
309
|
+
(BKR-827) Vagrant port forwarding (#1133)
|
310
|
+
|
311
|
+
* (BKR-827) Adding port forwarding support.
|
312
|
+
|
313
|
+
* (BKR-827) Adding support for all vagrant parameters.
|
314
|
+
|
315
|
+
* (BKR-827) Adding documentation.
|
316
|
+
```
|
317
|
+
* (BKR-814) added beaker-hostgenerator syntax to hosts arg (6e15ae58)
|
318
|
+
|
319
|
+
### <a name = "2.44.0">2.44.0 - 9 Jun, 2016 (38dfb77f)
|
320
|
+
|
321
|
+
* (HISTORY) update beaker history for gem release 2.44.0 (38dfb77f)
|
124
322
|
|
125
323
|
* (GEM) update beaker version to 2.44.0 (0d267d3d)
|
126
324
|
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'helpers/test_helper'
|
2
|
+
require 'webrick'
|
3
|
+
require 'webrick/https'
|
4
|
+
|
5
|
+
test_name 'dsl::helpers::web_helpers #link_exists?' do
|
6
|
+
cert_name = [
|
7
|
+
%w[CN localhost],
|
8
|
+
]
|
9
|
+
http_cmd = "ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 80, :DocumentRoot => \"/tmp\").start' > /tmp/mylogfile 2>&1 &"
|
10
|
+
https_cmd = "ruby -rwebrick/https -e'WEBrick::HTTPServer.new(:SSLEnable => true, :SSLCertName => #{cert_name}, :Port => 555,:DocumentRoot => \"/tmp\").start' > /tmp/mylogfile 2>&1 &"
|
11
|
+
on(default, http_cmd)
|
12
|
+
on(default, https_cmd)
|
13
|
+
#allow web servers to start up
|
14
|
+
sleep(3)
|
15
|
+
dir = default.tmpdir('test_dir')
|
16
|
+
file = default.tmpfile('test_file')
|
17
|
+
dir.slice! "/tmp"
|
18
|
+
file.slice! "/tmp"
|
19
|
+
dst_dir = 'web_helpers'
|
20
|
+
|
21
|
+
step '#port_open_within? can tell if a port is open' do
|
22
|
+
assert port_open_within?(default,80)
|
23
|
+
end
|
24
|
+
|
25
|
+
step '#link_exists? can tell if a basic link exists' do
|
26
|
+
assert link_exists?("http://#{default}")
|
27
|
+
end
|
28
|
+
|
29
|
+
step '#link_exists? can tell if a basic link does not exist' do
|
30
|
+
assert !link_exists?("http://#{default}/test")
|
31
|
+
end
|
32
|
+
|
33
|
+
step '#link_exists? can use an ssl link' do
|
34
|
+
assert link_exists?("https://#{default}:555")
|
35
|
+
end
|
36
|
+
|
37
|
+
step '#fetch_http_dir can fetch a dir' do
|
38
|
+
assert_equal "#{dst_dir}#{dir}", fetch_http_dir("http://#{default}/#{dir}", dst_dir)
|
39
|
+
end
|
40
|
+
|
41
|
+
step '#fetch_http_dir will raise an error if unable fetch a dir' do
|
42
|
+
exception = assert_raises(RuntimeError) { fetch_http_dir("http://#{default}/tmps", dst_dir) }
|
43
|
+
assert_match /Failed to fetch_remote_dir.*/, exception.message, "#fetch_http_dir raised an unexpected RuntimeError"
|
44
|
+
end
|
45
|
+
|
46
|
+
step '#fetch_http_file can fetch a file' do
|
47
|
+
assert_equal "#{dst_dir}#{file}", fetch_http_file("http://#{default}", file, dst_dir)
|
48
|
+
end
|
49
|
+
|
50
|
+
step '#fetch_http_file will raise an error if unable to fetch a file' do
|
51
|
+
exception = assert_raises(RuntimeError) { fetch_http_file("http://#{default}", "test2.txt", dst_dir) }
|
52
|
+
assert_match /Failed to fetch_remote_file.*/, exception.message, "#fetch_http_dir raised an unexpected RuntimeError"
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
data/docs/Beaker-Libraries.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
Engineering at Puppet Labs has written several libraries that extends the functionality provided
|
3
3
|
by Beaker.
|
4
4
|
|
5
|
+
To learn how to create beaker libraries, see the [Beaker-Template](https://github.com/puppetlabs/beaker-template/blob/master/README.md) documentation.
|
6
|
+
|
5
7
|
| Name | Description | Docs |
|
6
8
|
|:-------------------|:--------------------------------------------------------------------|:----------------------------------------------------------------|
|
7
9
|
| Master Manipulator | Easy DSL extension for changing configuration on a Puppet Master | [Github Repo](https://github.com/puppetlabs/master_manipulator) |
|
data/docs/How-To-Beaker.md
CHANGED
data/docs/README.md
CHANGED
@@ -4,8 +4,8 @@
|
|
4
4
|
|
5
5
|
* [MAINTAINERS](/MAINTAINERS.md)
|
6
6
|
* [Installing Beaker](Beaker-Installation.md)
|
7
|
+
* [Running Beaker Tests ](runner/test_run.md)
|
7
8
|
* [How to Beaker](How-To-Beaker.md)
|
8
|
-
* [Overview](Overview.md)
|
9
9
|
* [Creating A Test Environment](Creating-A-Test-Environment.md)
|
10
10
|
* [Roles, What Are They?](Roles-What-Are-They.md)
|
11
11
|
* [Supported Virtualization Techniques - Hypervisor Docs](hypervisors)
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
Beaker uses a set of colors to output different types of messages on to the terminal.
|
3
|
+
|
4
|
+
## The Default Color Codes
|
5
|
+
If you do not provide any values, the defaults are: [Default colors](https://github.com/puppetlabs/beaker/blob/master/lib/beaker/logger.rb#L85-L95)
|
6
|
+
|
7
|
+
## Beaker Color Codes:
|
8
|
+
In addition, Beaker can support few other colors. List of all colors supported by Beaker: [Colors Supported by Beaker] (https://github.com/puppetlabs/beaker/blob/master/lib/beaker/logger.rb#L14-L32)
|
9
|
+
|
10
|
+
## How to Customize:
|
11
|
+
Changes to the default options can be made by editing the configuration file.
|
12
|
+
|
13
|
+
Here are some examples:
|
14
|
+
|
15
|
+
**Eg 1: Changing color of a particular type of message**
|
16
|
+
Add the following to the hosts file to change the color of `success` messages to `GREEN` and `warning` messages to `YELLOW`.
|
17
|
+
To get the color-code corresponding to a color, refer to: [Colors Supported by Beaker] (https://github.com/puppetlabs/beaker/blob/master/lib/beaker/logger.rb#L14-L32)
|
18
|
+
|
19
|
+
HOSTS:
|
20
|
+
...
|
21
|
+
CONFIG:
|
22
|
+
log_colors:
|
23
|
+
success: "\e[01;35m"
|
24
|
+
warn: "\e[00;33m"
|
25
|
+
|
26
|
+
**Eg 2: Turning off colors.**
|
27
|
+
The following option in the hosts file will print the whole output in one single color.
|
28
|
+
|
29
|
+
HOSTS:
|
30
|
+
...
|
31
|
+
CONFIG:
|
32
|
+
color: false
|
data/docs/hypervisors/README.md
CHANGED
@@ -1,8 +1,41 @@
|
|
1
|
-
|
1
|
+
# Openstack
|
2
|
+
|
3
|
+
OpenStack is a free and open-source software platform for cloud computing. [Their Site](http://www.openstack.org/).
|
2
4
|
|
3
5
|
Considered **EXPERIMENTAL**, may break without notice.
|
4
6
|
|
5
|
-
|
7
|
+
# Getting Started
|
8
|
+
|
9
|
+
### Requirements
|
10
|
+
|
11
|
+
Get openstack Access & Security credentials:
|
12
|
+
|
13
|
+
- "openstack_api_key"
|
14
|
+
- "openstack_auth_url"
|
15
|
+
- "openstack_username"
|
16
|
+
- "openstack_tenant"
|
17
|
+
- "openstack_network"
|
18
|
+
- "openstack_keyname"
|
19
|
+
|
20
|
+
If you are using [OpenStack Dashboard "Horizon"] (https://wiki.openstack.org/wiki/Horizon)
|
21
|
+
you can find these keys in next places:
|
22
|
+
|
23
|
+
1. login to "Horizon dashboard" -> "project" -> "Compute" -> "Access & Security" -> tab "API Access" -> "Download OpenStack RC File":
|
24
|
+
* "openstack_auth_url" == OS_AUTH_URL + "/tokens"
|
25
|
+
* "openstack_username" == OS_USERNAME
|
26
|
+
* "openstack_tenant" == OS_TENANT_NAME
|
27
|
+
2. "openstack_network": in "project" -> "Networks"
|
28
|
+
3. "openstack_keyname": in "project" -> "Compute" -> "Access & Security" -> tab "Key Pairs"
|
29
|
+
4. "openstack_api_key": Your user Password
|
30
|
+
|
31
|
+
### Setup a Openstack Hosts File
|
32
|
+
|
33
|
+
An Openstack hosts file looks like a typical hosts file,
|
34
|
+
except that there are a number of required properties that need to be added to every host
|
35
|
+
in order for the Openstack hypervisor to provision hosts properly.
|
36
|
+
|
37
|
+
**Basic Openstack hosts file**
|
38
|
+
|
6
39
|
HOSTS:
|
7
40
|
centos-6-master:
|
8
41
|
roles:
|
@@ -11,16 +44,57 @@ Considered **EXPERIMENTAL**, may break without notice.
|
|
11
44
|
- database
|
12
45
|
- dashboard
|
13
46
|
platform: el-6-x86_64
|
47
|
+
hypervisor: openstack
|
14
48
|
image: centos-6-x86_64-nocm
|
15
49
|
flavor: m1.large
|
16
|
-
|
17
|
-
|
50
|
+
|
51
|
+
CONFIG:
|
52
|
+
nfs_server: none
|
53
|
+
consoleport: 443
|
54
|
+
openstack_api_key: Pas$w0rd
|
55
|
+
openstack_username: user
|
56
|
+
openstack_auth_url: http://10.10.10.10:5000/v2.0/tokens
|
57
|
+
openstack_tenant: testing
|
58
|
+
openstack_network : testing
|
59
|
+
openstack_keyname : nopass
|
60
|
+
|
61
|
+
The `image` - image name.
|
62
|
+
|
63
|
+
The `flavor` - templates for VMs, defining sizes for RAM, disk, number of cores, and so on.
|
64
|
+
|
65
|
+
|
66
|
+
# Openstack-Specific Hosts File Settings
|
67
|
+
|
68
|
+
### user-data
|
69
|
+
|
70
|
+
"user data" - a blob of data that the user can specify when they launch an instance.
|
71
|
+
The instance can access this data through the metadata service or config drive with one of the next requests:
|
72
|
+
|
73
|
+
- curl http://169.254.169.254/2009-04-04/user-data
|
74
|
+
- curl http://169.254.169.254/openstack/2012-08-10/user_data
|
75
|
+
|
76
|
+
|
77
|
+
Examples of `user_data` you can find here: http://cloudinit.readthedocs.io/en/latest/topics/examples.html
|
78
|
+
|
79
|
+
Also if you plan use `user-data` make sure that 'cloud-init' package installed in your VM `image` and 'cloud-init' service is running.
|
80
|
+
|
81
|
+
**Example Openstack hosts file with user_data**
|
82
|
+
|
83
|
+
HOSTS:
|
84
|
+
centos-6-master:
|
18
85
|
roles:
|
86
|
+
- master
|
19
87
|
- agent
|
88
|
+
- database
|
89
|
+
- dashboard
|
20
90
|
platform: el-6-x86_64
|
21
91
|
image: centos-6-x86_64-nocm
|
22
92
|
flavor: m1.large
|
23
93
|
hypervisor: openstack
|
94
|
+
user_data: |
|
95
|
+
#cloud-config
|
96
|
+
bootcmd:
|
97
|
+
- echo 123 > /tmp/test.txt
|
24
98
|
CONFIG:
|
25
99
|
nfs_server: none
|
26
100
|
consoleport: 443
|
@@ -30,3 +104,5 @@ Considered **EXPERIMENTAL**, may break without notice.
|
|
30
104
|
openstack_tenant: testing
|
31
105
|
openstack_network : testing
|
32
106
|
openstack_keyname : nopass
|
107
|
+
|
108
|
+
|