vagrant-puppet-install 4.0.1 → 4.1.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 +4 -4
- data/CHANGELOG.md +20 -0
- data/README.md +14 -0
- data/lib/vagrant-puppet-install/config.rb +17 -7
- data/lib/vagrant-puppet-install/version.rb +1 -1
- data/locales/en.yml +1 -1
- data/test/acceptance/virtualbox/Vagrantfile +27 -0
- data/test/unit/vagrant-puppet-install/config_spec.rb +34 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1874b00e959ee871af563b0a45f504405e224be
|
4
|
+
data.tar.gz: 94d2181462355d6299a3f9cfb00d2865dfad1c4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dedbb24b6f68eb721390f3beaf3eaae96f02c1c0b813c5e8f7b321b1606fc73ab26de960bbf0d94a100ec0e94b966e77f1030b477bde0d3aa7ef07522ddce7e6
|
7
|
+
data.tar.gz: a7af7b576100abc6c951f87cce33c1e7900ecc6ffea51ad5bfee03d35b917164eca454896005f042aef7fd5bf4ce2d1ae244cc56a1c93ff4807b61f0cbbfca6e
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v4.0.1](https://github.com/petems/vagrant-puppet-install/tree/v4.0.1) (2016-04-04)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/petems/vagrant-puppet-install/compare/v4.0.0...v4.0.1)
|
6
|
+
|
7
|
+
**Closed issues:**
|
8
|
+
|
9
|
+
- Machine is force to shutdown and destroyed after puppet is installed [\#42](https://github.com/petems/vagrant-puppet-install/issues/42)
|
10
|
+
|
11
|
+
- How to install the latest available version of puppet? [\#41](https://github.com/petems/vagrant-puppet-install/issues/41)
|
12
|
+
|
13
|
+
**Merged pull requests:**
|
14
|
+
|
15
|
+
- Adds acceptance test for Fedora 23 [\#47](https://github.com/petems/vagrant-puppet-install/pull/47) ([petems](https://github.com/petems))
|
16
|
+
|
17
|
+
- Fixes Vagrant on Puppet \> 4 for acceptance [\#45](https://github.com/petems/vagrant-puppet-install/pull/45) ([petems](https://github.com/petems))
|
18
|
+
|
19
|
+
- Rubocop fixes [\#44](https://github.com/petems/vagrant-puppet-install/pull/44) ([petems](https://github.com/petems))
|
20
|
+
|
21
|
+
- Fixes unlink code to work on Windows machines [\#43](https://github.com/petems/vagrant-puppet-install/pull/43) ([petems](https://github.com/petems))
|
22
|
+
|
3
23
|
## [v4.0.0](https://github.com/petems/vagrant-puppet-install/tree/v4.0.0) (2016-01-25)
|
4
24
|
|
5
25
|
[Full Changelog](https://github.com/petems/vagrant-puppet-install/compare/v3.1.0...v4.0.0)
|
data/README.md
CHANGED
@@ -45,6 +45,20 @@ should be a valid Puppet release (ie. `2.7.11`, `3.7.4`, etc.).
|
|
45
45
|
|
46
46
|
The Puppet version is validated against the RubyGems API. So as long as the version you give is [listed there](https://rubygems.org/gems/puppet/versions/), it will allow you to install.
|
47
47
|
|
48
|
+
You may wish to disable this validation. This could be useful if you've got limited bandwidth on a bad internet connection or you're on a proxy, or your specifying a version that won't match against the RubyGems API (such as a custom patched version of Puppet).
|
49
|
+
|
50
|
+
If you wish to disable this validation you can disable it like so:
|
51
|
+
|
52
|
+
```ruby
|
53
|
+
Vagrant.configure("2") do |config|
|
54
|
+
|
55
|
+
config.puppet_install.validate_version = false
|
56
|
+
|
57
|
+
...
|
58
|
+
|
59
|
+
end
|
60
|
+
```
|
61
|
+
|
48
62
|
Install the latest version of Puppet:
|
49
63
|
|
50
64
|
```ruby
|
@@ -5,11 +5,12 @@ require 'vagrant'
|
|
5
5
|
module VagrantPlugins
|
6
6
|
module PuppetInstall
|
7
7
|
class Config < Vagrant.plugin('2', :config)
|
8
|
-
attr_accessor :puppet_version, :install_url
|
8
|
+
attr_accessor :puppet_version, :install_url, :validate_version
|
9
9
|
|
10
10
|
def initialize
|
11
11
|
@puppet_version = UNSET_VALUE
|
12
12
|
@install_url = UNSET_VALUE
|
13
|
+
@validate_version = UNSET_VALUE
|
13
14
|
@logger = Log4r::Logger.new('vagrantplugins::puppet_install::config')
|
14
15
|
end
|
15
16
|
|
@@ -20,6 +21,7 @@ module VagrantPlugins
|
|
20
21
|
# resolve `latest` to a real version
|
21
22
|
@puppet_version = retrieve_latest_puppet_version
|
22
23
|
end
|
24
|
+
@validate_version = nil if @validate_version == UNSET_VALUE
|
23
25
|
@install_url = nil if @install_url == UNSET_VALUE
|
24
26
|
end
|
25
27
|
|
@@ -27,13 +29,17 @@ module VagrantPlugins
|
|
27
29
|
finalize!
|
28
30
|
errors = []
|
29
31
|
|
30
|
-
if
|
31
|
-
|
32
|
-
|
32
|
+
if falsey?(validate_version)
|
33
|
+
@logger.debug("Not validating version due to validate_version being false")
|
34
|
+
else
|
35
|
+
if !puppet_version.nil? && !valid_puppet_version?(puppet_version)
|
36
|
+
msg = <<-EOH
|
37
|
+
'#{ puppet_version }' is not a valid version of Puppet.
|
33
38
|
|
34
|
-
A list of valid versions can be found at: http://docs.puppetlabs.com/release_notes/
|
35
|
-
|
36
|
-
|
39
|
+
A list of valid versions can be found at: http://docs.puppetlabs.com/release_notes/
|
40
|
+
EOH
|
41
|
+
errors << msg
|
42
|
+
end
|
37
43
|
end
|
38
44
|
|
39
45
|
if errors.any?
|
@@ -90,6 +96,10 @@ A list of valid versions can be found at: http://docs.puppetlabs.com/release_not
|
|
90
96
|
def puppet_gem_dependency(version = nil)
|
91
97
|
Gem::Dependency.new('puppet', version)
|
92
98
|
end
|
99
|
+
|
100
|
+
def falsey?(falsey_value)
|
101
|
+
true if [false,:false,'false'].include?(falsey_value)
|
102
|
+
end
|
93
103
|
end
|
94
104
|
end
|
95
105
|
end
|
data/locales/en.yml
CHANGED
@@ -61,6 +61,33 @@ Vagrant.configure('2') do |config|
|
|
61
61
|
fedora_384.vm.provision 'shell', inline: 'puppet --version'
|
62
62
|
end
|
63
63
|
|
64
|
+
config.vm.define :debian_jessie_372 do |debian_jessie_372|
|
65
|
+
debian_jessie_372.vm.box = "debian/jessie64"
|
66
|
+
debian_jessie_372.puppet_install.puppet_version = '3.7.2'
|
67
|
+
|
68
|
+
debian_jessie_372.vm.provision :puppet do |puppet|
|
69
|
+
puppet.environment_path = File.expand_path('../../../support/environments', __FILE__)
|
70
|
+
puppet.environment = "vagrant"
|
71
|
+
end
|
72
|
+
|
73
|
+
debian_jessie_372.vm.provision 'shell', inline: 'puppet --version'
|
74
|
+
end
|
75
|
+
|
76
|
+
config.vm.define :validate_version_false do |validate_version_false|
|
77
|
+
validate_version_false.puppet_install.puppet_version = '9.9.9'
|
78
|
+
validate_version_false.puppet_install.validate_version = false
|
79
|
+
|
80
|
+
validate_version_false.puppet_install.install_url = File.expand_path('../../support/puppet_install_script/shell_install.sh')
|
81
|
+
validate_version_false.vm.box = "puppetlabs/centos-6.6-64-nocm"
|
82
|
+
|
83
|
+
validate_version_false.vm.provision :puppet do |puppet|
|
84
|
+
puppet.manifests_path = File.expand_path('../../../support/manifests', __FILE__)
|
85
|
+
puppet.manifest_file = "base.pp"
|
86
|
+
end
|
87
|
+
|
88
|
+
validate_version_false.vm.provision "shell", inline: "puppet --version"
|
89
|
+
end
|
90
|
+
|
64
91
|
config.vm.define :trusty_ubuntu_box do |trusty_ubuntu_box|
|
65
92
|
trusty_ubuntu_box.puppet_install.puppet_version = :latest
|
66
93
|
trusty_ubuntu_box.puppet_install.install_url = 'https://gist.githubusercontent.com/petems/6723c2eedb9d32d7ad97/raw/990ff448f6430aa015e208668a3cecb3f1db0d4b/purge_old_install_new.sh'
|
@@ -8,6 +8,7 @@ describe VagrantPlugins::PuppetInstall::Config do
|
|
8
8
|
instance.tap do |o|
|
9
9
|
o.puppet_version = puppet_version if defined?(puppet_version)
|
10
10
|
o.install_url = install_url if defined?(install_url)
|
11
|
+
o.validate_version = validate_version if defined?(validate_version)
|
11
12
|
o.finalize!
|
12
13
|
end
|
13
14
|
end
|
@@ -15,6 +16,7 @@ describe VagrantPlugins::PuppetInstall::Config do
|
|
15
16
|
describe 'defaults' do
|
16
17
|
its(:puppet_version) { should be_nil }
|
17
18
|
its(:install_url) { should be_nil }
|
19
|
+
its(:validate_version) { should be_nil}
|
18
20
|
end
|
19
21
|
|
20
22
|
describe 'resolving `:latest` to a real Puppet version' do
|
@@ -70,5 +72,37 @@ describe VagrantPlugins::PuppetInstall::Config do
|
|
70
72
|
expect { subject.validate!(machine) }.to_not raise_error
|
71
73
|
end
|
72
74
|
end # describe not specified puppet_version validation
|
75
|
+
|
76
|
+
describe 'validate_version set to false should not raise error' do
|
77
|
+
{
|
78
|
+
false => {
|
79
|
+
description: 'Boolean false'
|
80
|
+
},
|
81
|
+
'false' => {
|
82
|
+
description: 'String false'
|
83
|
+
},
|
84
|
+
:false => {
|
85
|
+
description: ':false'
|
86
|
+
},
|
87
|
+
}.each_pair do |falsey, opts|
|
88
|
+
context "#{opts[:description]}" do
|
89
|
+
let(:validate_version) { falsey }
|
90
|
+
let(:puppet_version) { '9.9.9' }
|
91
|
+
|
92
|
+
it 'passes' do
|
93
|
+
expect { subject.validate!(machine) }.to_not raise_error
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end # describe validate_version set to false should not raise error
|
98
|
+
|
99
|
+
describe 'validate_version set to true with an invalid version should not raise error' do
|
100
|
+
let(:validate_version) { true }
|
101
|
+
let(:puppet_version) { '9.9.9' }
|
102
|
+
|
103
|
+
it 'fails' do
|
104
|
+
expect { subject.validate!(machine) }.to raise_error
|
105
|
+
end
|
106
|
+
end # validate_version set to true with an invalid version should not raise error
|
73
107
|
end
|
74
108
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-puppet-install
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Chisamore
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-04-
|
13
|
+
date: 2016-04-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|