From 1155d66381103e64ecbf2753372f138283fe3b3e Mon Sep 17 00:00:00 2001
From: Ashley Penney <ashley.penney@puppetlabs.com>
Date: Wed, 14 May 2014 16:37:48 -0400
Subject: [PATCH 01/27] Prepare a 4.3.0 release.

---
 CHANGELOG.md  |  5 +++++
 Modulefile    |  2 +-
 metadata.json | 15 ++++++++++-----
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a3597e34..f160002bb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+##2014-05-14 - Supported Release 4.3.0
+### Summary
+
+This is a supported release of the code released as 4.2.1.
+
 ## 2014-05-08 - Release - 4.2.1
 ### Summary
 This release moves a stray symlink that can cause problems.
diff --git a/Modulefile b/Modulefile
index c5da72dac..3375491ae 100644
--- a/Modulefile
+++ b/Modulefile
@@ -1,5 +1,5 @@
 name    'puppetlabs-stdlib'
-version '4.2.1'
+version '4.3.0'
 source 'git://github.com/puppetlabs/puppetlabs-stdlib.git'
 author 'puppetlabs'
 license 'Apache 2.0'
diff --git a/metadata.json b/metadata.json
index 9d3847bf1..45508e6f9 100644
--- a/metadata.json
+++ b/metadata.json
@@ -5,7 +5,8 @@
       "operatingsystemrelease": [
         "4",
         "5",
-        "6"
+        "6",
+        "7"
       ]
     },
     {
@@ -13,7 +14,8 @@
       "operatingsystemrelease": [
         "4",
         "5",
-        "6"
+        "6",
+        "7"
       ]
     },
     {
@@ -21,7 +23,8 @@
       "operatingsystemrelease": [
         "4",
         "5",
-        "6"
+        "6",
+        "7"
       ]
     },
     {
@@ -29,7 +32,8 @@
       "operatingsystemrelease": [
         "4",
         "5",
-        "6"
+        "6",
+        "7"
       ]
     },
     {
@@ -49,7 +53,8 @@
       "operatingsystem": "Ubuntu",
       "operatingsystemrelease": [
         "10.04",
-        "12.04"
+        "12.04",
+        "14.04"
       ]
     },
     {

From fa45d594ade2f460ec59b35932d04cbca0ee1a84 Mon Sep 17 00:00:00 2001
From: Ashley Penney <ashley.penney@puppetlabs.com>
Date: Thu, 15 May 2014 14:59:37 -0400
Subject: [PATCH 02/27] Claim PE3.3 support.

---
 metadata.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/metadata.json b/metadata.json
index 45508e6f9..638e36da2 100644
--- a/metadata.json
+++ b/metadata.json
@@ -89,7 +89,7 @@
   "requirements": [
     {
       "name": "pe",
-      "version_requirement": "3.2.x"
+      "version_requirement": "3.3.x"
     },
     {
       "name": "puppet",

From a364605f3b71b8a0857bbc2c47388f7bb9e11f82 Mon Sep 17 00:00:00 2001
From: Morgan Haskel <morgan@puppetlabs.com>
Date: Tue, 3 Jun 2014 11:13:35 -0400
Subject: [PATCH 03/27] Merge pull request #264 from apenney/fixes-for-tests

Fixes for PE3.3.
---
 spec/acceptance/fqdn_rotate_spec.rb | 1 +
 spec/acceptance/parseyaml_spec.rb   | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/spec/acceptance/fqdn_rotate_spec.rb b/spec/acceptance/fqdn_rotate_spec.rb
index b7f8bf8ab..fc8bea24e 100755
--- a/spec/acceptance/fqdn_rotate_spec.rb
+++ b/spec/acceptance/fqdn_rotate_spec.rb
@@ -14,6 +14,7 @@
       shell("if [ -f #{facts_d}/fqdn.txt ] ; then rm #{facts_d}/fqdn.txt ; fi")
     end
     it 'fqdn_rotates floats' do
+      shell("mkdir -p #{facts_d}")
       shell("echo 'fqdn=fakehost.localdomain' > #{facts_d}/fqdn.txt")
       pp = <<-EOS
       $a = ['a','b','c','d']
diff --git a/spec/acceptance/parseyaml_spec.rb b/spec/acceptance/parseyaml_spec.rb
index 4b4bf3df3..5819837cf 100755
--- a/spec/acceptance/parseyaml_spec.rb
+++ b/spec/acceptance/parseyaml_spec.rb
@@ -26,7 +26,7 @@
       EOS
 
       apply_manifest(pp, :expect_failures => true) do |r|
-        expect(r.stderr).to match(/syntax error/)
+        expect(r.stderr).to match(/(syntax error|did not find expected key)/)
       end
     end
 

From af71faa247043e01fc31ef8248304e8e20a25d6f Mon Sep 17 00:00:00 2001
From: Morgan Haskel <morgan@puppetlabs.com>
Date: Tue, 3 Jun 2014 14:53:04 -0400
Subject: [PATCH 04/27] Merge pull request #265 from apenney/fix-tests

Further fixes to tests for 14.04.
---
 spec/acceptance/ensure_packages_spec.rb | 2 +-
 spec/acceptance/shuffle_spec.rb         | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/spec/acceptance/ensure_packages_spec.rb b/spec/acceptance/ensure_packages_spec.rb
index 145bdc5e5..aa7b14c9f 100755
--- a/spec/acceptance/ensure_packages_spec.rb
+++ b/spec/acceptance/ensure_packages_spec.rb
@@ -11,7 +11,7 @@
       EOS
 
       apply_manifest(pp, :expect_changes => true) do |r|
-        expect(r.stdout).to match(/Package\[zsh\]\/ensure: created/)
+        expect(r.stdout).to match(/Package\[zsh\]\/ensure: (created|ensure changed 'purged' to 'present')/)
       end
     end
     it 'ensures a package already declared'
diff --git a/spec/acceptance/shuffle_spec.rb b/spec/acceptance/shuffle_spec.rb
index 02d1201dd..b840d1f1b 100755
--- a/spec/acceptance/shuffle_spec.rb
+++ b/spec/acceptance/shuffle_spec.rb
@@ -5,14 +5,14 @@
   describe 'success' do
     it 'shuffles arrays' do
       pp = <<-EOS
-      $a = ["the","public","art","galleries"]
+      $a = ["1", "2", "3", "4", "5", "6", "7", "8", "the","public","art","galleries"]
       # Anagram: Large picture halls, I bet
       $o = shuffle($a)
       notice(inline_template('shuffle is <%= @o.inspect %>'))
       EOS
 
       apply_manifest(pp, :catch_failures => true) do |r|
-        expect(r.stdout).to_not match(/shuffle is \["the", "public", "art", "galleries"\]/)
+        expect(r.stdout).to_not match(/shuffle is \["1", "2", "3", "4", "5", "6", "7", "8", "the", "public", "art", "galleries"\]/)
       end
     end
     it 'shuffles strings' do

From e7b27205c4fdc9162f11ee606be93865c1a080ea Mon Sep 17 00:00:00 2001
From: Ashley Penney <ashley.penney@puppetlabs.com>
Date: Wed, 4 Jun 2014 14:15:14 -0400
Subject: [PATCH 05/27] Prepare a 4.2.2 release.

---
 CHANGELOG.md  | 4 ++--
 Modulefile    | 2 +-
 metadata.json | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index f160002bb..97979bfae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,7 @@
-##2014-05-14 - Supported Release 4.3.0
+##2014-06-04 - Release 4.2.2
 ### Summary
 
-This is a supported release of the code released as 4.2.1.
+This release adds PE3.3 support in the metadata and fixes a few tests.
 
 ## 2014-05-08 - Release - 4.2.1
 ### Summary
diff --git a/Modulefile b/Modulefile
index 3375491ae..bf80e3b2b 100644
--- a/Modulefile
+++ b/Modulefile
@@ -1,5 +1,5 @@
 name    'puppetlabs-stdlib'
-version '4.3.0'
+version '4.2.2'
 source 'git://github.com/puppetlabs/puppetlabs-stdlib.git'
 author 'puppetlabs'
 license 'Apache 2.0'
diff --git a/metadata.json b/metadata.json
index 638e36da2..acb880fae 100644
--- a/metadata.json
+++ b/metadata.json
@@ -89,7 +89,7 @@
   "requirements": [
     {
       "name": "pe",
-      "version_requirement": "3.3.x"
+      "version_requirement": ">= 3.2.0 < 3.4.0"
     },
     {
       "name": "puppet",
@@ -97,7 +97,7 @@
     }
   ],
   "name": "puppetlabs-stdlib",
-  "version": "4.2.1",
+  "version": "4.2.2",
   "source": "git://github.com/puppetlabs/puppetlabs-stdlib",
   "author": "puppetlabs",
   "license": "Apache 2.0",

From 197e2d7e70d6570e82d2056d89de9e5e035b5750 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Thu, 19 Jun 2014 15:38:23 -0700
Subject: [PATCH 06/27] (FM-1587) Fix test issues on solaris 10

- ensure_packages fails because Error: Sun packages must specify a package source
- ensure_resource fails for the same reason
- get_module_path fails because the modulepath is different
- has_interface_with fails because the interface is lo0 not lo
---
 spec/acceptance/ensure_packages_spec.rb    |  4 ++--
 spec/acceptance/ensure_resource_spec.rb    |  4 ++--
 spec/acceptance/get_module_path_spec.rb    | 18 ++----------------
 spec/acceptance/has_interface_with_spec.rb |  6 +++++-
 4 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/spec/acceptance/ensure_packages_spec.rb b/spec/acceptance/ensure_packages_spec.rb
index aa7b14c9f..f3d225675 100755
--- a/spec/acceptance/ensure_packages_spec.rb
+++ b/spec/acceptance/ensure_packages_spec.rb
@@ -6,8 +6,8 @@
     it 'ensure_packages a package' do
       apply_manifest('package { "zsh": ensure => absent, }')
       pp = <<-EOS
-      $a = "zsh"
-      ensure_packages($a)
+      $a = "rake"
+      ensure_packages($a,{'provider' => 'gem'})
       EOS
 
       apply_manifest(pp, :expect_changes => true) do |r|
diff --git a/spec/acceptance/ensure_resource_spec.rb b/spec/acceptance/ensure_resource_spec.rb
index c4d8887df..725f5df59 100755
--- a/spec/acceptance/ensure_resource_spec.rb
+++ b/spec/acceptance/ensure_resource_spec.rb
@@ -6,8 +6,8 @@
     it 'ensure_resource a package' do
       apply_manifest('package { "zsh": ensure => absent, }')
       pp = <<-EOS
-      $a = "zsh"
-      ensure_resource('package', $a)
+      $a = "rake"
+      ensure_resource('package', $a, {'provider' => 'gem'})
       EOS
 
       apply_manifest(pp, :expect_changes => true) do |r|
diff --git a/spec/acceptance/get_module_path_spec.rb b/spec/acceptance/get_module_path_spec.rb
index 34d91fa3d..6ac690c16 100755
--- a/spec/acceptance/get_module_path_spec.rb
+++ b/spec/acceptance/get_module_path_spec.rb
@@ -3,22 +3,6 @@
 
 describe 'get_module_path function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
   describe 'success' do
-    it 'get_module_paths stdlib' do
-      pp = <<-EOS
-      $a = $::is_pe ? {
-        'true'  => '/opt/puppet/share/puppet/modules/stdlib',
-        'false' => '/etc/puppet/modules/stdlib',
-      }
-      $o = get_module_path('stdlib')
-      if $o == $a {
-        notify { 'output correct': }
-      }
-      EOS
-
-      apply_manifest(pp, :catch_failures => true) do |r|
-        expect(r.stdout).to match(/Notice: output correct/)
-      end
-    end
     it 'get_module_paths dne' do
       pp = <<-EOS
       $a = $::is_pe ? {
@@ -28,6 +12,8 @@
       $o = get_module_path('dne')
       if $o == $a {
         notify { 'output correct': }
+      } else {
+        notify { "failed; module path is '$o'": }
       }
       EOS
 
diff --git a/spec/acceptance/has_interface_with_spec.rb b/spec/acceptance/has_interface_with_spec.rb
index 41ae19fd1..7b38c95eb 100755
--- a/spec/acceptance/has_interface_with_spec.rb
+++ b/spec/acceptance/has_interface_with_spec.rb
@@ -27,7 +27,11 @@
     end
     it 'has_interface_with existing interface' do
       pp = <<-EOS
-      $a = 'lo'
+      if $osfamily == 'Solaris' {
+        $a = 'lo0'
+      } else {
+        $a = 'lo'
+      }
       $o = has_interface_with($a)
       notice(inline_template('has_interface_with is <%= @o.inspect %>'))
       EOS

From 7eda161be88e4eeca44a288cb0394f51ea9e0621 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Fri, 20 Jun 2014 10:41:43 -0700
Subject: [PATCH 07/27] Patch ensure_* tests

---
 spec/acceptance/ensure_packages_spec.rb | 6 ++----
 spec/acceptance/ensure_resource_spec.rb | 6 ++----
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/spec/acceptance/ensure_packages_spec.rb b/spec/acceptance/ensure_packages_spec.rb
index f3d225675..12da0cdc2 100755
--- a/spec/acceptance/ensure_packages_spec.rb
+++ b/spec/acceptance/ensure_packages_spec.rb
@@ -4,15 +4,13 @@
 describe 'ensure_packages function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
   describe 'success' do
     it 'ensure_packages a package' do
-      apply_manifest('package { "zsh": ensure => absent, }')
+      apply_manifest('package { "rake": ensure => absent, provider => "gem", }')
       pp = <<-EOS
       $a = "rake"
       ensure_packages($a,{'provider' => 'gem'})
       EOS
 
-      apply_manifest(pp, :expect_changes => true) do |r|
-        expect(r.stdout).to match(/Package\[zsh\]\/ensure: (created|ensure changed 'purged' to 'present')/)
-      end
+      apply_manifest(pp, :expect_changes => true)
     end
     it 'ensures a package already declared'
     it 'takes defaults arguments'
diff --git a/spec/acceptance/ensure_resource_spec.rb b/spec/acceptance/ensure_resource_spec.rb
index 725f5df59..2aad243d4 100755
--- a/spec/acceptance/ensure_resource_spec.rb
+++ b/spec/acceptance/ensure_resource_spec.rb
@@ -4,15 +4,13 @@
 describe 'ensure_resource function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
   describe 'success' do
     it 'ensure_resource a package' do
-      apply_manifest('package { "zsh": ensure => absent, }')
+      apply_manifest('package { "rake": ensure => absent, provider => "gem", }')
       pp = <<-EOS
       $a = "rake"
       ensure_resource('package', $a, {'provider' => 'gem'})
       EOS
 
-      apply_manifest(pp, :expect_changes => true) do |r|
-        expect(r.stdout).to match(/Package\[zsh\]\/ensure: created/)
-      end
+      apply_manifest(pp, :expect_changes => true)
     end
     it 'ensures a resource already declared'
     it 'takes defaults arguments'

From 24a6fecc78824ae411065aaca68e5250790bd778 Mon Sep 17 00:00:00 2001
From: Travis Fields <travis@puppetlabs.com>
Date: Fri, 20 Jun 2014 16:39:15 -0700
Subject: [PATCH 08/27] Add windows Nodesets and remove Beaker from Gemfile

---
 Gemfile                                       |  1 -
 .../acceptance/nodesets/windows-2003-i386.yml | 26 +++++++++++++++++++
 .../nodesets/windows-2003-x86_64.yml          | 26 +++++++++++++++++++
 .../nodesets/windows-2008-x86_64.yml          | 26 +++++++++++++++++++
 .../nodesets/windows-2008r2-x86_64.yml        | 26 +++++++++++++++++++
 .../nodesets/windows-2012-x86_64.yml          | 26 +++++++++++++++++++
 .../nodesets/windows-2012r2-x86_64.yml        | 26 +++++++++++++++++++
 7 files changed, 156 insertions(+), 1 deletion(-)
 create mode 100644 spec/acceptance/nodesets/windows-2003-i386.yml
 create mode 100644 spec/acceptance/nodesets/windows-2003-x86_64.yml
 create mode 100644 spec/acceptance/nodesets/windows-2008-x86_64.yml
 create mode 100644 spec/acceptance/nodesets/windows-2008r2-x86_64.yml
 create mode 100644 spec/acceptance/nodesets/windows-2012-x86_64.yml
 create mode 100644 spec/acceptance/nodesets/windows-2012r2-x86_64.yml

diff --git a/Gemfile b/Gemfile
index bbef72035..c2e58edbd 100644
--- a/Gemfile
+++ b/Gemfile
@@ -18,7 +18,6 @@ group :development, :test do
   gem 'puppet-lint',             :require => false
   gem 'pry',                     :require => false
   gem 'simplecov',               :require => false
-  gem 'beaker',                  :require => false
   gem 'beaker-rspec',            :require => false
 end
 
diff --git a/spec/acceptance/nodesets/windows-2003-i386.yml b/spec/acceptance/nodesets/windows-2003-i386.yml
new file mode 100644
index 000000000..47dadbd52
--- /dev/null
+++ b/spec/acceptance/nodesets/windows-2003-i386.yml
@@ -0,0 +1,26 @@
+HOSTS:
+  ubuntu1204:
+    roles:
+      - master
+      - database
+      - dashboard
+    platform: ubuntu-12.04-amd64
+    template: ubuntu-1204-x86_64
+    hypervisor: vcloud
+  win2003_i386:
+    roles:
+      - agent
+      - default
+    platform: windows-2003-i386
+    template: win-2003-i386
+    hypervisor: vcloud
+CONFIG:
+  nfs_server: none
+  ssh:
+    keys: "~/.ssh/id_rsa-acceptance"
+  consoleport: 443
+  datastore: instance0
+  folder: Delivery/Quality Assurance/Enterprise/Dynamic
+  resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
+  pooling_api: http://vcloud.delivery.puppetlabs.net/
+  pe_dir: http://neptune.puppetlabs.lan/3.2/ci-ready/
diff --git a/spec/acceptance/nodesets/windows-2003-x86_64.yml b/spec/acceptance/nodesets/windows-2003-x86_64.yml
new file mode 100644
index 000000000..6a884bc9f
--- /dev/null
+++ b/spec/acceptance/nodesets/windows-2003-x86_64.yml
@@ -0,0 +1,26 @@
+HOSTS:
+  ubuntu1204:
+    roles:
+      - master
+      - database
+      - dashboard
+    platform: ubuntu-12.04-amd64
+    template: ubuntu-1204-x86_64
+    hypervisor: vcloud
+  win2003_x86_64:
+    roles:
+      - agent
+      - default
+    platform: windows-2003-x86_64
+    template: win-2003-x86_64
+    hypervisor: vcloud
+CONFIG:
+  nfs_server: none
+  ssh:
+    keys: "~/.ssh/id_rsa-acceptance"
+  consoleport: 443
+  datastore: instance0
+  folder: Delivery/Quality Assurance/Enterprise/Dynamic
+  resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
+  pooling_api: http://vcloud.delivery.puppetlabs.net/
+  pe_dir: http://neptune.puppetlabs.lan/3.2/ci-ready/
diff --git a/spec/acceptance/nodesets/windows-2008-x86_64.yml b/spec/acceptance/nodesets/windows-2008-x86_64.yml
new file mode 100644
index 000000000..ae3c11dd1
--- /dev/null
+++ b/spec/acceptance/nodesets/windows-2008-x86_64.yml
@@ -0,0 +1,26 @@
+HOSTS:
+  ubuntu1204:
+    roles:
+      - master
+      - database
+      - dashboard
+    platform: ubuntu-12.04-amd64
+    template: ubuntu-1204-x86_64
+    hypervisor: vcloud
+  win2008_x86_64:
+    roles:
+      - agent
+      - default
+    platform: windows-2008-x86_64
+    template: win-2008-x86_64
+    hypervisor: vcloud
+CONFIG:
+  nfs_server: none
+  ssh:
+    keys: "~/.ssh/id_rsa-acceptance"
+  consoleport: 443
+  datastore: instance0
+  folder: Delivery/Quality Assurance/Enterprise/Dynamic
+  resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
+  pooling_api: http://vcloud.delivery.puppetlabs.net/
+  pe_dir: http://neptune.puppetlabs.lan/3.2/ci-ready/
diff --git a/spec/acceptance/nodesets/windows-2008r2-x86_64.yml b/spec/acceptance/nodesets/windows-2008r2-x86_64.yml
new file mode 100644
index 000000000..63923ac10
--- /dev/null
+++ b/spec/acceptance/nodesets/windows-2008r2-x86_64.yml
@@ -0,0 +1,26 @@
+HOSTS:
+  ubuntu1204:
+    roles:
+      - master
+      - database
+      - dashboard
+    platform: ubuntu-12.04-amd64
+    template: ubuntu-1204-x86_64
+    hypervisor: vcloud
+  win2008r2:
+    roles:
+      - agent
+      - default
+    platform: windows-2008r2-x86_64
+    template: win-2008r2-x86_64
+    hypervisor: vcloud
+CONFIG:
+  nfs_server: none
+  ssh:
+    keys: "~/.ssh/id_rsa-acceptance"
+  consoleport: 443
+  datastore: instance0
+  folder: Delivery/Quality Assurance/Enterprise/Dynamic
+  resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
+  pooling_api: http://vcloud.delivery.puppetlabs.net/
+  pe_dir: http://neptune.puppetlabs.lan/3.2/ci-ready/
diff --git a/spec/acceptance/nodesets/windows-2012-x86_64.yml b/spec/acceptance/nodesets/windows-2012-x86_64.yml
new file mode 100644
index 000000000..eaa4eca90
--- /dev/null
+++ b/spec/acceptance/nodesets/windows-2012-x86_64.yml
@@ -0,0 +1,26 @@
+HOSTS:
+  ubuntu1204:
+    roles:
+      - master
+      - database
+      - dashboard
+    platform: ubuntu-12.04-amd64
+    template: ubuntu-1204-x86_64
+    hypervisor: vcloud
+  win2012:
+    roles:
+      - agent
+      - default
+    platform: windows-2012-x86_64
+    template: win-2012-x86_64
+    hypervisor: vcloud
+CONFIG:
+  nfs_server: none
+  ssh:
+    keys: "~/.ssh/id_rsa-acceptance"
+  consoleport: 443
+  datastore: instance0
+  folder: Delivery/Quality Assurance/Enterprise/Dynamic
+  resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
+  pooling_api: http://vcloud.delivery.puppetlabs.net/
+  pe_dir: http://neptune.puppetlabs.lan/3.2/ci-ready/
diff --git a/spec/acceptance/nodesets/windows-2012r2-x86_64.yml b/spec/acceptance/nodesets/windows-2012r2-x86_64.yml
new file mode 100644
index 000000000..1f0ea97c7
--- /dev/null
+++ b/spec/acceptance/nodesets/windows-2012r2-x86_64.yml
@@ -0,0 +1,26 @@
+HOSTS:
+  ubuntu1204:
+    roles:
+      - master
+      - database
+      - dashboard
+    platform: ubuntu-12.04-amd64
+    template: ubuntu-1204-x86_64
+    hypervisor: vcloud
+  win2012r2:
+    roles:
+      - agent
+      - default
+    platform: windows-2012r2-x86_64
+    template: win-2012r2-x86_64
+    hypervisor: vcloud
+CONFIG:
+  nfs_server: none
+  ssh:
+    keys: "~/.ssh/id_rsa-acceptance"
+  consoleport: 443
+  datastore: instance0
+  folder: Delivery/Quality Assurance/Enterprise/Dynamic
+  resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
+  pooling_api: http://vcloud.delivery.puppetlabs.net/
+  pe_dir: http://neptune.puppetlabs.lan/3.2/ci-ready/

From 4b7162896a0a4ec5dc5166c8846eb5968a3c5329 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Mon, 23 Jun 2014 13:45:06 -0700
Subject: [PATCH 09/27] OS X also has lo0 and can't manage user homedirs

---
 spec/acceptance/getparam_spec.rb           | 12 ++++++------
 spec/acceptance/has_interface_with_spec.rb |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/spec/acceptance/getparam_spec.rb b/spec/acceptance/getparam_spec.rb
index 91fc9a00f..e3e442fb8 100755
--- a/spec/acceptance/getparam_spec.rb
+++ b/spec/acceptance/getparam_spec.rb
@@ -3,18 +3,18 @@
 
 describe 'getparam function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
   describe 'success' do
-    it 'getparam a package' do
+    it 'getparam a notify' do
       pp = <<-EOS
-      user { "rspec":
-        ensure     => present,
-        managehome => true,
+      notify { 'rspec':
+        ensure  => present,
+        message => 'custom rspec message',
       }
-      $o = getparam(User['rspec'], 'managehome')
+      $o = getparam(Notify['rspec'], 'message')
       notice(inline_template('getparam is <%= @o.inspect %>'))
       EOS
 
       apply_manifest(pp, :catch_failures => true) do |r|
-        expect(r.stdout).to match(/getparam is true/)
+        expect(r.stdout).to match(/getparam is "custom rspec message"/)
       end
     end
   end
diff --git a/spec/acceptance/has_interface_with_spec.rb b/spec/acceptance/has_interface_with_spec.rb
index 7b38c95eb..99b768113 100755
--- a/spec/acceptance/has_interface_with_spec.rb
+++ b/spec/acceptance/has_interface_with_spec.rb
@@ -27,7 +27,7 @@
     end
     it 'has_interface_with existing interface' do
       pp = <<-EOS
-      if $osfamily == 'Solaris' {
+      if $osfamily == 'Solaris' or $osfamily == 'Darwin' {
         $a = 'lo0'
       } else {
         $a = 'lo'

From 280d808eb4284daa32b81d4ac90da96a5609a625 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Mon, 23 Jun 2014 13:47:34 -0700
Subject: [PATCH 10/27] Augeas isn't present on windows

---
 spec/acceptance/validate_augeas_spec.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/spec/acceptance/validate_augeas_spec.rb b/spec/acceptance/validate_augeas_spec.rb
index aeec67ae1..71a4c8425 100755
--- a/spec/acceptance/validate_augeas_spec.rb
+++ b/spec/acceptance/validate_augeas_spec.rb
@@ -1,7 +1,7 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
-describe 'validate_augeas function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
+describe 'validate_augeas function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows')) do
   describe 'prep' do
     it 'installs augeas for tests'
   end

From f7b7c4a6ece9d9e5d551ea77867289eee4cfe8e8 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Mon, 23 Jun 2014 15:13:29 -0700
Subject: [PATCH 11/27] Windows needs a tmpdir path

---
 spec/acceptance/loadyaml_spec.rb | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/spec/acceptance/loadyaml_spec.rb b/spec/acceptance/loadyaml_spec.rb
index 944a72735..1e910a978 100644
--- a/spec/acceptance/loadyaml_spec.rb
+++ b/spec/acceptance/loadyaml_spec.rb
@@ -1,16 +1,18 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
+tmpdir = default.tmpdir('stdlib')
+
 describe 'loadyaml function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
   describe 'success' do
     it 'loadyamls array of values' do
-      shell('echo "---
+      shell("echo '---
       aaa: 1
       bbb: 2
       ccc: 3
-      ddd: 4" > /testyaml.yaml')
+      ddd: 4' > #{tmpdir}/testyaml.yaml")
       pp = <<-EOS
-      $o = loadyaml('/testyaml.yaml')
+      $o = loadyaml('#{tmpdir}/testyaml.yaml')
       notice(inline_template('loadyaml[aaa] is <%= @o["aaa"].inspect %>'))
       notice(inline_template('loadyaml[bbb] is <%= @o["bbb"].inspect %>'))
       notice(inline_template('loadyaml[ccc] is <%= @o["ccc"].inspect %>'))

From cfce787890cffed6889b32267204c97f24905416 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Mon, 23 Jun 2014 16:17:23 -0700
Subject: [PATCH 12/27] Remove Modulefile; use metadata.json

---
 Modulefile | 11 -----------
 1 file changed, 11 deletions(-)
 delete mode 100644 Modulefile

diff --git a/Modulefile b/Modulefile
deleted file mode 100644
index bf80e3b2b..000000000
--- a/Modulefile
+++ /dev/null
@@ -1,11 +0,0 @@
-name    'puppetlabs-stdlib'
-version '4.2.2'
-source 'git://github.com/puppetlabs/puppetlabs-stdlib.git'
-author 'puppetlabs'
-license 'Apache 2.0'
-summary 'Puppet Module Standard Library'
-description 'Standard Library for Puppet Modules'
-project_page 'https://github.com/puppetlabs/puppetlabs-stdlib'
-
-## Add dependencies, if any:
-# dependency 'username/name', '>= 1.2.0'

From 0199e2396aa841fb8d34e8c33da2373e2b2c9416 Mon Sep 17 00:00:00 2001
From: Travis Fields <travis@puppetlabs.com>
Date: Mon, 23 Jun 2014 16:59:46 -0700
Subject: [PATCH 13/27] Add windows support and work around issue with SCP_TO
 on windows systems

---
 spec/spec_helper_acceptance.rb | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb
index 8e56daa68..dc2cfdcf7 100755
--- a/spec/spec_helper_acceptance.rb
+++ b/spec/spec_helper_acceptance.rb
@@ -6,7 +6,12 @@
 unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
   if hosts.first.is_pe?
     install_pe
-    on hosts, 'mkdir -p /etc/puppetlabs/facter/facts.d'
+    hosts.each do |host|
+      if !(host['platform'] =~ /windows/)
+        on host, 'mkdir -p /etc/puppetlabs/facter/facts.d'
+      end
+    end
+
   else
     install_puppet
     on hosts, 'mkdir -p /etc/facter/facts.d'
@@ -26,6 +31,15 @@
 
   # Configure all nodes in nodeset
   c.before :suite do
-    puppet_module_install(:source => proj_root, :module_name => 'stdlib')
+    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
   end
 end

From 78f5141290926aaabec3980aae9d923c7bf1d359 Mon Sep 17 00:00:00 2001
From: Travis Fields <travis@puppetlabs.com>
Date: Mon, 23 Jun 2014 17:24:08 -0700
Subject: [PATCH 14/27] Removed platform check for facts.d mkdir

---
 spec/spec_helper_acceptance.rb | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb
index dc2cfdcf7..e9ccc68fd 100755
--- a/spec/spec_helper_acceptance.rb
+++ b/spec/spec_helper_acceptance.rb
@@ -6,12 +6,7 @@
 unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
   if hosts.first.is_pe?
     install_pe
-    hosts.each do |host|
-      if !(host['platform'] =~ /windows/)
-        on host, 'mkdir -p /etc/puppetlabs/facter/facts.d'
-      end
-    end
-
+    on hosts, 'mkdir -p /etc/puppetlabs/facter/facts.d'
   else
     install_puppet
     on hosts, 'mkdir -p /etc/facter/facts.d'

From 64f0ae2269be8b98d2d028dcb6a732be67b0f3a6 Mon Sep 17 00:00:00 2001
From: Travis Fields <travis@puppetlabs.com>
Date: Mon, 23 Jun 2014 22:47:03 -0700
Subject: [PATCH 15/27] Increase resilience if lookup var comes back with nil
 object

---
 lib/puppet/parser/functions/has_interface_with.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/puppet/parser/functions/has_interface_with.rb b/lib/puppet/parser/functions/has_interface_with.rb
index 7f150a717..927b0dfeb 100644
--- a/lib/puppet/parser/functions/has_interface_with.rb
+++ b/lib/puppet/parser/functions/has_interface_with.rb
@@ -25,7 +25,7 @@ module Puppet::Parser::Functions
     interfaces = lookupvar('interfaces')
 
     # If we do not have any interfaces, then there are no requested attributes
-    return false if (interfaces == :undefined)
+    return false if (interfaces == :undefined || interfaces.nil?)
 
     interfaces = interfaces.split(',')
 

From eb507c9a5486d269ec6a36f169eb68695910bfbf Mon Sep 17 00:00:00 2001
From: Travis Fields <travis@puppetlabs.com>
Date: Mon, 23 Jun 2014 23:27:59 -0700
Subject: [PATCH 16/27] Fixed fqdn,getparam and has_interface_with spec tests

---
 spec/acceptance/fqdn_rotate_spec.rb        | 19 ++++++++++++++++---
 spec/acceptance/getparam_spec.rb           |  1 -
 spec/acceptance/has_interface_with_spec.rb | 10 ++++++++--
 3 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/spec/acceptance/fqdn_rotate_spec.rb b/spec/acceptance/fqdn_rotate_spec.rb
index fc8bea24e..2527c28da 100755
--- a/spec/acceptance/fqdn_rotate_spec.rb
+++ b/spec/acceptance/fqdn_rotate_spec.rb
@@ -5,7 +5,15 @@
   describe 'success' do
     let(:facts_d) do
       if fact('is_pe') == "true"
-        '/etc/puppetlabs/facter/facts.d'
+        if fact('osfamily') =~ /windows/i
+          if fact('kernelmajversion').to_f < 6.0
+            'C:\Documents and Settings\All Users\Application Data\PuppetLabs\facter\facts.d'
+          else
+            'C:\ProgramData\PuppetLabs\facter\facts.d'
+          end
+        else
+          '/etc/puppetlabs/facter/facts.d'
+        end
       else
         '/etc/facter/facts.d'
       end
@@ -13,9 +21,14 @@
     after :each do
       shell("if [ -f #{facts_d}/fqdn.txt ] ; then rm #{facts_d}/fqdn.txt ; fi")
     end
+    before :all do
+      #No need to create on windows, PE creates by default
+      if fact('osfamily') !~ /windows/i
+        shell("mkdir -p #{facts_d}")
+      end
+    end
     it 'fqdn_rotates floats' do
-      shell("mkdir -p #{facts_d}")
-      shell("echo 'fqdn=fakehost.localdomain' > #{facts_d}/fqdn.txt")
+      shell("echo fqdn=fakehost.localdomain > #{facts_d}/fqdn.txt")
       pp = <<-EOS
       $a = ['a','b','c','d']
       $o = fqdn_rotate($a)
diff --git a/spec/acceptance/getparam_spec.rb b/spec/acceptance/getparam_spec.rb
index e3e442fb8..b1a677eca 100755
--- a/spec/acceptance/getparam_spec.rb
+++ b/spec/acceptance/getparam_spec.rb
@@ -6,7 +6,6 @@
     it 'getparam a notify' do
       pp = <<-EOS
       notify { 'rspec':
-        ensure  => present,
         message => 'custom rspec message',
       }
       $o = getparam(Notify['rspec'], 'message')
diff --git a/spec/acceptance/has_interface_with_spec.rb b/spec/acceptance/has_interface_with_spec.rb
index 99b768113..c9decdf0e 100755
--- a/spec/acceptance/has_interface_with_spec.rb
+++ b/spec/acceptance/has_interface_with_spec.rb
@@ -5,7 +5,7 @@
   describe 'success' do
     it 'has_interface_with existing ipaddress' do
       pp = <<-EOS
-      $a = '127.0.0.1'
+      $a = $::ipaddress
       $o = has_interface_with('ipaddress', $a)
       notice(inline_template('has_interface_with is <%= @o.inspect %>'))
       EOS
@@ -29,7 +29,13 @@
       pp = <<-EOS
       if $osfamily == 'Solaris' or $osfamily == 'Darwin' {
         $a = 'lo0'
-      } else {
+      }elsif $osfamily == 'windows' {
+        $a = $::kernelmajversion ? {
+          /6\.(2|3|4)/ => 'Ethernet0',
+          /6\.(0|1)/ => 'Local_Area_Connection',
+          /5\.(1|2)/  => undef, #Broken current in facter
+        }
+      }else {
         $a = 'lo'
       }
       $o = has_interface_with($a)

From def3af9cb018a204e4f007c41955099658591e02 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Tue, 24 Jun 2014 10:27:25 -0700
Subject: [PATCH 17/27] stdlib 4 isn't compatible with PE 3.2

---
 metadata.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/metadata.json b/metadata.json
index acb880fae..ff35d2ccc 100644
--- a/metadata.json
+++ b/metadata.json
@@ -89,7 +89,7 @@
   "requirements": [
     {
       "name": "pe",
-      "version_requirement": ">= 3.2.0 < 3.4.0"
+      "version_requirement": "3.3.x"
     },
     {
       "name": "puppet",

From ca35be6480a5935a4b0e0721bdb726934269e433 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Tue, 24 Jun 2014 11:37:34 -0700
Subject: [PATCH 18/27] Fix pe facts and slashes

---
 spec/acceptance/fqdn_rotate_spec.rb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/spec/acceptance/fqdn_rotate_spec.rb b/spec/acceptance/fqdn_rotate_spec.rb
index 2527c28da..bc02eb6b1 100755
--- a/spec/acceptance/fqdn_rotate_spec.rb
+++ b/spec/acceptance/fqdn_rotate_spec.rb
@@ -4,12 +4,12 @@
 describe 'fqdn_rotate function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
   describe 'success' do
     let(:facts_d) do
-      if fact('is_pe') == "true"
+      if fact('is_pe', '--puppet') == "true"
         if fact('osfamily') =~ /windows/i
           if fact('kernelmajversion').to_f < 6.0
-            'C:\Documents and Settings\All Users\Application Data\PuppetLabs\facter\facts.d'
+            'C:\\Documents and Settings\\All Users\\Application Data\\PuppetLabs\\facter\\facts.d'
           else
-            'C:\ProgramData\PuppetLabs\facter\facts.d'
+            'C:\\ProgramData\\PuppetLabs\\facter\\facts.d'
           end
         else
           '/etc/puppetlabs/facter/facts.d'

From 0cac9fd0489180d7b6ae59ce67334dc34ddcc961 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Tue, 24 Jun 2014 15:03:58 -0700
Subject: [PATCH 19/27] Not enough escape velocity

---
 spec/acceptance/fqdn_rotate_spec.rb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/spec/acceptance/fqdn_rotate_spec.rb b/spec/acceptance/fqdn_rotate_spec.rb
index bc02eb6b1..d56c2b1f0 100755
--- a/spec/acceptance/fqdn_rotate_spec.rb
+++ b/spec/acceptance/fqdn_rotate_spec.rb
@@ -7,9 +7,9 @@
       if fact('is_pe', '--puppet') == "true"
         if fact('osfamily') =~ /windows/i
           if fact('kernelmajversion').to_f < 6.0
-            'C:\\Documents and Settings\\All Users\\Application Data\\PuppetLabs\\facter\\facts.d'
+            'C:/Documents and Settings/All Users/Application Data/PuppetLabs/facter/facts.d'
           else
-            'C:\\ProgramData\\PuppetLabs\\facter\\facts.d'
+            'C:/ProgramData/PuppetLabs/facter/facts.d'
           end
         else
           '/etc/puppetlabs/facter/facts.d'

From 05b79dcabbdb67aab322fa6e12e77532ab044749 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Wed, 25 Jun 2014 10:16:06 -0700
Subject: [PATCH 20/27] Disable windows network stuff and quote path

---
 spec/acceptance/fqdn_rotate_spec.rb        | 2 +-
 spec/acceptance/has_interface_with_spec.rb | 2 +-
 spec/acceptance/has_ip_address_spec.rb     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/spec/acceptance/fqdn_rotate_spec.rb b/spec/acceptance/fqdn_rotate_spec.rb
index d56c2b1f0..ee2afb5a9 100755
--- a/spec/acceptance/fqdn_rotate_spec.rb
+++ b/spec/acceptance/fqdn_rotate_spec.rb
@@ -28,7 +28,7 @@
       end
     end
     it 'fqdn_rotates floats' do
-      shell("echo fqdn=fakehost.localdomain > #{facts_d}/fqdn.txt")
+      shell("echo fqdn=fakehost.localdomain > '#{facts_d}/fqdn.txt'")
       pp = <<-EOS
       $a = ['a','b','c','d']
       $o = fqdn_rotate($a)
diff --git a/spec/acceptance/has_interface_with_spec.rb b/spec/acceptance/has_interface_with_spec.rb
index c9decdf0e..b09199a7d 100755
--- a/spec/acceptance/has_interface_with_spec.rb
+++ b/spec/acceptance/has_interface_with_spec.rb
@@ -1,7 +1,7 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
-describe 'has_interface_with function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
+describe 'has_interface_with function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows')) do
   describe 'success' do
     it 'has_interface_with existing ipaddress' do
       pp = <<-EOS
diff --git a/spec/acceptance/has_ip_address_spec.rb b/spec/acceptance/has_ip_address_spec.rb
index 7d5fd8729..50eb8f5cf 100755
--- a/spec/acceptance/has_ip_address_spec.rb
+++ b/spec/acceptance/has_ip_address_spec.rb
@@ -1,7 +1,7 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
-describe 'has_ip_address function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
+describe 'has_ip_address function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows')) do
   describe 'success' do
     it 'has_ip_address existing ipaddress' do
       pp = <<-EOS

From b93f71f0ced2cb87e4817e2eb4858fb1e47f3901 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Thu, 26 Jun 2014 13:12:39 -0700
Subject: [PATCH 21/27] has_ip_network doesn't work on windows either

---
 spec/acceptance/has_ip_network_spec.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/spec/acceptance/has_ip_network_spec.rb b/spec/acceptance/has_ip_network_spec.rb
index 692eaf9b4..162874665 100755
--- a/spec/acceptance/has_ip_network_spec.rb
+++ b/spec/acceptance/has_ip_network_spec.rb
@@ -1,7 +1,7 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
-describe 'has_ip_network function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
+describe 'has_ip_network function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows')) do
   describe 'success' do
     it 'has_ip_network existing ipaddress' do
       pp = <<-EOS

From 1b893ff653d64ca8a923ab37a0c222fc35c0eb5f Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Thu, 26 Jun 2014 13:17:07 -0700
Subject: [PATCH 22/27] Need quotes for spaces in path

---
 spec/acceptance/fqdn_rotate_spec.rb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/spec/acceptance/fqdn_rotate_spec.rb b/spec/acceptance/fqdn_rotate_spec.rb
index ee2afb5a9..c37b35a39 100755
--- a/spec/acceptance/fqdn_rotate_spec.rb
+++ b/spec/acceptance/fqdn_rotate_spec.rb
@@ -19,12 +19,12 @@
       end
     end
     after :each do
-      shell("if [ -f #{facts_d}/fqdn.txt ] ; then rm #{facts_d}/fqdn.txt ; fi")
+      shell("if [ -f '#{facts_d}/fqdn.txt' ] ; then rm '#{facts_d}/fqdn.txt' ; fi")
     end
     before :all do
       #No need to create on windows, PE creates by default
       if fact('osfamily') !~ /windows/i
-        shell("mkdir -p #{facts_d}")
+        shell("mkdir -p '#{facts_d}'")
       end
     end
     it 'fqdn_rotates floats' do

From ec607827ad659431341383b92cee20cfd0603203 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Thu, 26 Jun 2014 13:55:57 -0700
Subject: [PATCH 23/27] Gotta single quote yer typewriter buttons

---
 spec/acceptance/chop_spec.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/spec/acceptance/chop_spec.rb b/spec/acceptance/chop_spec.rb
index dbc28da7e..a16a71026 100755
--- a/spec/acceptance/chop_spec.rb
+++ b/spec/acceptance/chop_spec.rb
@@ -19,7 +19,7 @@
     end
 
     it 'should eat the last two characters of \r\n' do
-      pp = <<-EOS
+      pp = <<-'EOS'
       $input = "test\r\n"
       if size($input) != 6 {
         fail("Size of ${input} is not 6.")

From ae82e2cb17c2829d4568ed7223ac8888a47c1d77 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Fri, 27 Jun 2014 12:30:27 -0700
Subject: [PATCH 24/27] Release 4.3.0

Summary:
This release is the first supported release of the stdlib 4 series. It
emains backwards-compatible with the stdlib 3 series. It adds two new
unctions, one bugfix, and many testin

Features:
- New `bool2str()` function
- New `camalcase()` function

Bugfixes:
- Fix `has_interface_with()` when interfaces fact is nil
---
 CHANGELOG.md  | 12 ++++++++++++
 metadata.json |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 97979bfae..acf6032cb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+##2014-06-27 - Supported Release 4.3.0
+### Summary
+This release is the first supported release of the stdlib 4 series. It remains
+backwards-compatible with the stdlib 3 series. It adds two new functions, one bugfix, and many testing updates.
+
+#### Features
+- New `bool2str()` function
+- New `camalcase()` function
+
+#### Bugfixes
+- Fix `has_interface_with()` when interfaces fact is nil
+
 ##2014-06-04 - Release 4.2.2
 ### Summary
 
diff --git a/metadata.json b/metadata.json
index ff35d2ccc..121f67307 100644
--- a/metadata.json
+++ b/metadata.json
@@ -97,7 +97,7 @@
     }
   ],
   "name": "puppetlabs-stdlib",
-  "version": "4.2.2",
+  "version": "4.3.0",
   "source": "git://github.com/puppetlabs/puppetlabs-stdlib",
   "author": "puppetlabs",
   "license": "Apache 2.0",

From 07462f2c3619e4d6589b364f11b01ea9ca37ac61 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Tue, 8 Jul 2014 13:45:36 -0700
Subject: [PATCH 25/27] AIX has no facter network support

These functions take advantage of IP fact information and AIX does not
appear to support dynamic interface detection in facter.
---
 spec/acceptance/has_interface_with_spec.rb | 2 +-
 spec/acceptance/has_ip_address_spec.rb     | 2 +-
 spec/acceptance/has_ip_network_spec.rb     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/spec/acceptance/has_interface_with_spec.rb b/spec/acceptance/has_interface_with_spec.rb
index b09199a7d..959019304 100755
--- a/spec/acceptance/has_interface_with_spec.rb
+++ b/spec/acceptance/has_interface_with_spec.rb
@@ -1,7 +1,7 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
-describe 'has_interface_with function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows')) do
+describe 'has_interface_with function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows') or (fact('osfamily') == 'AIX')) do
   describe 'success' do
     it 'has_interface_with existing ipaddress' do
       pp = <<-EOS
