kitchen-ansiblepush 0.7.1 → 0.8.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e56c2e6e6fcca8d1216cb2823abe3bba874ad8ce
4
- data.tar.gz: 6d2f7cb65fe9189e7985a060076de5384b54864c
3
+ metadata.gz: 2792ec1be3d5497fa3ba68a8d2a077307e8793a1
4
+ data.tar.gz: 9e6ce1e36d47af5563b4316815cbaaa8d55bf479
5
5
  SHA512:
6
- metadata.gz: d64f716d9605eee6029b13d44a2d09c6ec88fb1bdfdf90aa99327f1213b3cb14738a896704675c3f28d37b613e9d9ee449ce2ac2cf826c188ad28e8b66ed7dd3
7
- data.tar.gz: 890960b45240caf511cf2cd489cdc3524558b0b50ffbf114d9be9a8979d834e05c26b9905045cb69d791582569a8f55e9d83564f18ecf45f80952c876c9cd869
6
+ metadata.gz: 511bb93a0bb4f7d647a8e2721f957419412316e04a5358e5d375d33c74722c4ae5d60fe17bebc8dfaeff6db7464f03b7e808f63f24135be66b719c9e7f049f66
7
+ data.tar.gz: b4cd34996a1ac0db558a734bea519faa109c66bbac4cb55b2c2616de0cb0eca8563492b21e5980768f3110f4a9ef428a3d2ac00e8cdc60f6cd5c3ee0be6dc723
data/README.md CHANGED
@@ -6,9 +6,9 @@
6
6
  A test-kitchen plugin that adds the support for ansible in push mode i.e. normal mode :)
7
7
 
8
8
  ## Intro
9
- This kitchen plugin adds ansible as a provisioner in push mode. Ansible will run from your host rather than run from guest instance(s). That also means your code will not be copied to guest.
9
+ This kitchen plugin adds ansible as a provisioner in push mode. Ansible will run from your host rather than run from guest instance(s). That also means your code will not be copied to guest.
10
10
 
11
- It is designed to just simply work with minimum configuration. Just run as you would normaly do.
11
+ It is designed to just simply work with minimum configuration. Just run as you would normaly do.
12
12
 
13
13
  ## How to install
14
14
 
@@ -80,7 +80,8 @@ If you want to check your code is idempotent you can use the idempotency_test. E
80
80
  If your running ansible V2 you need to white list the callback ```callback_whitelist = changes``` in **ansible.cfg**
81
81
  You can also choose to not to fail if idempotency test fails.
82
82
 
83
- ## Ansible version
83
+ ## Ansible version
84
+
84
85
  Since ansiblepush uses the host to run Ansible. you can simply specify the path of your ansible-playbook executable in your .kitchen.yml
85
86
 
86
87
  ```yaml
@@ -91,18 +92,23 @@ If you want any easy way to manage ansible version [AVM](https://github.com/ahel
91
92
  For further example you can check a matrix test [ansible-usermanage](https://github.com/AutomationWithAnsible/ansible-usermanage/blob/master/.kitchen.yml)
92
93
 
93
94
  ## Disable chef installation
95
+
94
96
  By default chef is installed and serverspec stuff. if you don't want to install
95
97
 
96
98
  ```yaml
97
99
  chef_bootstrap_url: nil
98
100
  ```
101
+
99
102
  ## Instance name
103
+
100
104
  Ansible push generates inventory dynamically you have multiple options to name your instance
101
- *use_instance_name*
102
- *custom_instance_name*
103
105
 
106
+ * *use_instance_name* = false (default): <platform>
107
+ * *use_instance_name* = true: <instance_name>-<platform>
108
+ * *custom_instance_name*: <custom_instance_name>
104
109
 
105
110
  ## Windows support
111
+
106
112
  Kitchen ansiblepush has experimental support.
107
113
  to enable windows support you need to add the following to your *.kitchen.yml*
108
114
 
@@ -118,8 +124,11 @@ provisioner:
118
124
  ansible_connection : "winrm"
119
125
  ...
120
126
  ```
127
+
121
128
  ## Pattern of usage
129
+
122
130
  You can use ansible push with different pattern. I will list some of the ways that I use it, But by no means they are the only patterns.
131
+
123
132
  ### Roles
124
133
 
125
134
  I define my Gemfile in the role. I then run ```bundle install``` and commit my *Gemfile.lock* I also ignore ```.kitchen```
@@ -149,12 +158,14 @@ test
149
158
  ```
150
159
 
151
160
  ## Real example usages
161
+
162
+ - https://github.com/ahelal/ansible-concourse
152
163
  - https://github.com/hellofresh/ansible-deployment
153
164
  - https://github.com/AutomationWithAnsible/ansible-usermanage
154
- - https://github.com/ahelal/ansible-concourse
155
165
  - https://github.com/danrue/ansible-variables
156
166
  - https://github.com/knakayama/kitchen-ansiblepush-demo
157
167
 
158
168
  ## TODO
159
- - Enable environment var ANSIBLE_CALLBACK_WHITELIST="changes" before call
160
- - Tests (PRs for tests is highlight appreciated)
169
+
170
+ * Enable environment var ANSIBLE_CALLBACK_WHITELIST="changes" before call
171
+ * Tests (PRs for tests is highlight appreciated)
@@ -1,6 +1,8 @@
1
- import json
2
1
  import os
3
2
  import errno
3
+ import json as js
4
+ if not hasattr(js, 'dumps'):
5
+ js = js.json
4
6
 
5
7
  try:
6
8
  from ansible.plugins.callback import CallbackBase
@@ -44,7 +46,7 @@ class CallbackModule(CallbackBase):
44
46
 
45
47
  try:
46
48
  with open(self.change_file, 'at') as the_file:
47
- the_file.write(json.dumps(changed_data) + "\n")
49
+ the_file.write(js.dumps(changed_data) + "\n")
48
50
  except Exception, e:
49
51
  print "Ansible callback idempotency: Write to file failed '%s' error:'%s'" % (self.change_file, e)
50
52
  exit(1)
@@ -1,5 +1,5 @@
1
1
  module Kitchen
2
2
  module AnsiblePush
3
- VERSION = '0.7.1'.freeze
3
+ VERSION = '0.8.0'.freeze
4
4
  end
5
5
  end
@@ -95,6 +95,8 @@ module Kitchen
95
95
  return @machine_name if defined? @machine_name
96
96
  @machine_name = if config[:use_instance_name]
97
97
  instance.name.gsub(/[<>]/, '')
98
+ elsif config[:custom_instance_name]
99
+ config[:custom_instance_name]
98
100
  else
99
101
  instance.name.gsub(/[<>]/, '').split('-').drop(1).join('-')
100
102
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-ansiblepush
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adham Helal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-07 00:00:00.000000000 Z
11
+ date: 2017-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-kitchen