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
* spec: add case for repo configuration and support
  RH systems.

Change-Id: I9189efd25a8a6894b9b0be4da45bbdd49b487913
Closes-bug: #1444736
This commit is contained in:
Emilien Macchi 2015-05-14 13:28:22 -04:00
parent c566f7a75c
commit b975b22d97
5 changed files with 48 additions and 13 deletions

View File

@ -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'

View File

@ -8,10 +8,31 @@ describe 'horizon class' do
pp= <<-EOS
Exec { logoutput => 'on_failure' }
include ::apt
class { '::openstack_extras::repo::debian::ubuntu':
release => 'kilo',
package_require => true,
case $::osfamily {
'Debian': {
include ::apt
class { '::openstack_extras::repo::debian::ubuntu':
release => 'kilo',
package_require => true,
}
}
'RedHat': {
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,
},
},
}
}
default: {
fail("Unsupported osfamily (${::osfamily})")
}
}
class { '::horizon':
@ -29,8 +50,14 @@ describe 'horizon class' do
end
# basic test for now, to make sure Apache serve /horizon dashboard
describe command('curl --connect-timeout 5 -sL -w "%{http_code} %{url_effective}\n" http://localhost/horizon/ -o /dev/null') do
it { should return_exit_status 0 }
if os[:family] == 'Debian'
describe command('curl --connect-timeout 5 -sL -w "%{http_code} %{url_effective}\n" http://localhost/horizon/ -o /dev/null') do
it { should return_exit_status 0 }
end
elsif os[:family] == 'RedHat'
describe command('curl --connect-timeout 5 -sL -w "%{http_code} %{url_effective}\n" http://localhost/dashboard/ -o /dev/null') do
it { should return_exit_status 0 }
end
end
end

View File

@ -1,11 +1,9 @@
HOSTS:
ubuntu-server-1404-x64:
ubuntu-14.04-amd64:
roles:
- master
platform: ubuntu-14.04-amd64
box : trusty-server-cloudimg-amd64-vagrant-disk1
box_url : puppetlabs/ubuntu-14.04-64-nocm
hypervisor : vagrant
hypervisor : none
ip: 127.0.0.1
CONFIG:
log_level : debug
type: git
type: foss

View File

@ -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

View File

@ -1,5 +1,5 @@
HOSTS:
ubuntu-server-1404-x64:
ubuntu-14.04-amd64:
roles:
- master
platform: ubuntu-14.04-amd64