diff --git a/spec/acceptance/has_ip_address_spec.rb b/spec/acceptance/has_ip_address_spec.rb
index 50eb8f5cf..149a10dc9 100755
--- a/spec/acceptance/has_ip_address_spec.rb
+++ b/spec/acceptance/has_ip_address_spec.rb
@@ -1,7 +1,7 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
-describe 'has_ip_address function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows')) do
+describe 'has_ip_address function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows') or (fact('osfamily') == 'AIX')) do
   describe 'success' do
     it 'has_ip_address existing ipaddress' do
       pp = <<-EOS
diff --git a/spec/acceptance/has_ip_network_spec.rb b/spec/acceptance/has_ip_network_spec.rb
index 162874665..7d2f34ed5 100755
--- a/spec/acceptance/has_ip_network_spec.rb
+++ b/spec/acceptance/has_ip_network_spec.rb
@@ -1,7 +1,7 @@
 #! /usr/bin/env ruby -S rspec
 require 'spec_helper_acceptance'
 
-describe 'has_ip_network function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows')) do
+describe 'has_ip_network function', :unless => ((UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem'))) or (fact('osfamily') == 'windows') or (fact('osfamily') == 'AIX')) do
   describe 'success' do
     it 'has_ip_network existing ipaddress' do
       pp = <<-EOS

From c0d35cfe9e5a9001901af4bd440b613dcc9cfb62 Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Mon, 14 Jul 2014 15:51:21 -0700
Subject: [PATCH 26/27] Correct metadata.json to match checksum

---
 metadata.json | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/metadata.json b/metadata.json
index 121f67307..ddec54053 100644
--- a/metadata.json
+++ b/metadata.json
@@ -1,4 +1,12 @@
 {
+  "name": "puppetlabs-stdlib",
+  "version": "4.3.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",
   "operatingsystem_support": [
     {
       "operatingsystem": "RedHat",
@@ -96,15 +104,8 @@
       "version_requirement": ">=2.7.20 <4.0.0"
     }
   ],
-  "name": "puppetlabs-stdlib",
-  "version": "4.3.0",
-  "source": "git://github.com/puppetlabs/puppetlabs-stdlib",
-  "author": "puppetlabs",
-  "license": "Apache 2.0",
-  "summary": "Puppet Module Standard Library",
   "description": "Standard Library for Puppet Modules",
-  "project_page": "https://github.com/puppetlabs/puppetlabs-stdlib",
   "dependencies": [
-
+  
   ]
 }

From 90ac0a7742e1d20905287851454a0c3a1fbb5f0a Mon Sep 17 00:00:00 2001
From: Hunter Haugen <hunter@puppetlabs.com>
Date: Mon, 14 Jul 2014 15:55:06 -0700
Subject: [PATCH 27/27] Release 4.3.1

Summary
This supported release updates the metadata.json to work around upgrade
behavior of the PMT.

Bugfixes
- Synchronize metadata.json with PMT-generated metadata to pass
  checksums
---
 CHANGELOG.md  | 7 +++++++
 metadata.json | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index acf6032cb..0a63ec60a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+##2014-07-14 - Supported Release 4.3.1
+### Summary
+This supported release updates the metadata.json to work around upgrade behavior of the PMT.
+
+#### Bugfixes
+- Synchronize metadata.json with PMT-generated metadata to pass checksums
+
 ##2014-06-27 - Supported Release 4.3.0
 ### Summary
 This release is the first supported release of the stdlib 4 series. It remains
diff --git a/metadata.json b/metadata.json
index ddec54053..bce75e093 100644
--- a/metadata.json
+++ b/metadata.json
@@ -1,6 +1,6 @@
 {
   "name": "puppetlabs-stdlib",
-  "version": "4.3.0",
+  "version": "4.3.1",
   "author": "puppetlabs",
   "summary": "Puppet Module Standard Library",
   "license": "Apache 2.0",