From 4fcbc8bf7c438c7aa4e2855f9b0069b67bd27a38 Mon Sep 17 00:00:00 2001 From: Colleen Murphy Date: Sun, 19 Mar 2017 13:20:07 +0100 Subject: [PATCH] Fix beaker-rspec tests The puppet-openstackci beaker tests have been failing for all the puppet modules since they began running on Ubuntu Xenial nodes. This was because there was no Xenial-specific nodeset file for beaker to run and it was simply failing upon being unable to find the file. This patch adds the ubuntu-xenial nodeset. Further, it forgoes the install_puppet function because it attempts to install puppet 3 from the puppetlabs apt repo, which does not support Xenial. Because we're no longer using the install_puppet function, we also need to set default values for the host object so that we can access things like host['distmoduledir']. Finally, we add the libffi-dev package since the keyring pip package requires it to build and it does not seem to be in our Xenial images. Change-Id: I8cc44e78116d6a7c8406e6c03756acb63c70834f --- manifests/logserver.pp | 8 +++++++- spec/acceptance/nodesets/nodepool-xenial.yml | 10 ++++++++++ spec/spec_helper_acceptance.rb | 5 ++++- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 spec/acceptance/nodesets/nodepool-xenial.yml diff --git a/manifests/logserver.pp b/manifests/logserver.pp index fb742da..b553743 100644 --- a/manifests/logserver.pp +++ b/manifests/logserver.pp @@ -115,10 +115,16 @@ class openstackci::logserver ( } } + if ! defined(Package['libffi-dev']) { + package { 'libffi-dev': + ensure => 'present', + } + } + package { 'keyring': ensure => 'latest', provider => 'openstack_pip', - require => [Package['libdbus-1-dev'], Package['libdbus-glib-1-dev'], Package['build-essential'], Package['python-dev']], + require => [Package['libdbus-1-dev'], Package['libdbus-glib-1-dev'], Package['build-essential'], Package['python-dev'], Package['libffi-dev']], } vcsrepo { '/opt/os-loganalyze': 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..c99e3c3 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -2,7 +2,10 @@ 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] } + on host, "which yum && yum install puppet -y", { :acceptable_exit_codes => [0,1] } + add_platform_foss_defaults(host, 'unix') on host, "mkdir -p #{host['distmoduledir']}" end