kitchen-ansible 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -0
- data/lib/kitchen-ansible/version.rb +1 -1
- data/lib/kitchen/provisioner/ansible_playbook.rb +26 -0
- data/provisioner_options.md +1 -0
- metadata +2 -2
data/README.md
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
# kitchen-ansible
|
2
|
+
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/kitchen-ansible.svg)](http://badge.fury.io/rb/kitchen-ansible)
|
4
|
+
|
2
5
|
A Test Kitchen Provisioner for Ansible
|
3
6
|
|
4
7
|
The provider works by passing the ansible repository based on attributes in .kitchen.yml & calling ansible-playbook.
|
@@ -81,6 +81,10 @@ module Kitchen
|
|
81
81
|
provisioner.calculate_path('Ansiblefile', :file)
|
82
82
|
end
|
83
83
|
|
84
|
+
default_config :filter_plugins_path do |provisioner|
|
85
|
+
provisioner.calculate_path('filter_plugins', :directory)
|
86
|
+
end
|
87
|
+
|
84
88
|
default_config :requirements_path, false
|
85
89
|
default_config :ansible_verbose, false
|
86
90
|
default_config :ansible_verbosity, 1
|
@@ -271,6 +275,7 @@ module Kitchen
|
|
271
275
|
prepare_addt_dir
|
272
276
|
prepare_host_vars
|
273
277
|
prepare_hosts
|
278
|
+
prepare_filter_plugins
|
274
279
|
info('Finished Preparing files for transfer')
|
275
280
|
|
276
281
|
end
|
@@ -353,6 +358,10 @@ module Kitchen
|
|
353
358
|
File.join(sandbox_path, 'roles')
|
354
359
|
end
|
355
360
|
|
361
|
+
def tmp_filter_plugins_dir
|
362
|
+
File.join(sandbox_path, 'filter_plugins')
|
363
|
+
end
|
364
|
+
|
356
365
|
def ansiblefile
|
357
366
|
config[:ansiblefile_path] || ''
|
358
367
|
end
|
@@ -392,6 +401,11 @@ module Kitchen
|
|
392
401
|
def host_vars
|
393
402
|
config[:host_vars_path].to_s
|
394
403
|
end
|
404
|
+
|
405
|
+
def filter_plugins
|
406
|
+
config[:filter_plugins_path].to_s
|
407
|
+
end
|
408
|
+
|
395
409
|
|
396
410
|
def ansible_debian_version
|
397
411
|
config[:ansible_version] ? "=#{config[:ansible_version]}" : nil
|
@@ -577,6 +591,18 @@ module Kitchen
|
|
577
591
|
end
|
578
592
|
end
|
579
593
|
|
594
|
+
def prepare_filter_plugins
|
595
|
+
info('Preparing filter_plugins')
|
596
|
+
FileUtils.mkdir_p(tmp_filter_plugins_dir)
|
597
|
+
|
598
|
+
if filter_plugins && File.directory?(filter_plugins)
|
599
|
+
debug("Using filter_plugins from #{filter_plugins}")
|
600
|
+
FileUtils.cp_r(Dir.glob("#{filter_plugins}/*.py"), tmp_filter_plugins_dir, remove_destination: true)
|
601
|
+
else
|
602
|
+
info 'nothing to do for filter_plugins'
|
603
|
+
end
|
604
|
+
end
|
605
|
+
|
580
606
|
def resolve_with_librarian
|
581
607
|
Kitchen.mutex.synchronize do
|
582
608
|
Ansible::Librarian.new(ansiblefile, tmp_roles_dir, logger).resolve
|
data/provisioner_options.md
CHANGED
@@ -14,6 +14,7 @@ ansible_omnibus_remote_path | "/opt/ansible" | Server Installation location of a
|
|
14
14
|
roles_path | roles | ansible repo roles directory
|
15
15
|
group_vars_path | group_vars | ansible repo group_vars directory
|
16
16
|
host_vars_path | host_vars | ansible repo hosts directory
|
17
|
+
filter_plugins | filter_plugins | ansible repo filter_plugins directory
|
17
18
|
additional_copy_path | | arbitrary directory to copy into test environment, relative to CWD. (eg, vars)
|
18
19
|
extra_vars | Hash.new | Hash to set the extra_vars passed to ansibile-playbook command
|
19
20
|
playbook | 'site.yml' | playbook for ansible-playbook to run
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-ansible
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
12
|
+
date: 2015-04-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-kitchen
|