vagrant-ansible_auto 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d4bb6c4215e1b0c8f9aeb522426dd522a743e26
4
- data.tar.gz: 2921234cbcc88bda96d0bde9e1d8ca456f36dbe9
3
+ metadata.gz: 86bbf45cb65b33f971d3877a02f1290ff18a8424
4
+ data.tar.gz: 482b76a61c9dd6259936b188c4581bfdca21cf75
5
5
  SHA512:
6
- metadata.gz: 500890578628075bea826662ef985ba8b9007de9454c17ca1078564124710cf7f09abb56ce171897674d0ca47d5a1846d7f653c1c81003feb90317775c606708
7
- data.tar.gz: e8d3f80ab494637c2267da56e8aee5d1b67eea39f2e549e3fd8807a2223f75dba0a50256ddf7957e440645ffa07531ce5c6343ef9e3d369d7e2cc27e59e545e5
6
+ metadata.gz: 2ece562c557c5a437ecd86d24f424c482de6f4106f18bc20709a8451901bff83c4bbd79a3f762c388799d6197ea3b9f8bbfa649386b91e0a2756cae292f7b1e0
7
+ data.tar.gz: '08e522fb58ea6f9347270e46cd0a973aad935c909e31d33efdd926858c98bc7cb6e3c349e68c67d037016dd68dbdbdc78fd03408dacdba3db9c86283b0accc6b'
data/CHANGELOG.md CHANGED
@@ -6,6 +6,15 @@ IMPROVEMENTS:
6
6
 
7
7
  BUG FIXES:
8
8
 
9
+ ## 0.2.2 (August 23, 2017)
10
+
11
+ BUG FIXES:
12
+
13
+ - `vagrant ansible inventory --help` no longer prints an inventory after the
14
+ help text
15
+ - `vagrant ansible --help` shows available subcommands rather than an `I18n`
16
+ "translation missing" error message
17
+
9
18
  ## 0.2.1 (July 29, 2017)
10
19
 
11
20
  BUG FIXES:
data/Gemfile CHANGED
@@ -5,7 +5,9 @@ source 'https://rubygems.org'
5
5
  group :development do
6
6
  gem 'pry'
7
7
  gem 'vagrant', github: 'mitchellh/vagrant'
8
- gem 'vagrant-spec', github: 'mitchellh/vagrant-spec'
8
+ # Lock to commit just before update to rspec ~> 3.5.0, which broke the whole
9
+ # dang thing :(
10
+ gem 'vagrant-spec', github: 'mitchellh/vagrant-spec', ref: '2f0fb10'
9
11
  end
10
12
 
11
13
  group :plugins do
data/Gemfile.lock CHANGED
@@ -1,6 +1,7 @@
1
1
  GIT
2
2
  remote: git://github.com/mitchellh/vagrant-spec.git
3
3
  revision: 2f0fb10862b2d19861c584be9d728080ba1f5d33
4
+ ref: 2f0fb10
4
5
  specs:
5
6
  vagrant-spec (0.0.1)
6
7
  childprocess (~> 0.6.0)
@@ -10,7 +11,7 @@ GIT
10
11
 
11
12
  GIT
12
13
  remote: git://github.com/mitchellh/vagrant.git
13
- revision: a7b228eb698352638270dc076d0385fa324ca187
14
+ revision: dce71a5a27c93d97c9262e7562c0fd5abfc2fd9a
14
15
  specs:
15
16
  vagrant (1.9.8.dev)
16
17
  childprocess (~> 0.6.0)
@@ -33,7 +34,7 @@ GIT
33
34
  PATH
34
35
  remote: .
35
36
  specs:
36
- vagrant-ansible_auto (0.2.1)
37
+ vagrant-ansible_auto (0.2.2)
37
38
 
38
39
  GEM
39
40
  remote: https://rubygems.org/
@@ -120,11 +121,11 @@ GEM
120
121
  ruby_dep (1.3.1)
121
122
  rubyntlm (0.6.2)
122
123
  rubyzip (1.2.1)
