ansible_spec 0.2.9 → 0.2.10
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/CHANGELOG.md +3 -0
- data/lib/ansible_spec/load_ansible.rb +24 -21
- data/lib/ansible_spec/version.rb +1 -1
- data/spec/case/load_vars_file/group_all/group_vars/all +2 -0
- data/spec/case/load_vars_file/group_all/group_vars/all.yml +6 -0
- data/spec/get_variable_spec.rb +30 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39b483b0e6e4712c41e9785d82a8a7f04c0bdaea
|
4
|
+
data.tar.gz: c4f559f6ffa278fc2c50f553fff48af455cd6431
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4d2724571d72783076e2ce0f27cdd4f9516720015cb2977f796353e92ac7aae9e93e40e62c7a2e6929c456a1b284e1544e1d088ffd642161df6dcbbfa3ef499
|
7
|
+
data.tar.gz: 0807543a869a4bfe97ef9ed716f223840975c419f76d964dda4eacc88d4d533061b97b614bf44f1d51b2f24a1184c40ffe4535c83cb6917d4480a06f36932e0b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
# v0.2.10
|
2
|
+
- Merge [support group and host variables without yml extention.](https://github.com/volanja/ansible_spec/pull/66) by [okamototk](https://github.com/okamototk)
|
3
|
+
|
1
4
|
# v0.2.9
|
2
5
|
- Merge [#65 return an empty array when the group has no hosts in it](https://github.com/volanja/ansible_spec/pull/65) by [franmrl](https://github.com/franmrl)
|
3
6
|
|
@@ -268,6 +268,27 @@ module AnsibleSpec
|
|
268
268
|
end
|
269
269
|
end
|
270
270
|
|
271
|
+
# param: hash
|
272
|
+
# param: variable file
|
273
|
+
def self.load_vars_file(vars, path)
|
274
|
+
vars_file = path
|
275
|
+
if File.exist?(vars_file)
|
276
|
+
yaml = YAML.load_file(vars_file)
|
277
|
+
if yaml.kind_of?(Hash)
|
278
|
+
vars.merge!(yaml)
|
279
|
+
end
|
280
|
+
else
|
281
|
+
vars_file = path+".yml"
|
282
|
+
if File.exist?(vars_file)
|
283
|
+
yaml = YAML.load_file(vars_file)
|
284
|
+
if yaml.kind_of?(Hash)
|
285
|
+
vars.merge!(yaml)
|
286
|
+
end
|
287
|
+
end
|
288
|
+
end
|
289
|
+
return vars
|
290
|
+
end
|
291
|
+
|
271
292
|
# return: json
|
272
293
|
# {"name"=>"Ansible-Sample-TDD", "hosts"=>["192.168.0.103"], "user"=>"root", "roles"=>["nginx", "mariadb"]}
|
273
294
|
def self.get_properties()
|
@@ -306,33 +327,15 @@ module AnsibleSpec
|
|
306
327
|
end
|
307
328
|
|
308
329
|
# all group
|
309
|
-
|
310
|
-
if File.exist?(vars_file)
|
311
|
-
yaml = YAML.load_file(vars_file)
|
312
|
-
if yaml.kind_of?(Hash)
|
313
|
-
vars.merge!(yaml)
|
314
|
-
end
|
315
|
-
end
|
330
|
+
vars = load_vars_file(vars ,'group_vars/all')
|
316
331
|
|
317
332
|
# each group vars
|
318
333
|
if p[group_idx].has_key?('group')
|
319
|
-
|
320
|
-
if File.exist?(vars_file)
|
321
|
-
yaml = YAML.load_file(vars_file)
|
322
|
-
if yaml.kind_of?(Hash)
|
323
|
-
vars.merge!(yaml)
|
324
|
-
end
|
325
|
-
end
|
334
|
+
vars = load_vars_file(vars ,"group_vars/#{p[group_idx]['group']}")
|
326
335
|
end
|
327
336
|
|
328
337
|
# each host vars
|
329
|
-
|
330
|
-
if File.exist?(vars_file)
|
331
|
-
yaml = YAML.load_file(vars_file)
|
332
|
-
if yaml.kind_of?(Hash)
|
333
|
-
vars.merge!(yaml)
|
334
|
-
end
|
335
|
-
end
|
338
|
+
vars = load_vars_file(vars ,"host_vars/#{host}")
|
336
339
|
|
337
340
|
# site vars
|
338
341
|
if p[group_idx].has_key?('vars')
|
data/lib/ansible_spec/version.rb
CHANGED
data/spec/get_variable_spec.rb
CHANGED
@@ -225,3 +225,33 @@ describe "get_variablesの実行" do
|
|
225
225
|
end
|
226
226
|
end
|
227
227
|
end
|
228
|
+
|
229
|
+
describe "load_vars_fileの実行" do
|
230
|
+
context 'Correct operation : without .yml extension' do
|
231
|
+
# https://github.com/volanja/ansible_spec/pull/66
|
232
|
+
# group_vars/xxx priority is higher than group_vars/xxx.yml.
|
233
|
+
before do
|
234
|
+
@current_dir = Dir.pwd()
|
235
|
+
Dir.chdir('spec/case/load_vars_file/group_all/')
|
236
|
+
vars = Hash.new
|
237
|
+
file = 'group_vars/all'
|
238
|
+
@res = AnsibleSpec.load_vars_file(vars, file)
|
239
|
+
end
|
240
|
+
|
241
|
+
it 'res is hash' do
|
242
|
+
expect(@res.instance_of?(Hash)).to be_truthy
|
243
|
+
end
|
244
|
+
|
245
|
+
it 'exist 1 pair in Hash' do
|
246
|
+
expect(@res.length).to eq 1
|
247
|
+
end
|
248
|
+
|
249
|
+
it 'exist each pair' do
|
250
|
+
expect(@res).to include({'role_var' => 'without .yml extension'})
|
251
|
+
end
|
252
|
+
|
253
|
+
after do
|
254
|
+
Dir.chdir(@current_dir)
|
255
|
+
end
|
256
|
+
end
|
257
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ansible_spec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- volanja
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -163,6 +163,8 @@ files:
|
|
163
163
|
- spec/case/get_variable/roles_default/hosts
|
164
164
|
- spec/case/get_variable/roles_default/roles/test/defaults/main.yml
|
165
165
|
- spec/case/get_variable/roles_default/site.yml
|
166
|
+
- spec/case/load_vars_file/group_all/group_vars/all
|
167
|
+
- spec/case/load_vars_file/group_all/group_vars/all.yml
|
166
168
|
- spec/commands_spec.rb
|
167
169
|
- spec/dependency_spec.rb
|
168
170
|
- spec/dynamic_inventory_spec.rb
|
@@ -228,6 +230,8 @@ test_files:
|
|
228
230
|
- spec/case/get_variable/roles_default/hosts
|
229
231
|
- spec/case/get_variable/roles_default/roles/test/defaults/main.yml
|
230
232
|
- spec/case/get_variable/roles_default/site.yml
|
233
|
+
- spec/case/load_vars_file/group_all/group_vars/all
|
234
|
+
- spec/case/load_vars_file/group_all/group_vars/all.yml
|
231
235
|
- spec/commands_spec.rb
|
232
236
|
- spec/dependency_spec.rb
|
233
237
|
- spec/dynamic_inventory_spec.rb
|