Merge pull request #366 from mhaskel/merge_4.4.x

Merge 4.4.x
This commit is contained in:
Hunter Haugen 2014-11-12 11:54:41 -08:00
commit b80c432ab9
7 changed files with 52 additions and 23 deletions

View file

@ -1,3 +1,23 @@
##2014-11-10 - Supported Release 4.4.0
###Summary
This release has an overhauled readme, new private manifest function, and fixes many future parser bugs.
####Features
- All new shiny README
- New `private()` function for making private manifests (yay!)
####Bugfixes
- Code reuse in `bool2num()` and `zip()`
- Fix many functions to handle `generate()` no longer returning a string on new puppets
- `concat()` no longer modifies the first argument (whoops)
- strict variable support for `getvar()`, `member()`, `values_at`, and `has_interface_with()`
- `to_bytes()` handles PB and EB now
- Fix `tempfile` ruby requirement for `validate_augeas()` and `validate_cmd()`
- Fix `validate_cmd()` for windows
- Correct `validate_string()` docs to reflect non-handling of `undef`
- Fix `file_line` matching on older rubies
##2014-07-15 - Supported Release 4.3.2
###Summary

View file

@ -35,7 +35,13 @@ has_interface_with("lo") => true
kind, value = args
if lookupvar(kind) == value
# Bug with 3.7.1 - 3.7.3 when using future parser throws :undefined_variable
# https://tickets.puppetlabs.com/browse/PUP-3597
factval = nil
catch :undefined_variable do
factval = lookupvar(kind)
end
if factval == value
return true
end
@ -44,7 +50,11 @@ has_interface_with("lo") => true
iface.downcase!
factval = nil
begin
factval = lookupvar("#{kind}_#{iface}")
# Bug with 3.7.1 - 3.7.3 when using future parser throws :undefined_variable
# https://tickets.puppetlabs.com/browse/PUP-3597
catch :undefined_variable do
factval = lookupvar("#{kind}_#{iface}")
end
rescue Puppet::ParseError # Eat the exception if strict_variables = true is set
end
if value == factval

View file

@ -1,12 +1,12 @@
{
"name": "puppetlabs-stdlib",
"version": "4.3.2",
"version": "4.4.0",
"author": "puppetlabs",
"summary": "Puppet Module Standard Library",
"license": "Apache 2.0",
"source": "git://github.com/puppetlabs/puppetlabs-stdlib",
"project_page": "https://github.com/puppetlabs/puppetlabs-stdlib",
"issues_url": "https://github.com/puppetlabs/puppetlabs-stdlib/issues",
"issues_url": "https://tickets.puppetlabs.com/browse/MODULES",
"operatingsystem_support": [
{
"operatingsystem": "RedHat",
@ -97,7 +97,7 @@
"requirements": [
{
"name": "pe",
"version_requirement": "3.3.x"
"version_requirement": "3.x"
},
{
"name": "puppet",

View file

@ -1,7 +1,7 @@
#! /usr/bin/env ruby -S rspec
require 'spec_helper_acceptance'
describe 'ensure_packages function', :unless => (UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) || fact('osfamily') == 'windows') do
describe 'ensure_packages function', :unless => fact('osfamily') =~ /windows/i do
describe 'success' do
it 'ensure_packages a package' do
apply_manifest('package { "rake": ensure => absent, provider => "gem", }')

View file

@ -1,7 +1,7 @@
#! /usr/bin/env ruby -S rspec
require 'spec_helper_acceptance'
describe 'ensure_resource function', :unless => (UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) || fact('osfamily') == 'windows') do
describe 'ensure_resource function', :unless => fact('osfamily') =~ /windows/i do
describe 'success' do
it 'ensure_resource a package' do
apply_manifest('package { "rake": ensure => absent, provider => "gem", }')

View file

@ -1,7 +1,7 @@
#! /usr/bin/env ruby -S rspec
require 'spec_helper_acceptance'
describe 'type function', :unless => (UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) || !(is_future_parser_enabled?)) do
describe 'type function', :unless => (UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) || is_future_parser_enabled?) do
describe 'success' do
it 'types arrays' do
pp = <<-EOS

View file

@ -4,15 +4,23 @@ require 'beaker-rspec'
UNSUPPORTED_PLATFORMS = []
unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
# This will install the latest available package on el and deb based
# systems fail on windows and osx, and install via gem on other *nixes
foss_opts = { :default_action => 'gem_install' }
foss_opts = {
:default_action => 'gem_install',
:version => (ENV['PUPPET_VERSION'] ? ENV['PUPPET_VERSION'] : '3.7.2'),
}
if default.is_pe?; then install_pe; else install_puppet( foss_opts ); end
hosts.each do |host|
on host, "mkdir -p #{host['distmoduledir']}"
on host, "/bin/touch #{host['puppetpath']}/hiera.yaml"
if host['platform'] !~ /windows/i
if host.is_pe?
on host, 'mkdir -p /etc/puppetlabs/facter/facts.d'
else
on host, "/bin/touch #{host['puppetpath']}/hiera.yaml"
on host, "mkdir -p #{host['distmoduledir']}"
on host, 'mkdir -p /etc/facter/facts.d'
end
end
end
end
@ -29,17 +37,8 @@ RSpec.configure do |c|
default[:default_apply_opts] ||= {}
default[:default_apply_opts].merge!({:parser => 'future'})
end
hosts.each do |host|
if host['platform'] !~ /windows/i
copy_root_module_to(host, :source => proj_root, :module_name => 'stdlib')
end
end
hosts.each do |host|
if host['platform'] =~ /windows/i
on host, puppet('plugin download')
end
end
copy_root_module_to(default, :source => proj_root, :module_name => 'stdlib')
end
end