From d0de990f92a9a9cb7f705ecd39dd8aa02d02bf48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20M=C3=A1gr?= Date: Fri, 22 May 2015 10:03:28 +0200 Subject: [PATCH] Bring Redhat support to acceptance tests OpenStack Infra has jobs to run this on both Ubuntu Trusty and CentOS7. * Add minitest to Gemfile (dependency to run beaker on centos - see http://projects.theforeman.org/issues/2650 for details) * separate nodepool files to have trusty & centos7 support in OS infra * rabbitmq_spec: add support for RH systems. * mysql_spec: removed .my.cnf dependency Change-Id: Ic4864e6e1a23a09057a332b6b6536e4ef4e3af00 Closes-bug: #1444736 --- Gemfile | 1 + spec/acceptance/mysql_spec.rb | 2 +- spec/acceptance/nodesets/nodepool-centos7.yml | 9 +++++++++ .../{nodepool.yml => nodepool-trusty.yml} | 0 spec/acceptance/rabbitmq_spec.rb | 20 +++++++++++++++++++ spec/spec_helper_acceptance.rb | 1 + 6 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 spec/acceptance/nodesets/nodepool-centos7.yml rename spec/acceptance/nodesets/{nodepool.yml => nodepool-trusty.yml} (100%) diff --git a/Gemfile b/Gemfile index 3e2f53f7..c160cace 100644 --- a/Gemfile +++ b/Gemfile @@ -3,6 +3,7 @@ source 'https://rubygems.org' group :development, :test do gem 'puppetlabs_spec_helper', :require => false gem 'rspec-puppet', '~> 2.1.0', :require => false + gem 'minitest', '~> 4.7', :require => 'minitest/unit' gem 'puppet-lint', '~> 1.1.0' gem 'metadata-json-lint' diff --git a/spec/acceptance/mysql_spec.rb b/spec/acceptance/mysql_spec.rb index 44366e1c..590a17a6 100644 --- a/spec/acceptance/mysql_spec.rb +++ b/spec/acceptance/mysql_spec.rb @@ -25,7 +25,7 @@ describe 'openstacklib mysql' do it { is_expected.to be_listening.with('tcp') } end - describe command("mysql --defaults-file=/root/.my.cnf -e 'show databases;' | grep -q beaker") do + describe command("mysql -e 'show databases;' | grep -q beaker") do it { should return_exit_status 0 } end diff --git a/spec/acceptance/nodesets/nodepool-centos7.yml b/spec/acceptance/nodesets/nodepool-centos7.yml new file mode 100644 index 00000000..aed4f0b2 --- /dev/null +++ b/spec/acceptance/nodesets/nodepool-centos7.yml @@ -0,0 +1,9 @@ +HOSTS: + centos-70-x64: + roles: + - master + platform: el-7-x86_64 + hypervisor : none + ip: 127.0.0.1 +CONFIG: + type: foss diff --git a/spec/acceptance/nodesets/nodepool.yml b/spec/acceptance/nodesets/nodepool-trusty.yml similarity index 100% rename from spec/acceptance/nodesets/nodepool.yml rename to spec/acceptance/nodesets/nodepool-trusty.yml diff --git a/spec/acceptance/rabbitmq_spec.rb b/spec/acceptance/rabbitmq_spec.rb index 98e1cb4f..4b82b822 100644 --- a/spec/acceptance/rabbitmq_spec.rb +++ b/spec/acceptance/rabbitmq_spec.rb @@ -8,9 +8,29 @@ describe 'openstacklib class' do pp= <<-EOS Exec { logoutput => 'on_failure' } + if $::osfamily == 'RedHat' { + # RabbitMQ is not available in default repo + class { '::openstack_extras::repo::redhat::redhat': + # Kilo is not GA yet, so let's use the testing repo + manage_rdo => false, + repo_hash => { + 'rdo-kilo-testing' => { + 'baseurl' => 'https://repos.fedorapeople.org/repos/openstack/openstack-kilo/testing/el7/', + # packages are not GA so not signed + 'gpgcheck' => '0', + 'priority' => 97, + }, + }, + } + $package_provider = 'yum' + } else { + $package_provider = 'apt' + } + class { '::rabbitmq': delete_guest_user => true, erlang_cookie => 'secrete', + package_provider => $package_provider } # openstacklib resources diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index 52d84d2d..6072dde1 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -32,6 +32,7 @@ RSpec.configure do |c| on host, puppet('module','install','stahnma-epel'), { :acceptable_exit_codes => 0 } # until https://github.com/tamaskozak/puppetlabs-rabbitmq/commit/8bbfe320035fae2ae900211501008d63dc3c171c is part of a release shell('git clone https://github.com/puppetlabs/puppetlabs-rabbitmq /etc/puppet/modules/rabbitmq') + shell('git clone https://git.openstack.org/stackforge/puppet-openstack_extras /etc/puppet/modules/openstack_extras') # Install the module being tested puppet_module_install(:source => proj_root, :module_name => 'openstacklib') # List modules installed to help with debugging