123
- simplecov (0.14.1)
124
+ simplecov (0.15.0)
124
125
  docile (~> 1.1.0)
125
126
  json (>= 1.8, < 3)
126
127
  simplecov-html (~> 0.10.0)
127
- simplecov-html (0.10.1)
128
+ simplecov-html (0.10.2)
128
129
  slop (3.6.0)
129
130
  term-ansicolor (1.2.2)
130
131
  tins (~> 0.8)
data/Rakefile CHANGED
@@ -3,7 +3,9 @@
3
3
  require 'bundler/gem_tasks'
4
4
 
5
5
  require 'rspec/core/rake_task'
6
- RSpec::Core::RakeTask.new(:spec)
6
+ RSpec::Core::RakeTask.new(:spec).tap do |rspec_task|
7
+ rspec_task.pattern = './spec/unit{,/*/**}/*_spec.rb'
8
+ end
7
9
 
8
10
  require 'rubocop/rake_task'
9
11
  RuboCop::RakeTask.new
@@ -11,4 +13,17 @@ RuboCop::RakeTask.new
11
13
  require 'yard'
12
14
  YARD::Rake::YardocTask.new
13
15
 
14
- task default: %i[rubocop spec]
16
+ desc 'Run vagrant-spec'
17
+ namespace 'vagrant-spec' do
18
+ desc 'Output vagrant-spec components'
19
+ task :components do
20
+ sh('vagrant-spec', 'components')
21
+ end
22
+
23
+ desc 'Run vagrant-spec tests'
24
+ task :test do
25
+ sh('vagrant-spec', 'test', '--components=cli/ansible-inventory')
26
+ end
27
+ end
28
+
29
+ task default: %i[rubocop spec vagrant-spec:test]
data/Vagrantfile ADDED
@@ -0,0 +1 @@
1
+ ./spec/acceptance/support-skeletons/cli/ansible-inventory/Vagrantfile
@@ -9,7 +9,7 @@ module VagrantPlugins
9
9
  class Inventory < Vagrant.plugin(2, :command)
10
10
  # @return [String] summary of the +ansible inventory+ command
11
11
  def self.synopsis
12
- 'dynamic ansible inventory'
12
+ I18n.t('vagrant.ansible_auto.command.inventory.synopsis')
13
13
  end
14
14
 
15
15
  # Print the Ansible inventory for the current Vagrantfile.
@@ -23,26 +23,26 @@ module VagrantPlugins
23
23
  operation = :as_ini
24
24
 
25
25
  opts = OptionParser.new do |op|
26
- op.banner = 'Usage: vagrant ansible inventory [<options>]'
26
+ op.banner = I18n.t('vagrant.ansible_auto.command.inventory.usage')
27
27
  op.separator ''
28
- op.separator 'Available options:'
28
+ op.separator I18n.t('vagrant.ansible_auto.command.inventory.available_options')
29
29
 
30
- op.on('--ini', 'List hosts as INI (default)') do
30
+ op.on('--ini', I18n.t('vagrant.ansible_auto.command.inventory.option.ini')) do
31
31
  operation = :as_ini
32
32
  end
33
33
 
34
- op.on('--json', 'List all hosts as JSON') do
34
+ op.on('--json', I18n.t('vagrant.ansible_auto.command.inventory.option.json')) do
35
35
  operation = :as_json
36
36
  end
37
37
 
38
- op.on('--pretty', 'List all hosts as pretty JSON') do
38
+ op.on('--pretty', I18n.t('vagrant.ansible_auto.command.inventory.option.pretty')) do
39
39
  operation = :as_pretty_json
40
40
  end
41
41
  end
42
42
 
43
43
  machines = parse_options(opts)
44
44
 
45
- @env.ui.info send(operation, machines), prefix: false
45
+ @env.ui.info send(operation, machines), prefix: false unless machines.nil?
46
46
 
47
47
  0
48
48
  end
@@ -64,8 +64,9 @@ module VagrantPlugins
64
64
  def build_inventory(machines)
