From ece1848afac6cf04b35eecc2a7bbed1a20c92c63 Mon Sep 17 00:00:00 2001
From: Colleen Murphy <colleen@gazlene.net>
Date: Sun, 11 Jun 2017 20:34:18 +0200
Subject: [PATCH] Update beaker setup for xenial

Add a xenial nodeset and update the spec helper to install puppet 3 from
the Ubuntu repos instead of from puppetlabs.

Change-Id: I577b70ff634478d28a54f708649269593da8bf73
---
 spec/acceptance/nodesets/nodepool-xenial.yml | 10 ++++++++++
 spec/spec_helper_acceptance.rb               | 10 +++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 spec/acceptance/nodesets/nodepool-xenial.yml

diff --git a/spec/acceptance/nodesets/nodepool-xenial.yml b/spec/acceptance/nodesets/nodepool-xenial.yml
new file mode 100644
index 0000000..99dd318
--- /dev/null
+++ b/spec/acceptance/nodesets/nodepool-xenial.yml
@@ -0,0 +1,10 @@
+HOSTS:
+  ubuntu-16.04-amd64:
+    roles:
+      - master
+    platform: ubuntu-16.04-amd64
+    hypervisor: none
+    ip: 127.0.0.1
+CONFIG:
+  type: foss
+  set_env: false
diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb
index 7a5efa1..de96291 100644
--- a/spec/spec_helper_acceptance.rb
+++ b/spec/spec_helper_acceptance.rb
@@ -2,7 +2,15 @@ require 'beaker-rspec'
 
 hosts.each do |host|
 
-  install_puppet
+  # puppet 3 isn't available from apt.puppetlabs.com so install it from the Xenial repos
+  on host, "which apt-get && apt-get install puppet -y", { :acceptable_exit_codes => [0,1] }
+  # otherwise use the beaker helpers to install the yum.puppetlabs.com repo and puppet
+  r = on host, "which yum",  { :acceptable_exit_codes => [0,1] }
+  if r.exit_code == 0
+    install_puppet
+  end
+  add_platform_foss_defaults(host, 'unix')
+
 
   on host, "mkdir -p #{host['distmoduledir']}"
 end