vagrant-ansible 0.0.1 → 0.0.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/.gemtest +0 -0
- data/README.md +1 -1
- data/Rakefile +19 -14
- data/lib/vagrant-ansible/provisioner.rb +25 -20
- metadata +9 -8
data/.gemtest
ADDED
File without changes
|
data/README.md
CHANGED
data/Rakefile
CHANGED
@@ -1,22 +1,27 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
|
4
|
+
if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ruby'
|
5
|
+
require 'hoe'
|
5
6
|
|
6
|
-
Hoe.plugin :git
|
7
|
-
Hoe.plugin :gemspec
|
8
|
-
Hoe.plugin :bundler
|
9
|
-
Hoe.plugin :gemcutter
|
10
|
-
Hoe.plugins.delete :rubyforge
|
7
|
+
Hoe.plugin :git
|
8
|
+
Hoe.plugin :gemspec
|
9
|
+
Hoe.plugin :bundler
|
10
|
+
Hoe.plugin :gemcutter
|
11
|
+
Hoe.plugins.delete :rubyforge
|
11
12
|
|
12
|
-
Hoe.spec 'vagrant-ansible' do
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
13
|
+
Hoe.spec 'vagrant-ansible' do
|
14
|
+
developer('Dominik Sander', 'git@dsander.de')
|
15
|
+
self.description ="Develop & test your ansible playbooks with Vagrant"
|
16
|
+
self.summary = "Vagrant-ansible is a provisioning plugin for Vagrant, that makes developing and testing playbooks for ansible easy."
|
17
|
+
|
18
|
+
self.readme_file = 'README.md'
|
19
|
+
self.history_file = 'CHANGELOG.md'
|
20
|
+
self.extra_deps << ["vagrant"]
|
21
|
+
end
|
20
22
|
end
|
21
23
|
|
24
|
+
task :default => :spec
|
25
|
+
task :test => :spec
|
26
|
+
|
22
27
|
# vim: syntax=ruby
|
@@ -3,15 +3,16 @@ require 'tempfile'
|
|
3
3
|
module Vagrant
|
4
4
|
module Provisioners
|
5
5
|
class Ansible < Base
|
6
|
-
VERSION = '0.0.
|
6
|
+
VERSION = '0.0.2'
|
7
7
|
include Util::SafeExec
|
8
8
|
|
9
9
|
class Config < Vagrant::Config::Base
|
10
10
|
attr_accessor :playbook
|
11
11
|
attr_accessor :hosts
|
12
|
+
attr_accessor :inventory_file
|
12
13
|
|
13
14
|
def initialize
|
14
|
-
|
15
|
+
|
15
16
|
end
|
16
17
|
|
17
18
|
def validate(env, errors)
|
@@ -19,7 +20,7 @@ module Vagrant
|
|
19
20
|
if playbook.nil?
|
20
21
|
errors.add(I18n.t("vagrant.provisioners.ansible.no_playbook"))
|
21
22
|
end
|
22
|
-
if hosts.nil?
|
23
|
+
if hosts.nil? and inventory_file.nil?
|
23
24
|
errors.add(I18n.t("vagrant.provisioners.ansible.no_hosts"))
|
24
25
|
end
|
25
26
|
end
|
@@ -32,33 +33,37 @@ module Vagrant
|
|
32
33
|
# This methods yield the path to a temporally created inventory
|
33
34
|
# file.
|
34
35
|
def with_inventory_file(ssh)
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
36
|
+
if not config.inventory_file.nil?
|
37
|
+
yield config.inventory_file
|
38
|
+
else
|
39
|
+
begin
|
40
|
+
forward = env[:vm].config.vm.forwarded_ports.select do |x|
|
41
|
+
x[:guestport] == ssh.guest_port
|
42
|
+
end.first[:hostport]
|
43
|
+
file = Tempfile.new('inventory')
|
44
|
+
file.write("[#{config.hosts}]\n")
|
45
|
+
file.write("#{ssh.host}:#{forward}")
|
46
|
+
file.fsync
|
47
|
+
file.close
|
48
|
+
yield file.path
|
49
|
+
ensure
|
50
|
+
file.unlink
|
51
|
+
end
|
47
52
|
end
|
48
53
|
end
|
49
54
|
|
50
55
|
def provision!
|
51
56
|
ssh = env[:vm].config.ssh
|
52
|
-
|
57
|
+
|
53
58
|
with_inventory_file(ssh) do |inventory_file|
|
54
59
|
puts ["ansible-playbook",
|
55
|
-
"--user=#{ssh.username}",
|
56
|
-
"--inventory-file=#{inventory_file}",
|
60
|
+
"--user=#{ssh.username}",
|
61
|
+
"--inventory-file=#{inventory_file}",
|
57
62
|
"--private-key=#{env[:vm].env.default_private_key_path}",
|
58
63
|
config.playbook].join(' ')
|
59
64
|
safe_exec("ansible-playbook",
|
60
|
-
"--user=#{ssh.username}",
|
61
|
-
"--inventory-file=#{inventory_file}",
|
65
|
+
"--user=#{ssh.username}",
|
66
|
+
"--inventory-file=#{inventory_file}",
|
62
67
|
"--private-key=#{env[:vm].env.default_private_key_path}",
|
63
68
|
config.playbook)
|
64
69
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-ansible
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: vagrant
|
16
|
-
requirement: &
|
16
|
+
requirement: &19992640 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *19992640
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &20005240 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.10'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *20005240
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: hoe
|
38
|
-
requirement: &
|
38
|
+
requirement: &20002620 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '3.0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *20002620
|
47
47
|
description: Develop & test your ansible playbooks with Vagrant
|
48
48
|
email:
|
49
49
|
- git@dsander.de
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- lib/vagrant-ansible.rb
|
62
62
|
- lib/vagrant-ansible/provisioner.rb
|
63
63
|
- lib/vagrant_init.rb
|
64
|
+
- .gemtest
|
64
65
|
homepage: https://github.com/dsander/vagrant-ansible
|
65
66
|
licenses: []
|
66
67
|
post_install_message:
|