65
65
  with_target_vms(machines) {}.each_with_object(AnsibleAuto::Inventory.new) do |machine, inventory|
66
66
  unless machine.state.id == :running
67
- @env.ui.warn "machine #{machine.name} is not running; falling back to default hostvar values", channel: :error
67
+ @env.ui.warn I18n.t('vagrant.ansible_auto.command.inventory.diag.not_running', machine_name: machine.name), channel: :error
68
68
  end
69
+
69
70
  inventory.merge!(machine.config.ansible.inventory)
70
71
  inventory.add_host(machine)
71
72
  end
@@ -13,7 +13,7 @@ module VagrantPlugins
13
13
  class Root < Vagrant.plugin(2, :command)
14
14
  # @return [String] summary of the +ansible+ command
15
15
  def self.synopsis
16
- 'build ansible inventory'
16
+ I18n.t('vagrant.ansible_auto.command.root.synopsis')
17
17
  end
18
18
 
19
19
  # Execute the +ansible+ command
@@ -34,17 +34,17 @@ module VagrantPlugins
34
34
  private
35
35
 
36
36
  def prepare_options
37
- OptionParser.new do |o|
38
- o.banner = 'Usage: vagrant ansible <subcommand> [<options>]'
39
- o.separator ''
40
- o.separator 'Available subcommands:'
37
+ OptionParser.new do |op|
38
+ op.banner = I18n.t('vagrant.ansible_auto.command.root.usage')
39
+ op.separator ''
40
+ op.separator I18n.t('vagrant.ansible_auto.command.root.available_subcommands')
41
41
 
42
42
  subcommands.keys.sort.each do |k|
43
- o.separator " #{k}"
43
+ op.separator " #{k}"
44
44
  end
45
45
 
46
- o.separator ''
47
- o.separator 'For help on any individual subcommand run `vagrant ansible <subcommand> -h`'
46
+ op.separator ''
47
+ op.separator I18n.t('vagrant.ansible_auto.command.root.subcommand_help')
48
48
  end
49
49
  end
50
50
 
@@ -144,7 +144,7 @@ module VagrantPlugins
144
144
  # @param [Array] members the hosts to add to the group
145
145
  # @return [Set] the members of the added group
146
146
  def add_group(group, *members)
147
- raise InvalidGroupNameError, group: group if group.to_s == UNNAMED_GROUP
147
+ raise Errors::InvalidGroupNameError, group: group if group.to_s == UNNAMED_GROUP
148
148
 
149
149
  add_complex_group(group, members.pop) if members.last.is_a? Hash
150
150
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ load 'vagrant/ansible_auto.rb'
4
+
3
5
  # Namespace for Vagrant plugins
4
6
  module VagrantPlugins
5
7
  # Namespace for the +ansible_auto+ provisioner and +ansible+ command
@@ -13,6 +15,15 @@ module VagrantPlugins
13
15
  on guest machines
14
16
  DESC
15
17
 
18
+ def self.init!
19
+ require 'i18n'
20
+
21
+ VagrantPlugins::AnsibleAuto.source_root.join('locales/en.yml').tap do |en|
22
+ I18n.load_path << en unless I18n.load_path.include? en
23
+ I18n.reload!
24
+ end
25
+ end
26
+
16
27
  config 'ansible' do
17
28
  require_relative 'config'
18
29
  Config
@@ -80,9 +91,7 @@ module VagrantPlugins
80
91
  end
81
92
 
82
93
  action_hook 'environment_plugins_loaded' do
83
- require 'i18n'
84
- I18n.load_path << VagrantPlugins::AnsibleAuto.source_root.join('locales/en.yml')
85
- I18n.reload!
94
+ init!
86
95
  end
87
96
  end
88
97
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module VagrantPlugins
4
4
  module AnsibleAuto
5
- VERSION = '0.2.1'.freeze
5
+ VERSION = '0.2.2'.freeze
6
6
  end
7
7
  end
data/locales/en.yml CHANGED
@@ -15,15 +15,21 @@ en:
15
15
  command:
16
16
  root:
