r10k 1.4.1 → 1.4.2
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.
- data/CHANGELOG.mkd +37 -0
- data/lib/r10k/action/deploy/display.rb +1 -0
- data/lib/r10k/deployment.rb +3 -0
- data/lib/r10k/util/monkey_patches.rb +11 -0
- data/lib/r10k/version.rb +1 -1
- data/spec/r10k-mocks/mock_config.rb +4 -0
- data/spec/unit/deployment_spec.rb +20 -0
- data/spec/unit/util/monkey_patches_spec.rb +20 -0
- metadata +100 -72
- checksums.yaml +0 -7
data/CHANGELOG.mkd
CHANGED
@@ -1,6 +1,43 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
+
1.4.2
|
5
|
+
-----
|
6
|
+
|
7
|
+
2015/03/13
|
8
|
+
|
9
|
+
### Announcements
|
10
|
+
|
11
|
+
The r10k ticket tracker is moving to the Puppet Labs issue tracker; new issues
|
12
|
+
should be filed on the [R10K project](https://tickets.puppetlabs.com/browse/RK).
|
13
|
+
The GitHub issue tracker will remain online for the near future but is
|
14
|
+
deprecated in favor of JIRA. Issues from the GitHub tracker will be prefixed
|
15
|
+
with "GH-"; issues from JIRA will be prefixed with "RK-".
|
16
|
+
|
17
|
+
### User notes
|
18
|
+
|
19
|
+
(RK-4) Raise meaningful errors on missing sources
|
20
|
+
|
21
|
+
If the 'sources' key in r10k.yaml was left unset, was misspelled, or was empty,
|
22
|
+
r10k try to blindly iterate through it as a hash and would subsequently raise an
|
23
|
+
error. This has been remedied so that if the value is missing or empty an error
|
24
|
+
will be raised.
|
25
|
+
|
26
|
+
Note that this doesn't handle the case where r10k.yaml is empty or malformed;
|
27
|
+
that issue is being tracked as RK-34.
|
28
|
+
|
29
|
+
(GH-310, RK-36) `r10k deploy display -p --detail` fails on Ruby 1.8.7
|
30
|
+
|
31
|
+
Ruby 1.8.7 does not implement the comparison operator on Symbols, which was
|
32
|
+
being used by the display command to ensure that hashes were printed in a
|
33
|
+
consistent order. This has been fixed by backporting the Ruby 1.9 Symbol sorting
|
34
|
+
to 1.8.7.
|
35
|
+
|
36
|
+
### Thanks
|
37
|
+
|
38
|
+
Thanks to [Eli Young](https://github.com/elyscape) for reviewing PR 337 and
|
39
|
+
providing helpful feedback.
|
40
|
+
|
4
41
|
1.4.1
|
5
42
|
-----
|
6
43
|
|
data/lib/r10k/deployment.rb
CHANGED
@@ -114,6 +114,9 @@ module R10K
|
|
114
114
|
|
115
115
|
def load_sources
|
116
116
|
sources = @config.setting(:sources)
|
117
|
+
if sources.nil? || sources.empty?
|
118
|
+
raise R10K::Error, "'sources' key in #{@config.configfile} missing or empty."
|
119
|
+
end
|
117
120
|
@_sources = sources.map do |(name, hash)|
|
118
121
|
R10K::Source.from_hash(name, hash)
|
119
122
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
if !Symbol.instance_methods.include?(:<=>)
|
2
|
+
class Symbol
|
3
|
+
# Ruby 1.8.7 does not define #<=>, which subsequently breaks Enumerable#sort
|
4
|
+
# when sorting an array of symbols.
|
5
|
+
#
|
6
|
+
# @see https://github.com/puppetlabs/r10k/issues/310
|
7
|
+
def <=>(other)
|
8
|
+
self.to_s <=> other.to_s if other.is_a?(Symbol)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/lib/r10k/version.rb
CHANGED
@@ -140,3 +140,23 @@ describe R10K::Deployment, "with environment collisions" do
|
|
140
140
|
}.to raise_error(R10K::R10KError, /Environment collision at .* between s\d:third and s\d:third/)
|
141
141
|
end
|
142
142
|
end
|
143
|
+
|
144
|
+
describe R10K::Deployment, "checking the 'sources' key" do
|
145
|
+
|
146
|
+
{
|
147
|
+
"when missing" => {},
|
148
|
+
"when empty" => {:sources => []},
|
149
|
+
}.each_pair do |desc, config_hash|
|
150
|
+
describe desc do
|
151
|
+
|
152
|
+
let(:config) { R10K::Deployment::MockConfig.new(config_hash) }
|
153
|
+
subject(:deployment) { described_class.new(config) }
|
154
|
+
|
155
|
+
it "raises an error when enumerating sources" do
|
156
|
+
expect {
|
157
|
+
deployment.sources
|
158
|
+
}.to raise_error(R10K::Error, "'sources' key in /some/nonexistent/config_file missing or empty.")
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'r10k/util/monkey_patches'
|
3
|
+
|
4
|
+
describe Symbol, "comparison operator", :if => RUBY_VERSION == '1.8.7' do
|
5
|
+
it "returns nil if the other value is incomparable" do
|
6
|
+
expect(:aaa <=> 'bbb').to be_nil
|
7
|
+
end
|
8
|
+
|
9
|
+
it "returns -1 if the value sorts lower than the compared value" do
|
10
|
+
expect(:aaa <=> :bbb).to eq(-1)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "returns 0 if the values are equal" do
|
14
|
+
expect(:aaa <=> :aaa).to eq(0)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "returns 1 if the value sorts higher than the compared value" do
|
18
|
+
expect(:bbb <=> :aaa).to eq(1)
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,187 +1,211 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: r10k
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Adrien Thebo
|
8
|
-
autorequire:
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2015-
|
12
|
+
date: 2015-03-13 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: colored
|
15
|
-
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - '='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '1.2'
|
20
|
-
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
21
26
|
requirements:
|
22
27
|
- - '='
|
23
28
|
- !ruby/object:Gem::Version
|
24
29
|
version: '1.2'
|
25
|
-
prerelease: false
|
26
|
-
type: :runtime
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: cri
|
29
|
-
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: 2.6.1
|
34
|
-
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
35
42
|
requirements:
|
36
43
|
- - ~>
|
37
44
|
- !ruby/object:Gem::Version
|
38
45
|
version: 2.6.1
|
39
|
-
prerelease: false
|
40
|
-
type: :runtime
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: systemu
|
43
|
-
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: 2.5.2
|
48
|
-
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
49
58
|
requirements:
|
50
59
|
- - ~>
|
51
60
|
- !ruby/object:Gem::Version
|
52
61
|
version: 2.5.2
|
53
|
-
prerelease: false
|
54
|
-
type: :runtime
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: log4r
|
57
|
-
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - '='
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: 1.1.10
|
62
|
-
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
63
74
|
requirements:
|
64
75
|
- - '='
|
65
76
|
- !ruby/object:Gem::Version
|
66
77
|
version: 1.1.10
|
67
|
-
prerelease: false
|
68
|
-
type: :runtime
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: multi_json
|
71
|
-
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: 1.8.2
|
76
|
-
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
77
90
|
requirements:
|
78
91
|
- - ~>
|
79
92
|
- !ruby/object:Gem::Version
|
80
93
|
version: 1.8.2
|
81
|
-
prerelease: false
|
82
|
-
type: :runtime
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: json_pure
|
85
|
-
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ~>
|
88
100
|
- !ruby/object:Gem::Version
|
89
101
|
version: '1.8'
|
90
|
-
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
91
106
|
requirements:
|
92
107
|
- - ~>
|
93
108
|
- !ruby/object:Gem::Version
|
94
109
|
version: '1.8'
|
95
|
-
prerelease: false
|
96
|
-
type: :runtime
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: faraday
|
99
|
-
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: 0.8.8
|
104
|
-
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
105
122
|
requirements:
|
106
123
|
- - ~>
|
107
124
|
- !ruby/object:Gem::Version
|
108
125
|
version: 0.8.8
|
109
|
-
prerelease: false
|
110
|
-
type: :runtime
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: faraday_middleware
|
113
|
-
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
131
|
- - ~>
|
116
132
|
- !ruby/object:Gem::Version
|
117
133
|
version: 0.9.0
|
118
|
-
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
119
138
|
requirements:
|
120
139
|
- - ~>
|
121
140
|
- !ruby/object:Gem::Version
|
122
141
|
version: 0.9.0
|
123
|
-
prerelease: false
|
124
|
-
type: :runtime
|
125
142
|
- !ruby/object:Gem::Dependency
|
126
143
|
name: faraday_middleware-multi_json
|
127
|
-
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
128
146
|
requirements:
|
129
147
|
- - ~>
|
130
148
|
- !ruby/object:Gem::Version
|
131
149
|
version: 0.0.5
|
132
|
-
|
150
|
+
type: :runtime
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
133
154
|
requirements:
|
134
155
|
- - ~>
|
135
156
|
- !ruby/object:Gem::Version
|
136
157
|
version: 0.0.5
|
137
|
-
prerelease: false
|
138
|
-
type: :runtime
|
139
158
|
- !ruby/object:Gem::Dependency
|
140
159
|
name: rspec
|
141
|
-
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
142
162
|
requirements:
|
143
163
|
- - ~>
|
144
164
|
- !ruby/object:Gem::Version
|
145
165
|
version: '3.1'
|
146
|
-
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
147
170
|
requirements:
|
148
171
|
- - ~>
|
149
172
|
- !ruby/object:Gem::Version
|
150
173
|
version: '3.1'
|
151
|
-
prerelease: false
|
152
|
-
type: :development
|
153
174
|
- !ruby/object:Gem::Dependency
|
154
175
|
name: vcr
|
155
|
-
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
156
178
|
requirements:
|
157
179
|
- - ~>
|
158
180
|
- !ruby/object:Gem::Version
|
159
181
|
version: '2.9'
|
160
|
-
|
182
|
+
type: :development
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
161
186
|
requirements:
|
162
187
|
- - ~>
|
163
188
|
- !ruby/object:Gem::Version
|
164
189
|
version: '2.9'
|
165
|
-
prerelease: false
|
166
|
-
type: :development
|
167
190
|
- !ruby/object:Gem::Dependency
|
168
191
|
name: yard
|
169
|
-
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
170
194
|
requirements:
|
171
195
|
- - ~>
|
172
196
|
- !ruby/object:Gem::Version
|
173
197
|
version: 0.8.7.3
|
174
|
-
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
175
202
|
requirements:
|
176
203
|
- - ~>
|
177
204
|
- !ruby/object:Gem::Version
|
178
205
|
version: 0.8.7.3
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
R10K provides a general purpose toolset for deploying Puppet environments and modules.
|
183
|
-
It implements the Puppetfile format and provides a native implementation of Puppet
|
184
|
-
dynamic environments.
|
206
|
+
description: ! " R10K provides a general purpose toolset for deploying Puppet environments
|
207
|
+
and modules.\n It implements the Puppetfile format and provides a native implementation
|
208
|
+
of Puppet\n dynamic environments.\n"
|
185
209
|
email: adrien@somethingsinistral.net
|
186
210
|
executables:
|
187
211
|
- r10k
|
@@ -292,6 +316,7 @@ files:
|
|
292
316
|
- lib/r10k/util/attempt.rb
|
293
317
|
- lib/r10k/util/basedir.rb
|
294
318
|
- lib/r10k/util/core_ext/hash_ext.rb
|
319
|
+
- lib/r10k/util/monkey_patches.rb
|
295
320
|
- lib/r10k/util/platform.rb
|
296
321
|
- lib/r10k/util/purgeable.rb
|
297
322
|
- lib/r10k/util/setopts.rb
|
@@ -365,6 +390,7 @@ files:
|
|
365
390
|
- spec/unit/svn/working_dir_spec.rb
|
366
391
|
- spec/unit/util/attempt_spec.rb
|
367
392
|
- spec/unit/util/core_ext/hash_ext_spec.rb
|
393
|
+
- spec/unit/util/monkey_patches_spec.rb
|
368
394
|
- spec/unit/util/setopts_spec.rb
|
369
395
|
- spec/unit/util/subprocess/result_spec.rb
|
370
396
|
- spec/unit/util/subprocess/subprocess_error_spec.rb
|
@@ -372,37 +398,33 @@ files:
|
|
372
398
|
homepage: http://github.com/adrienthebo/r10k
|
373
399
|
licenses:
|
374
400
|
- Apache-2.0
|
375
|
-
|
376
|
-
post_install_message:
|
401
|
+
post_install_message:
|
377
402
|
rdoc_options: []
|
378
403
|
require_paths:
|
379
404
|
- lib
|
380
405
|
required_ruby_version: !ruby/object:Gem::Requirement
|
406
|
+
none: false
|
381
407
|
requirements:
|
382
|
-
- - '>='
|
408
|
+
- - ! '>='
|
383
409
|
- !ruby/object:Gem::Version
|
384
410
|
version: '0'
|
385
411
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
412
|
+
none: false
|
386
413
|
requirements:
|
387
|
-
- - '>='
|
414
|
+
- - ! '>='
|
388
415
|
- !ruby/object:Gem::Version
|
389
416
|
version: '0'
|
390
417
|
requirements: []
|
391
|
-
rubyforge_project:
|
392
|
-
rubygems_version:
|
393
|
-
signing_key:
|
394
|
-
specification_version:
|
418
|
+
rubyforge_project:
|
419
|
+
rubygems_version: 1.8.23.2
|
420
|
+
signing_key:
|
421
|
+
specification_version: 3
|
395
422
|
summary: Puppet environment and module deployment
|
396
423
|
test_files:
|
397
|
-
- spec/unit/module_spec.rb
|
398
|
-
- spec/unit/keyed_factory_spec.rb
|
399
|
-
- spec/unit/source_spec.rb
|
400
|
-
- spec/unit/puppetfile_spec.rb
|
401
|
-
- spec/unit/instance_cache_spec.rb
|
402
|
-
- spec/unit/deployment_spec.rb
|
403
424
|
- spec/unit/environment/base_spec.rb
|
404
425
|
- spec/unit/environment/svn_spec.rb
|
405
426
|
- spec/unit/environment/git_spec.rb
|
427
|
+
- spec/unit/module_spec.rb
|
406
428
|
- spec/unit/module_repository/forge_spec.rb
|
407
429
|
- spec/unit/git/ref_spec.rb
|
408
430
|
- spec/unit/git/working_dir_spec.rb
|
@@ -412,28 +434,34 @@ test_files:
|
|
412
434
|
- spec/unit/git/head_spec.rb
|
413
435
|
- spec/unit/git/alternates_spec.rb
|
414
436
|
- spec/unit/git/tag_spec.rb
|
437
|
+
- spec/unit/keyed_factory_spec.rb
|
415
438
|
- spec/unit/deployment/environment_spec.rb
|
416
439
|
- spec/unit/deployment/source_spec.rb
|
440
|
+
- spec/unit/source_spec.rb
|
441
|
+
- spec/unit/puppetfile_spec.rb
|
442
|
+
- spec/unit/util/monkey_patches_spec.rb
|
417
443
|
- spec/unit/util/attempt_spec.rb
|
418
444
|
- spec/unit/util/setopts_spec.rb
|
419
|
-
- spec/unit/util/subprocess_spec.rb
|
420
445
|
- spec/unit/util/subprocess/result_spec.rb
|
421
446
|
- spec/unit/util/subprocess/subprocess_error_spec.rb
|
447
|
+
- spec/unit/util/subprocess_spec.rb
|
422
448
|
- spec/unit/util/core_ext/hash_ext_spec.rb
|
423
449
|
- spec/unit/errors/formatting_spec.rb
|
450
|
+
- spec/unit/instance_cache_spec.rb
|
424
451
|
- spec/unit/action/visitor_spec.rb
|
425
452
|
- spec/unit/action/cri_runner_spec.rb
|
426
|
-
- spec/unit/action/runner_spec.rb
|
427
453
|
- spec/unit/action/puppetfile/cri_action_spec.rb
|
454
|
+
- spec/unit/action/runner_spec.rb
|
428
455
|
- spec/unit/settings/container_spec.rb
|
429
456
|
- spec/unit/svn/working_dir_spec.rb
|
430
457
|
- spec/unit/svn/remote_spec.rb
|
431
458
|
- spec/unit/source/base_spec.rb
|
432
459
|
- spec/unit/source/svn_spec.rb
|
433
460
|
- spec/unit/source/git_spec.rb
|
461
|
+
- spec/unit/deployment_spec.rb
|
434
462
|
- spec/unit/module/forge_spec.rb
|
435
463
|
- spec/unit/module/base_spec.rb
|
436
464
|
- spec/unit/module/svn_spec.rb
|
437
465
|
- spec/unit/module/git_spec.rb
|
438
466
|
- spec/unit/module/metadata_spec.rb
|
439
|
-
has_rdoc:
|
467
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 3617d49776218c02d2e1de1f3f40cb267897f1a7
|
4
|
-
data.tar.gz: 668d68acdf49933248305d1c694637a29798b057
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 2e4f861e931a5c663e4315178bf17cc8ee61375634a9a1bef927ca23b2b2656caf18e37b56c2a889498a53c895c428a4a3901ee6a6cee61339cb1b544f455ebd
|
7
|
-
data.tar.gz: a2f13cac9fe9c31fa604803fb6576f2945ecc5fe16da7c08388b0dbd853b905782694dc6884cd0a666e1d708607d84a086a5436f3fb7c7b3897e67e5b4d247f4
|