vagrant-hitch 0.0.3 → 0.0.4

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/lib/vagrant-hitch.rb CHANGED
@@ -107,6 +107,31 @@ module VagrantHitch
107
107
  end
108
108
  end
109
109
 
110
+ # Setup Puppet Server Provisioner
111
+ if node_config.has_key?('puppet_server')
112
+ # Import any defaults set by the Puppet Server Provisioner
113
+ node_config.deep_merge!(@puppet_server_provisioner_defaults) if !@puppet_server_provisioner_defaults.nil?
114
+
115
+ config.vm.provision :puppet_server do |puppet|
116
+ puppet.puppet_server = node_config['puppet_server']['server']
117
+ puppet.puppet_node = node_config['hostname']
118
+
119
+ # Setup Puppet Graphing
120
+ if node_config['puppet_server']['options'].include?('--graph')
121
+ begin
122
+ graph_dir = File.join(config_dir,'..','graph')
123
+ [graph_dir, "#{graph_dir}/#{node_config['hostname']}"].each { |d| Dir.mkdir(d) if !File.directory?(d) }
124
+ node_config['puppet_server']['options'] << "--graphdir=/vagrant/graph/#{node_config['hostname']}"
125
+ rescue => e
126
+ puts "Unable to create Puppet Graph Directory: #{e}"
127
+ end
128
+ end
129
+
130
+ # Puppet Options must be the last option to ensure any additions are included
131
+ puppet.options = node_config['puppet_server']['options'].join(' ')
132
+ end
133
+ end
134
+
110
135
  # Setup Chef Provisioner
111
136
  if node_config.has_key?('chef')
112
137
  # Import any defaults set by the Chef Provisioner
data/spec/hitch_spec.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'tmpdir'
2
+
1
3
  require File.join(File.dirname(__FILE__),'..','/lib/vagrant-hitch')
2
4
  describe VagrantHitch do
3
5
  it 'should return a proc' do
@@ -12,7 +14,29 @@ describe VagrantHitch do
12
14
  expect { VagrantHitch.up!('somepath') }.to raise_error
13
15
  end
14
16
 
15
- it 'should return a correct status given a valid vagrantfile' do
16
- Vagrant::Config.run &VagrantHitch.up!(File.join(File.dirname(__FILE__),'..','example','config'))
17
+ context "with a valid Vagrantfile" do
18
+ # set up Vagrantfile
19
+ before(:all) do
20
+ rootdir = File.join(File.dirname(__FILE__),'..')
21
+ tempdir = Dir.tmpdir
22
+ vagrantfile = <<-HERE.gsub(/^ {6}/, '')
23
+ require '#{rootdir}/lib/vagrant_init.rb'
24
+ Vagrant::Config.run &VagrantHitch.up!(File.join('#{rootdir}','example','config'))
25
+ HERE
26
+ # create new Vagrantfile in ../tmp
27
+ File.open(File.join(tempdir,"Vagrantfile"), "w") {|f| f.write(vagrantfile) }
28
+ Dir.chdir(tempdir)
29
+ end
30
+
31
+ # clean up the temporary directory
32
+ after(:all) do
33
+ end
34
+
35
+ it 'should not include the default node information' do
36
+ output = Array.new
37
+ IO.popen("vagrant status") { |io| output = io.readlines.collect { |l| l.chomp } }
38
+ output.should include("test1 not created","test2 not created")
39
+ output.should_not include("default not created")
40
+ end
17
41
  end
18
42
  end
@@ -15,5 +15,5 @@ Gem::Specification.new do |gem|
15
15
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
16
16
  gem.name = "vagrant-hitch"
17
17
  gem.require_paths = ["lib"]
18
- gem.version = "0.0.3"
18
+ gem.version = "0.0.4"
19
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-hitch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-11-01 00:00:00.000000000 Z
13
+ date: 2012-11-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: vagrant
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  version: '0'
90
90
  requirements: []
91
91
  rubyforge_project:
92
- rubygems_version: 1.8.24
92
+ rubygems_version: 1.8.23
93
93
  signing_key:
94
94
  specification_version: 3
95
95
  summary: Creates and use a data driven vagrant environment