17
17
  synopsis: 'build an Ansible inventory'
18
+ usage: 'Usage: vagrant ansible <subcommand> [<args>]'
19
+ available_subcommands: 'Available subcommands:'
20
+ subcommand_help: 'For help on any individual subcommand run `vagrant ansible SUBCOMMAND -h`'
18
21
  option: {}
19
22
  diag: {}
20
- skel:
23
+ inventory:
21
24
  synopsis: 'output a dynamic Ansible inventory'
22
25
  usage: 'Usage: vagrant ansible inventory [options]'
26
+ available_options: 'Available options:'
23
27
  option:
24
- list: 'List all hosts as JSON'
28
+ ini: 'List all hosts as INI'
29
+ json: 'List all hosts as terse JSON'
30
+ pretty: 'List all hosts as pretty JSON'
25
31
  diag:
26
- not_running: 'machine %{machine} is not running; falling back to default hostvar values'
32
+ not_running: 'machine %{machine_name} is not running; falling back to default hostvar values'
27
33
  errors:
28
34
  inventory:
29
35
  missing_group: 'expected group %{group} is missing from the inventory'
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+
5
+ require 'vagrant/ansible_auto'
6
+
7
+ describe 'CLI: ansible inventory', component: 'cli/ansible-inventory' do
8
+ include_context 'acceptance'
9
+
10
+ def execute_ansible_inventory(*args)
11
+ execute('vagrant', 'ansible', 'inventory', *args)
12
+ end
13
+
14
+ def assert_execute_ansible_inventory(*args)
15
+ assert_execute('vagrant', 'ansible', 'inventory', *args)
16
+ end
17
+
18
+ around do |ex|
19
+ begin
20
+ saved_env = ENV.to_h
21
+ ENV['VAGRANT_CWD'] = environment.workdir.to_s
22
+ environment.skeleton('cli/ansible-inventory')
23
+ ex.run
24
+ ensure
25
+ ENV.replace(saved_env)
26
+ end
27
+ end
28
+
29
+ context 'given the --ini option' do
30
+ it 'returns the inventory as INI' do
31
+ result = assert_execute_ansible_inventory('--ini')
32
+ [
33
+ /^ansible-test-control\s+/,
34
+ /^ansible-test-worker-1\s+/,
35
+ /^ansible-test-worker-2\s+/,
36
+ /^\[control\]\s*$/,
37
+ /^\[worker\]\s*$/
38
+ ].each do |regex|
39
+ expect(result.stdout).to match regex
40
+ end
41
+ end
42
+ end
43
+
44
+ context 'given the --json option' do
45
+ it 'returns the inventory as terse JSON' do
46
+ result = assert_execute_ansible_inventory('--json')
47
+ expect(result.stdout.lines.count).to be == 1
48
+ expect { JSON.parse(result.stdout.strip) }.not_to raise_error
49
+ end
50
+ end
51
+
52
+ context 'given the --pretty option' do
53
+ it 'returns the inventory as pretty JSON' do
54
+ result = assert_execute_ansible_inventory('--pretty')
55
+ expect(result.stdout.lines.count).to be > 1
56
+ expect { JSON.parse(result.stdout.strip) }.not_to raise_error
57
+ end
58
+ end
59
+
60
+ context 'given the --help option' do
61
+ let!(:help_output) { assert_execute_ansible_inventory('--help').stdout }
62
+
63
+ it 'prints a usage message' do
64
+ expect(help_output).to match_output(:inventory_usage)
65
+ end
66
+
67
+ it 'prints an available options stanza' do
68
+ expect(help_output).to match_output(:inventory_available_options)
69
+ end
70
+
71
+ %w[ini json pretty].each do |type|
72
+ it "prints a usage message for the --#{type} option" do
73
+ expect(help_output).to match_output(:"inventory_option_#{type}")
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'vagrant/ansible_auto'
4
+
5
+ describe 'CLI: ansible', component: 'cli/ansible' do
6
+ include_context 'acceptance'
7
+
8
+ around do |ex|
9
+ begin
10
+ saved_env = ENV.to_h
11
+ ENV['VAGRANT_CWD'] = environment.workdir.to_s
12
+ environment.skeleton('cli/ansible-inventory')
13
+ ex.run
14
+ ensure
15
+ ENV.replace(saved_env)
16
+ end
17
+ end
18
+
19
+ context 'given the --help option' do
20
+ let!(:help_output) { assert_execute('vagrant', 'ansible', '--help').stdout }
21
+
22
+ it 'prints a usage message' do
23
+ expect(help_output).to match_output(:root_usage)
24
+ end
25
+
26
+ it 'prints an available subcommands stanza' do
27
+ expect(help_output).to match_output(:root_available_subcommands)
28
+ end
29
+
30
+ it 'indicates where to get help on subcommand usage' do
31
+ expect(help_output).to match_output(:root_subcommand_help)
32
+ end
33
+ end
34
+
35
+ context 'given the list-commands vagrant command' do
36
+ it 'displays a synopsis' do
37
+ expect(assert_execute('vagrant', 'list-commands').stdout).to match_output(:root_synopsis)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'vagrant-spec/acceptance/output'
4
+
5
+ require 'vagrant/ansible_auto/command/inventory'
6
+ require 'vagrant/ansible_auto/errors'
7
+ require 'vagrant/ansible_auto/plugin'
8
+
9
+ VagrantPlugins::AnsibleAuto::Plugin.init!
10
+
11
+ module Vagrant
12
+ module Spec
13
+ OutputTester[:bad_extension] = lambda do |text|
14
+ text =~ Regexp.new(Regexp.escape(VagrantPlugins::AnsibleAuto::Errors::BadExtensionError.new.message))
15
+ end
16
+
17
+ %w[synopsis usage available_options option.ini option.json option.pretty diag.not_running].each do |trk|
18
+ OutputTester[:"inventory_#{trk.tr('.', '_')}"] = lambda do |text|
19
+ text =~ Regexp.new(Regexp.escape(I18n.t("vagrant.ansible_auto.command.inventory.#{trk}")))
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'vagrant-spec/acceptance/output'
4
+
5
+ require 'vagrant/ansible_auto/command/root'
6
+ require 'vagrant/ansible_auto/errors'
7
+ require 'vagrant/ansible_auto/plugin'
8
+
9
+ VagrantPlugins::AnsibleAuto::Plugin.init!
10
+
11
+ module Vagrant
12
+ module Spec
13
+ OutputTester[:bad_extension] = lambda do |text|
14
+ text =~ Regexp.new(Regexp.escape(VagrantPlugins::AnsibleAuto::Errors::BadExtensionError.new.message))
15
+ end
16
+
17
+ %w[synopsis usage available_subcommands subcommand_help].each do |trk|
18
+ OutputTester[:"root_#{trk.tr('.', '_')}"] = lambda do |text|
19
+ text =~ Regexp.new(Regexp.escape(I18n.t("vagrant.ansible_auto.command.root.#{trk}")))
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,45 @@
1
+ Vagrant.configure(2) do |config|
2
+ config.vm.box = 'hashicorp/precise64'
3
+
4
+ (1..2).each do |i|
5
+ name = "ansible-test-worker-#{i}"
6
+
7
+ config.vm.define name do |machine|
8
+ machine.vm.provider :docker do |d|
9
+ d.image = 'baxterstockman/minideb-vagrant'
10
+ d.has_ssh = true
11
+ end
12
+
13
+ machine.ansible.groups = {
14
+ 'worker' => name,
15
+ 'cluster:children' => ['worker']
16
+ }
17
+ end
18
+ end
19
+
20
+ config.vm.define 'ansible-test-control' do |machine|
21
+ machine.vm.provider :docker do |d|
22
+ d.image = 'baxterstockman/minideb-vagrant'
23
+ d.has_ssh = true
24
+ end
25
+
26
+ machine.vm.provision :ansible_auto do |ansible|
27
+ ansible.limit = '*'
28
+ ansible.playbook = 'playbooks/test.yml'
29
+ end
30
+
31
+ machine.ansible.groups = {
32
+ 'control' => ['ansible-test-control'],
33
+ 'cluster:children' => ['control']
34
+ }
35
+ end
36
+
37
+ config.ansible.vars = {
38
+ 'control' => {
39
+ 'role' => 'ansible-control'
40
+ },
41
+ 'worker' => {
42
+ 'role' => 'ansible-worker'
43
+ }
44
+ }
45
+ end
data/spec/spec_helper.rb CHANGED
@@ -2,12 +2,29 @@
2
2
 
