From ebcf33c92a67ce8525e0272f0d8b0ef775d2a868 Mon Sep 17 00:00:00 2001 From: Colleen Murphy Date: Sun, 25 Jun 2017 14:45:27 +0200 Subject: [PATCH] Fix beaker on xenial This patch adds a xenial nodeset and updates the spec helper to install puppet 3 from the Ubuntu repos instead of from puppetlabs. However, it ultimately disables the tests on xenial because neither the Ubuntu Cloud Archive[1] nor the Puppet-OpenStack modules support mitaka on xenial. We will need to plan our xenial upgrade and OpenStack upgrade at the same time and reenable xenial testing when we are ready for the OpenStack upgrade. [1] http://ubuntu-cloud.archive.canonical.com/ubuntu/dists/xenial-updates/ Change-Id: I3b7c2c83d6a20907de4b69fe6fcd4c59a5052d23 --- spec/acceptance/allinone_spec.rb | 2 +- spec/acceptance/nodesets/nodepool-xenial.yml | 10 ++++++++++ spec/spec_helper_acceptance.rb | 10 +++++++++- 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 spec/acceptance/nodesets/nodepool-xenial.yml diff --git a/spec/acceptance/allinone_spec.rb b/spec/acceptance/allinone_spec.rb index 6cb2056..0e8b6a7 100644 --- a/spec/acceptance/allinone_spec.rb +++ b/spec/acceptance/allinone_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper_acceptance' -describe 'allinone', :if => os[:family] == 'ubuntu' do +describe 'allinone', :if => os[:family] == 'ubuntu' && os[:release] != '16.04' do fixtures_path = File.join(File.dirname(__FILE__), 'fixtures') controller_path = File.join(fixtures_path, 'allinone_controller.pp') 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