kitchen-ansible 0.0.16 → 0.0.17
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/kitchen-ansible.gemspec +1 -0
- data/lib/kitchen-ansible/version.rb +1 -1
- data/lib/kitchen/provisioner/ansible/config.rb +139 -0
- data/lib/kitchen/provisioner/ansible_playbook.rb +64 -87
- data/provisioner_options.md +9 -8
- metadata +18 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7e743c9802fe1bd941d329f712d7e7f8ddbb9d6c
|
|
4
|
+
data.tar.gz: a8191edb41ddd5114262b301f397c149cff74a21
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4987150939c35f900f03d315fba877e5cfa930bb4c2a2f5e57e4887d3e00a74bed4876bbc5a881cc951c3b119b38075e543aaa2108350a28b58bc2b0f31acf21
|
|
7
|
+
data.tar.gz: a28d0b4f9c54f216113eb1a3af8948a1b5aa6af13533a04db01854377151272e659858b4bef72403cac98d9939fb25ca36210de861fe80606e72ccbc7ecfc66f
|
data/kitchen-ansible.gemspec
CHANGED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Author:: Michael Heap (<m@michaelheap.com>)
|
|
4
|
+
#
|
|
5
|
+
# Copyright (C) 2015 Michael Heap
|
|
6
|
+
#
|
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
8
|
+
# you may not use this file except in compliance with the License.
|
|
9
|
+
# You may obtain a copy of the License at
|
|
10
|
+
#
|
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
#
|
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
# See the License for the specific language governing permissions and
|
|
17
|
+
# limitations under the License.
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
require 'json'
|
|
21
|
+
|
|
22
|
+
module Kitchen
|
|
23
|
+
|
|
24
|
+
module Provisioner
|
|
25
|
+
|
|
26
|
+
module Ansible
|
|
27
|
+
#
|
|
28
|
+
# Ansible Playbook provisioner.
|
|
29
|
+
#
|
|
30
|
+
class Config
|
|
31
|
+
include Kitchen::Configurable
|
|
32
|
+
|
|
33
|
+
attr_reader :instance
|
|
34
|
+
|
|
35
|
+
default_config :ansible_verbose, false
|
|
36
|
+
default_config :require_ansible_omnibus, false
|
|
37
|
+
default_config :ansible_omnibus_url, nil
|
|
38
|
+
default_config :ansible_omnibus_remote_path, '/opt/ansible'
|
|
39
|
+
default_config :ansible_version, nil
|
|
40
|
+
default_config :require_ansible_repo, true
|
|
41
|
+
default_config :extra_vars, {}
|
|
42
|
+
default_config :tags, []
|
|
43
|
+
default_config :ansible_apt_repo, "ppa:ansible/ansible"
|
|
44
|
+
default_config :ansible_yum_repo, "https://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm"
|
|
45
|
+
default_config :chef_bootstrap_url, "https://www.getchef.com/chef/install.sh"
|
|
46
|
+
default_config :require_chef_for_busser, false
|
|
47
|
+
default_config :require_ruby_for_busser, true
|
|
48
|
+
default_config :requirements_path, false
|
|
49
|
+
default_config :ansible_verbose, false
|
|
50
|
+
default_config :ansible_verbosity, 1
|
|
51
|
+
default_config :ansible_check, false
|
|
52
|
+
default_config :ansible_diff, false
|
|
53
|
+
default_config :ansible_platform, ''
|
|
54
|
+
default_config :update_package_repos, true
|
|
55
|
+
|
|
56
|
+
default_config :playbook do |provisioner|
|
|
57
|
+
provisioner.calculate_path('default.yml', :file) or
|
|
58
|
+
raise "No playbook found or specified! Please either set a playbook in your .kitchen.yml config, or create a default wrapper playbook for your role in test/integration/playbooks/default.yml or test/integration/default.yml"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
default_config :roles_path do |provisioner|
|
|
62
|
+
provisioner.calculate_path('roles') or
|
|
63
|
+
raise 'No roles_path detected. Please specify one in .kitchen.yml'
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
default_config :group_vars_path do |provisioner|
|
|
67
|
+
provisioner.calculate_path('group_vars', :directory)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
default_config :additional_copy_path do |provisioner|
|
|
71
|
+
provisioner.calculate_path('additional_copy', :directory)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
default_config :host_vars_path do |provisioner|
|
|
75
|
+
provisioner.calculate_path('host_vars', :directory)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
default_config :modules_path do |provisioner|
|
|
79
|
+
provisioner.calculate_path('modules', :directory)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
default_config :ansiblefile_path do |provisioner|
|
|
83
|
+
provisioner.calculate_path('Ansiblefile', :file)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
default_config :filter_plugins_path do |provisioner|
|
|
87
|
+
provisioner.calculate_path('filter_plugins', :directory)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
default_config :ansible_vault_password_file do |provisioner|
|
|
91
|
+
provisioner.calculate_path('ansible-vault-password', :file)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def initialize(config = {})
|
|
95
|
+
init_config(config)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def set_instance(instance)
|
|
99
|
+
@instance = instance
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def []=(attr, val)
|
|
103
|
+
config[attr] = val
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def [](attr)
|
|
107
|
+
config[attr]
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def key?(k)
|
|
111
|
+
return config.key?(k)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def calculate_path(path, type = :directory)
|
|
115
|
+
|
|
116
|
+
if not instance
|
|
117
|
+
raise "Please ensure that an instance is provided before calling calculate_path"
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
base = config[:test_base_path]
|
|
121
|
+
candidates = []
|
|
122
|
+
candidates << File.join(base, instance.suite.name, 'ansible', path)
|
|
123
|
+
candidates << File.join(base, instance.suite.name, path)
|
|
124
|
+
candidates << File.join(base, path)
|
|
125
|
+
candidates << File.join(Dir.pwd, path)
|
|
126
|
+
candidates << File.join(Dir.pwd) if path == 'roles'
|
|
127
|
+
|
|
128
|
+
candidates.find do |c|
|
|
129
|
+
type == :directory ? File.directory?(c) : File.file?(c)
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
end
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
require 'json'
|
|
24
24
|
require 'kitchen/provisioner/base'
|
|
25
|
+
require 'kitchen/provisioner/ansible/config'
|
|
25
26
|
require 'kitchen/provisioner/ansible/librarian'
|
|
26
27
|
|
|
27
28
|
module Kitchen
|
|
@@ -40,63 +41,16 @@ module Kitchen
|
|
|
40
41
|
class AnsiblePlaybook < Base
|
|
41
42
|
attr_accessor :tmp_dir
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
default_config :ansible_version, nil
|
|
47
|
-
default_config :require_ansible_repo, true
|
|
48
|
-
default_config :extra_vars, {}
|
|
49
|
-
default_config :tags, []
|
|
50
|
-
default_config :ansible_apt_repo, "ppa:ansible/ansible"
|
|
51
|
-
default_config :ansible_yum_repo, "https://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm"
|
|
52
|
-
default_config :chef_bootstrap_url, "https://www.getchef.com/chef/install.sh"
|
|
53
|
-
|
|
54
|
-
default_config :playbook do |provisioner|
|
|
55
|
-
provisioner.calculate_path('default.yml', :file) or
|
|
56
|
-
raise "No playbook found or specified! Please either set a playbook in your .kitchen.yml config, or create a default wrapper playbook for your role in test/integration/playbooks/default.yml or test/integration/default.yml"
|
|
44
|
+
def initialize(provisioner_config)
|
|
45
|
+
config = Kitchen::Provisioner::Ansible::Config.new(provisioner_config)
|
|
46
|
+
super(config)
|
|
57
47
|
end
|
|
58
48
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
def finalize_config!(instance)
|
|
50
|
+
config.set_instance(instance)
|
|
51
|
+
super(instance)
|
|
62
52
|
end
|
|
63
53
|
|
|
64
|
-
default_config :group_vars_path do |provisioner|
|
|
65
|
-
provisioner.calculate_path('group_vars', :directory)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
default_config :additional_copy_path do |provisioner|
|
|
69
|
-
provisioner.calculate_path('additional_copy', :directory)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
default_config :host_vars_path do |provisioner|
|
|
73
|
-
provisioner.calculate_path('host_vars', :directory)
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
default_config :modules_path do |provisioner|
|
|
77
|
-
provisioner.calculate_path('modules', :directory)
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
default_config :ansiblefile_path do |provisioner|
|
|
81
|
-
provisioner.calculate_path('Ansiblefile', :file)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
default_config :filter_plugins_path do |provisioner|
|
|
85
|
-
provisioner.calculate_path('filter_plugins', :directory)
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
default_config :ansible_vault_password_file do |provisioner|
|
|
89
|
-
provisioner.calculate_path('ansible-vault-password', :file)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
default_config :requirements_path, false
|
|
93
|
-
default_config :ansible_verbose, false
|
|
94
|
-
default_config :ansible_verbosity, 1
|
|
95
|
-
default_config :ansible_check, false
|
|
96
|
-
default_config :ansible_diff, false
|
|
97
|
-
default_config :ansible_platform, ''
|
|
98
|
-
default_config :update_package_repos, true
|
|
99
|
-
|
|
100
54
|
def verbosity_level(level = 1)
|
|
101
55
|
level = level.to_sym if level.is_a? String
|
|
102
56
|
log_levels = { :info => 1, :warn => 2, :debug => 3, :trace => 4 }
|
|
@@ -111,21 +65,6 @@ module Kitchen
|
|
|
111
65
|
end
|
|
112
66
|
end
|
|
113
67
|
|
|
114
|
-
def calculate_path(path, type = :directory)
|
|
115
|
-
base = config[:test_base_path]
|
|
116
|
-
candidates = []
|
|
117
|
-
candidates << File.join(base, instance.suite.name, 'ansible', path)
|
|
118
|
-
candidates << File.join(base, instance.suite.name, path)
|
|
119
|
-
candidates << File.join(base, path)
|
|
120
|
-
candidates << File.join(Dir.pwd, path)
|
|
121
|
-
candidates << File.join(Dir.pwd) if path == 'roles'
|
|
122
|
-
|
|
123
|
-
debug("Calculating path for #{path}, candidates are: #{candidates.to_s}")
|
|
124
|
-
candidates.find do |c|
|
|
125
|
-
type == :directory ? File.directory?(c) : File.file?(c)
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
|
-
|
|
129
68
|
def install_command
|
|
130
69
|
return unless config[:require_ansible_omnibus] or config[:require_ansible_repo]
|
|
131
70
|
if config[:require_ansible_omnibus]
|
|
@@ -143,7 +82,7 @@ module Kitchen
|
|
|
143
82
|
do_download #{config[:ansible_omnibus_url]} /tmp/ansible_install.sh
|
|
144
83
|
#{sudo('sh')} /tmp/ansible_install.sh #{version}
|
|
145
84
|
fi
|
|
146
|
-
#{
|
|
85
|
+
#{install_busser_prereqs}
|
|
147
86
|
INSTALL
|
|
148
87
|
else
|
|
149
88
|
case ansible_platform
|
|
@@ -158,7 +97,7 @@ module Kitchen
|
|
|
158
97
|
export DEBIAN_FRONTEND=noninteractive
|
|
159
98
|
## 13.10, 14.04 include add-apt-repository in software-properties-common
|
|
160
99
|
#{sudo('apt-get')} -y install software-properties-common
|
|
161
|
-
## 10.04, 12.04 include add-apt-repository in
|
|
100
|
+
## 10.04, 12.04 include add-apt-repository in
|
|
162
101
|
#{sudo('apt-get')} -y install python-software-properties
|
|
163
102
|
# #{sudo('wget')} #{ansible_apt_repo}
|
|
164
103
|
# #{sudo('dpkg')} -i #{ansible_apt_repo_file}
|
|
@@ -175,7 +114,7 @@ module Kitchen
|
|
|
175
114
|
## This test works on ubuntu to test if ansible repo has been installed via rquillo ppa repo
|
|
176
115
|
## if [ $(apt-cache madison ansible | grep -c rquillo ) -gt 0 ]; then echo 'success'; else echo 'fail'; fi
|
|
177
116
|
fi
|
|
178
|
-
#{
|
|
117
|
+
#{install_busser_prereqs}
|
|
179
118
|
INSTALL
|
|
180
119
|
when "redhat", "centos", "fedora"
|
|
181
120
|
info("Installing ansible on #{ansible_platform}")
|
|
@@ -183,9 +122,9 @@ module Kitchen
|
|
|
183
122
|
if [ ! $(which ansible) ]; then
|
|
184
123
|
#{sudo('rpm')} -ivh #{ansible_yum_repo}
|
|
185
124
|
#{update_packages_redhat_cmd}
|
|
186
|
-
#{sudo('yum')} -y install ansible#{ansible_redhat_version} libselinux-python
|
|
125
|
+
#{sudo('yum')} -y install ansible#{ansible_redhat_version} libselinux-python git
|
|
187
126
|
fi
|
|
188
|
-
#{
|
|
127
|
+
#{install_busser_prereqs}
|
|
189
128
|
INSTALL
|
|
190
129
|
else
|
|
191
130
|
info("Installing ansible, will try to determine platform os")
|
|
@@ -194,16 +133,16 @@ module Kitchen
|
|
|
194
133
|
if [ -f /etc/centos-release ] || [ -f /etc/redhat-release ]; then
|
|
195
134
|
#{sudo('rpm')} -ivh #{ansible_yum_repo}
|
|
196
135
|
#{update_packages_redhat_cmd}
|
|
197
|
-
#{sudo('yum')} -y install ansible#{ansible_redhat_version} libselinux-python
|
|
136
|
+
#{sudo('yum')} -y install ansible#{ansible_redhat_version} libselinux-python git
|
|
198
137
|
else
|
|
199
138
|
#{update_packages_debian_cmd}
|
|
200
139
|
## Install apt-utils to silence debconf warning: http://serverfault.com/q/358943/77156
|
|
201
|
-
#{sudo('apt-get')} -y install apt-utils
|
|
140
|
+
#{sudo('apt-get')} -y install apt-utils git
|
|
202
141
|
## Fix debconf tty warning messages
|
|
203
142
|
export DEBIAN_FRONTEND=noninteractive
|
|
204
143
|
## 13.10, 14.04 include add-apt-repository in software-properties-common
|
|
205
144
|
#{sudo('apt-get')} -y install software-properties-common
|
|
206
|
-
## 10.04, 12.04 include add-apt-repository in
|
|
145
|
+
## 10.04, 12.04 include add-apt-repository in
|
|
207
146
|
#{sudo('apt-get')} -y install python-software-properties
|
|
208
147
|
# #{sudo('wget')} #{ansible_apt_repo}
|
|
209
148
|
# #{sudo('dpkg')} -i #{ansible_apt_repo_file}
|
|
@@ -221,13 +160,13 @@ module Kitchen
|
|
|
221
160
|
## if [ $(apt-cache madison ansible | grep -c rquillo ) -gt 0 ]; then echo 'success'; else echo 'fail'; fi
|
|
222
161
|
fi
|
|
223
162
|
fi
|
|
224
|
-
#{
|
|
163
|
+
#{install_busser_prereqs}
|
|
225
164
|
INSTALL
|
|
226
165
|
end
|
|
227
166
|
end
|
|
228
167
|
end
|
|
229
168
|
|
|
230
|
-
def
|
|
169
|
+
def install_busser_prereqs
|
|
231
170
|
install = ''
|
|
232
171
|
install << <<-INSTALL
|
|
233
172
|
#{Util.shell_helpers}
|
|
@@ -238,12 +177,42 @@ module Kitchen
|
|
|
238
177
|
#{sudo('ln')} -s $L /usr/bin/ruby
|
|
239
178
|
fi
|
|
240
179
|
INSTALL
|
|
241
|
-
|
|
180
|
+
|
|
181
|
+
if require_ruby_for_busser
|
|
182
|
+
install << <<-INSTALL
|
|
183
|
+
if [ -f /etc/centos-release ] || [ -f /etc/redhat-release ]; then
|
|
184
|
+
rhelversion=$(cat /etc/redhat-release | grep 'release 6')
|
|
185
|
+
# For CentOS6/RHEL6 install ruby from SCL
|
|
186
|
+
if [ -n "$rhelversion" ]; then
|
|
187
|
+
if [ ! -d "/opt/rh/ruby193" ]; then
|
|
188
|
+
echo "-----> Installing ruby SCL in CentOS6/RHEL6 to install busser to run tests"
|
|
189
|
+
#{sudo('yum')} install -y centos-release-SCL
|
|
190
|
+
#{sudo('yum')} install -y ruby193
|
|
191
|
+
#{sudo('yum')} install -y ruby193-ruby-devel
|
|
192
|
+
echo "-----> Enabling ruby193"
|
|
193
|
+
source /opt/rh/ruby193/enable
|
|
194
|
+
echo "/opt/rh/ruby193/root/usr/lib64" | sudo tee -a /etc/ld.so.conf
|
|
195
|
+
sudo ldconfig
|
|
196
|
+
sudo ln -s /opt/rh/ruby193/root/usr/bin/ruby /usr/bin/ruby
|
|
197
|
+
sudo ln -s /opt/rh/ruby193/root/usr/bin/gem /usr/bin/gem
|
|
198
|
+
fi
|
|
199
|
+
else
|
|
200
|
+
if [ ! $(which ruby) ]; then
|
|
201
|
+
#{update_packages_redhat_cmd}
|
|
202
|
+
#{sudo('yum')} -y install ruby ruby-devel
|
|
203
|
+
fi
|
|
204
|
+
fi
|
|
205
|
+
else
|
|
206
|
+
if [ ! $(which ruby) ]; then
|
|
207
|
+
#{update_packages_debian_cmd}
|
|
208
|
+
#{sudo('apt-get')} -y install ruby1.9.1 ruby1.9.1-dev
|
|
209
|
+
fi
|
|
210
|
+
fi
|
|
211
|
+
INSTALL
|
|
212
|
+
|
|
213
|
+
elsif require_chef_for_busser && chef_url then
|
|
242
214
|
install << <<-INSTALL
|
|
243
215
|
# install chef omnibus so that busser works as this is needed to run tests :(
|
|
244
|
-
# TODO: work out how to install enough ruby
|
|
245
|
-
# and set busser: { :ruby_bindir => '/usr/bin/ruby' } so that we dont need the
|
|
246
|
-
# whole chef client
|
|
247
216
|
if [ ! -d "/opt/chef" ]
|
|
248
217
|
then
|
|
249
218
|
echo "-----> Installing Chef Omnibus to install busser to run tests"
|
|
@@ -409,9 +378,9 @@ module Kitchen
|
|
|
409
378
|
end
|
|
410
379
|
|
|
411
380
|
def host_vars
|
|
412
|
-
|
|
381
|
+
config[:host_vars_path].to_s
|
|
413
382
|
end
|
|
414
|
-
|
|
383
|
+
|
|
415
384
|
def filter_plugins
|
|
416
385
|
config[:filter_plugins_path].to_s
|
|
417
386
|
end
|
|
@@ -495,7 +464,15 @@ module Kitchen
|
|
|
495
464
|
def chef_url
|
|
496
465
|
config[:chef_bootstrap_url]
|
|
497
466
|
end
|
|
498
|
-
|
|
467
|
+
|
|
468
|
+
def require_ruby_for_busser
|
|
469
|
+
config[:require_ruby_for_busser]
|
|
470
|
+
end
|
|
471
|
+
|
|
472
|
+
def require_chef_for_busser
|
|
473
|
+
config[:require_chef_for_busser]
|
|
474
|
+
end
|
|
475
|
+
|
|
499
476
|
def prepare_roles
|
|
500
477
|
info('Preparing roles')
|
|
501
478
|
debug("Using roles from #{roles}")
|
|
@@ -505,7 +482,7 @@ module Kitchen
|
|
|
505
482
|
if galaxy_requirements
|
|
506
483
|
FileUtils.cp(galaxy_requirements, File.join(sandbox_path, galaxy_requirements))
|
|
507
484
|
end
|
|
508
|
-
|
|
485
|
+
|
|
509
486
|
# Detect whether we are running tests on a role
|
|
510
487
|
# If so, make sure to copy into VM so dir structure is like: /tmp/kitchen/roles/role_name
|
|
511
488
|
|
|
@@ -540,7 +517,7 @@ module Kitchen
|
|
|
540
517
|
|
|
541
518
|
|
|
542
519
|
# localhost ansible_connection=local
|
|
543
|
-
|
|
520
|
+
# [example_servers]
|
|
544
521
|
# localhost
|
|
545
522
|
def prepare_hosts
|
|
546
523
|
info('Preparing hosts file')
|
data/provisioner_options.md
CHANGED
|
@@ -6,29 +6,30 @@ key | default value | Notes
|
|
|
6
6
|
ansible_version | "latest"| desired version, affects apt installs
|
|
7
7
|
ansible_platform | naively tries to determine | OS platform of server
|
|
8
8
|
require_ansible_repo | true | Set if using a ansible install from yum or apt repo
|
|
9
|
-
ansible_apt_repo | "ppa:ansible/ansible" | apt repo
|
|
10
|
-
ansible_yum_repo |
|
|
11
|
-
| /pub/epel/6/i386/epel-release-6-8.noarch.rpm" |
|
|
12
|
-
require_ansible_omnibus | false | Set if using omnibus ansible install
|
|
13
|
-
ansible_omnibus_url | | omnibus ansible install location.
|
|
14
|
-
ansible_omnibus_remote_path | "/opt/ansible" | Server Installation location of an omnibus ansible install.
|
|
9
|
+
ansible_apt_repo | "ppa:ansible/ansible" | apt repo. see https://launchpad.net /~ansible/+archive/ubuntu/ansible or rquillo/ansible
|
|
10
|
+
ansible_yum_repo | https://download.fedoraproject.org /pub/epel/6/i386/epel-release-6-8.noarch.rpm | yum repo
|
|
15
11
|
roles_path | roles | ansible repo roles directory
|
|
16
12
|
group_vars_path | group_vars | ansible repo group_vars directory
|
|
17
13
|
host_vars_path | host_vars | ansible repo hosts directory
|
|
18
14
|
filter_plugins | filter_plugins | ansible repo filter_plugins directory
|
|
19
15
|
additional_copy_path | | arbitrary array of files and directories to copy into test environment, relative to CWD. (eg, vars or included playbooks)
|
|
20
16
|
extra_vars | Hash.new | Hash to set the extra_vars passed to ansibile-playbook command
|
|
21
|
-
playbook | '
|
|
17
|
+
playbook | 'default.yml' | playbook for ansible-playbook to run
|
|
22
18
|
modules_path | | ansible repo manifests directory
|
|
23
19
|
ansible_verbose| false| Extra information logging
|
|
24
20
|
ansible_verbosity| 1| Sets the verbosity flag appropriately (e.g.: `1 => '-v', 2 => '-vv', 3 => '-vvv" ...`) Valid values are one of: `1, 2, 3, 4` OR `:info, :warn, :debug, :trace`.
|
|
25
21
|
ansible_check| false| Sets the `--check` flag when running Ansible
|
|
26
22
|
ansible_diff| false| Sets the `--diff` flag when running Ansible
|
|
27
23
|
update_package_repos| true| update OS repository metadata
|
|
28
|
-
|
|
24
|
+
require_ruby_for_busser|true|install ruby to run busser for tests
|
|
29
25
|
ansiblefile_path | | Path to Ansiblefile
|
|
30
26
|
requirements_path | | Path to ansible-galaxy requirements
|
|
31
27
|
ansible_vault_password_file| | Path of Ansible Vault Password File
|
|
28
|
+
require_ansible_omnibus | false | Set if using omnibus ansible install
|
|
29
|
+
ansible_omnibus_url | | omnibus ansible install location.
|
|
30
|
+
ansible_omnibus_remote_path | "/opt/ansible" | Server Installation location of an omnibus ansible install.
|
|
31
|
+
require_chef_for_busser|false|install chef to run busser for tests. NOTE: kitchen 1.4 only requires ruby to run busser so this is not required.
|
|
32
|
+
chef_bootstrap_url |https://www.getchef.com /chef/install.sh| the chef install
|
|
32
33
|
|
|
33
34
|
## Configuring Provisioner Options
|
|
34
35
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
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.17
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Neill Turner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-06-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|
|
@@ -52,6 +52,20 @@ dependencies:
|
|
|
52
52
|
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: rake
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
55
69
|
- !ruby/object:Gem::Dependency
|
|
56
70
|
name: librarian-ansible
|
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -84,6 +98,7 @@ files:
|
|
|
84
98
|
- README.md
|
|
85
99
|
- kitchen-ansible.gemspec
|
|
86
100
|
- lib/kitchen-ansible/version.rb
|
|
101
|
+
- lib/kitchen/provisioner/ansible/config.rb
|
|
87
102
|
- lib/kitchen/provisioner/ansible/librarian.rb
|
|
88
103
|
- lib/kitchen/provisioner/ansible_playbook.rb
|
|
89
104
|
- provisioner_options.md
|
|
@@ -107,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
107
122
|
version: '0'
|
|
108
123
|
requirements: []
|
|
109
124
|
rubyforge_project: "[none]"
|
|
110
|
-
rubygems_version: 2.2.
|
|
125
|
+
rubygems_version: 2.2.3
|
|
111
126
|
signing_key:
|
|
112
127
|
specification_version: 4
|
|
113
128
|
summary: ansible provisioner for test-kitchen
|