3
3
  require 'pathname'
4
4
 
5
+ type = if File.basename($PROGRAM_NAME) == 'vagrant-spec'
6
+ 'acceptance'
7
+ else
8
+ 'unit'
9
+ end
10
+
11
+ RSpec.configure do |config|
12
+ config.pattern = "#{type}/**/*_spec.rb"
13
+ config.color = true
14
+ config.formatter = 'documentation'
15
+ config.order = 'rand'
16
+ end
17
+
5
18
  Pathname.new(__FILE__).tap do |helper|
6
19
  $LOAD_PATH.unshift((helper.parent.parent + 'lib').to_s)
7
20
 
8
21
  require 'vagrant/ansible_auto'
9
22
 
10
- helper.parent.join('support').find { |f| require f if f.extname == '.rb' }
23
+ if (support_dir = helper.parent.join('support', type)).directory?
24
+ support_dir.find { |f| require f if f.extname == '.rb' }
25
+ end
11
26
  end
12
27
 
13
- SimpleCov.start
28
+ if type == 'unit'
29
+ SimpleCov.start unless SimpleCov.running
30
+ end
@@ -72,6 +72,12 @@ shared_context 'machine' do |machine_count = 2|
72
72
  let(:ui) { machine.ui }
73
73
  let(:communicator) { machine.communicator }
