Skip to content

Commit

Permalink
Merge pull request #366 from mhaskel/merge_4.4.x
Browse files Browse the repository at this point in the history
Merge 4.4.x
  • Loading branch information
hunner committed Nov 12, 2014
2 parents 85d7edd + ded4d51 commit b80c432
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 23 deletions.
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
14 changes: 12 additions & 2 deletions lib/puppet/parser/functions/has_interface_with.rb
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,13 @@ module Puppet::Parser::Functions

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

Expand All @@ -44,7 +50,11 @@ module Puppet::Parser::Functions
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
Expand Down
6 changes: 3 additions & 3 deletions metadata.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down Expand Up @@ -97,7 +97,7 @@
"requirements": [
{
"name": "pe",
"version_requirement": "3.3.x"
"version_requirement": "3.x"
},
{
"name": "puppet",
Expand Down
2 changes: 1 addition & 1 deletion spec/acceptance/ensure_packages_spec.rb
Original file line number Diff line number Diff line change
@@ -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", }')
Expand Down
2 changes: 1 addition & 1 deletion spec/acceptance/ensure_resource_spec.rb
Original file line number Diff line number Diff line change
@@ -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", }')
Expand Down
2 changes: 1 addition & 1 deletion spec/acceptance/type_spec.rb
Original file line number Diff line number Diff line change
@@ -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
Expand Down
29 changes: 14 additions & 15 deletions spec/spec_helper_acceptance.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,23 @@
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

Expand All @@ -29,17 +37,8 @@
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

Expand Down

0 comments on commit b80c432

Please sign in to comment.