74
74
  let(:playbook) { 'playbook.yml' }
75
+
76
+ before do |example|
77
+ # Ensure that we always create the Vagrant::Environment, unless explicitly
78
+ # told not to
79
+ iso_env unless example.metadata.fetch(:skip_create_vagrant_env) { false }
80
+ end
75
81
  end
76
82
 
77
83
  shared_context 'host' do
File without changes
@@ -39,11 +39,10 @@ describe VagrantPlugins::AnsibleAuto::Config do
39
39
 
40
40
  context 'given an error constructing the inventory' do
41
41
  it 'catches the error and returns it under the "ansible_auto" key' do
42
- pending 'at the moment, the inventory object does not raise any errors along the relevant code paths' do
43
- config.finalize!
44
- errors = config.validate(machine)
45
- expect(errors['ansible_auto']).not_to be_empty
46
- end
42
+ pending 'at the moment, the inventory object does not raise any errors along the relevant code paths'
43
+ config.finalize!
44
+ errors = config.validate(machine)
45
+ expect(errors['ansible_auto']).not_to be_empty
47
46
  end
48
47
  end
49
48
 
@@ -50,7 +50,7 @@ describe VagrantPlugins::AnsibleAuto::Inventory do
50
50
 
51
51
  inventory.vars.tap do |vars|
52
52
  expect(vars).to have_key('mygroup')
53
- expect(vars['mygroup']).to include(this: 'n', uh: 'that', n: 'uh')
53
+ expect(vars['mygroup']).to include('this' => 'n', 'uh' => 'that', 'n' => 'uh')
54
54
  end
55
55
 
56
56
  inventory.children.tap do |children|
@@ -62,7 +62,7 @@ describe VagrantPlugins::AnsibleAuto::Inventory do
62
62
  context 'given an invalid group name' do
63
63
  it 'raises an error' do
64
64
  expect { inventory.add_group('_') }.to raise_error do |error|
65
- expect(error).to be_a(VagrantPlugins::AnsibleAuto::InvalidGroupNameError)
65
+ expect(error).to be_a(VagrantPlugins::AnsibleAuto::Errors::InvalidGroupNameError)
66
66
  expect(error.message).to match(/_ is not a valid group name/)
67
67
  end
68
68
  end
@@ -1,3 +1,14 @@
1
- Vagrant::Spec::Acceptance.configure do |c|
2
- c.component_paths << 'spec/acceptance'
1
+ # frozen_string_literal: true
2
+
3
+ Vagrant::Spec::Acceptance.configure do |config|
4
+ config.component_paths << 'spec/acceptance'
5
+ config.skeleton_paths << 'spec/acceptance/support-skeletons'
6
+
7
+ # Silence Vagrant's "You appear to be running Vagrant outside of the official
8
+ # installers" message. This message mucks up things like parsing the output
9
+ # of `vagrant-skel` with JSON.load.
10
+ config.env.merge!('VAGRANT_I_KNOW_WHAT_IM_DOING_PLEASE_BE_QUIET' => '1')
3
11
  end
12
+
13
+ # Pull in SimpleCov, Coveralls, and RSpec setup
14
+ require_relative 'spec/spec_helper'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-ansible_auto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ignacio Galindo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-29 00:00:00.000000000 Z
11
+ date: 2017-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -161,9 +161,15 @@ files:
161
161
  - lib/vagrant/ansible_auto/version.rb
162
162
  - locales/en.yml
163
163
  - playbooks/test.yml
164
+ - spec/acceptance/cli/inventory_spec.rb
165
+ - spec/acceptance/cli/root_spec.rb
166
+ - spec/acceptance/output/inventory_output.rb
167
+ - spec/acceptance/output/root_output.rb
168
+ - spec/acceptance/support-skeletons/cli/ansible-inventory/Vagrantfile
169
+ - spec/acceptance/support-skeletons/cli/ansible-inventory/playbook.yml
164
170
  - spec/spec_helper.rb
165
- - spec/support/context.rb
166
- - spec/support/matchers.rb
171
+ - spec/support/unit/context.rb
172
+ - spec/support/unit/matchers.rb
167
173
  - spec/unit/vagrant/ansible_auto/config_spec.rb
168
174
  - spec/unit/vagrant/ansible_auto/host_spec.rb
169
175
  - spec/unit/vagrant/ansible_auto/inventory_spec.rb
@@ -193,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
199
  version: '0'
194
200
  requirements: []
195
201
  rubyforge_project:
196
- rubygems_version: 2.5.2
202
+ rubygems_version: 2.6.11
197
203
  signing_key:
198
204
  specification_version: 4
199
205
  summary: Vagrant plugin for building ansible inventory files.
data/Vagrantfile DELETED
@@ -1,45 +0,0 @@
1
- Vagrant.configure(2) do |config|
2
- config.vm.box = 'hashicorp/precise64'
3
-
4
- (1..2).each do |i|
5
- name = "ansible-test-worker-#{i}"
6
-
7
- config.vm.define name do |machine|
8
- machine.vm.provider :docker do |d|
9
- d.image = 'baxterstockman/minideb-vagrant'
10
- d.has_ssh = true
11
- end
12
-
13
- machine.ansible.groups = {
14
- 'worker' => name,
15
- 'cluster:children' => ['worker']
16
- }
17
- end
18
- end
19
-
20
- config.vm.define 'ansible-test-control' do |machine|
21
- machine.vm.provider :docker do |d|
22
- d.image = 'baxterstockman/minideb-vagrant'
23
- d.has_ssh = true
24
- end
25
-
26
- machine.vm.provision :ansible_auto do |ansible|
27
- ansible.limit = '*'
28
- ansible.playbook = 'playbooks/test.yml'
29
- end
30
-
31
- machine.ansible.groups = {
32
- 'control' => ['ansible-test-control'],
33
- 'cluster:children' => ['control']
34
- }
35
- end
36
-
37
- config.ansible.vars = {
38
- 'control' => {
39
- 'role' => 'ansible-control'
40
- },
41
- 'worker' => {
42
- 'role' => 'ansible-worker'
43
- }
44
- }
45
- end