CentOS 8 support

- Update package names
- Migrate to using apache2_mod_wsgi resource and require apache2 ~> 8.6
- Update ChefSpec

Depends-On: https://review.opendev.org/c/openstack/cookbook-openstack-image/+/815148
Depends-On: https://review.opendev.org/c/openstack/cookbook-openstack-network/+/815172
Change-Id: I1e62b07c634845ecaac088d7ff4cceb78af680de
Signed-off-by: Lance Albertson <lance@osuosl.org>
This commit is contained in:
Lance Albertson 2021-10-22 16:11:15 -07:00
parent 580719e17b
commit e1accbc3d6
9 changed files with 56 additions and 32 deletions

View File

@ -36,7 +36,7 @@ Cookbooks
The following cookbooks are dependencies:
- 'apache2', '~> 8.1'
- 'apache2', '~> 8.6'
- 'openstack-common', '>= 20.0.0'
- 'openstack-identity', '>= 20.0.0'
- 'openstack-image', '>= 20.0.0'

View File

@ -104,11 +104,11 @@ default['openstack']['bare_metal']['ssl']['ciphers'] = ''
case node['platform_family']
when 'fedora', 'rhel'
default['openstack']['bare_metal']['platform'] = {
'ironic_api_packages' => %w(openstack-ironic-api mod_wsgi),
'ironic_api_packages' => %w(openstack-ironic-api),
'ironic_api_service' => 'openstack-ironic-api',
'ironic_conductor_packages' => %w(openstack-ironic-conductor ipmitool),
'ironic_conductor_service' => 'openstack-ironic-conductor',
'ironic_common_packages' => %w(openstack-ironic-common python-ironicclient),
'ironic_common_packages' => node['platform_version'].to_i >= 8 ? %w(openstack-ironic-common python3-ironicclient) : %w(openstack-ironic-common python-ironicclient),
}
when 'debian'
default['openstack']['bare_metal']['platform'] = {

View File

@ -12,7 +12,7 @@ chef_version '>= 16.0'
supports os
end
depends 'apache2', '~> 8.1'
depends 'apache2', '~> 8.6'
depends 'openstack-common', '>= 20.0.0'
depends 'openstack-identity', '>= 20.0.0'
depends 'openstack-image', '>= 20.0.0'

View File

@ -71,7 +71,7 @@ service 'apache2' do
action :nothing
end
apache2_module 'wsgi'
apache2_mod_wsgi 'bare-metal'
apache2_module 'ssl' if node['openstack']['bare_metal']['ssl']['enabled']
template "#{apache_dir}/sites-available/ironic-api.conf" do

View File

@ -1,20 +1,22 @@
require_relative 'spec_helper'
describe 'openstack-bare-metal::api' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
include_context 'bare-metal-stubs'
include_context 'bare-metal-stubs'
it do
expect(chef_run).to upgrade_package %w(openstack-ironic-api mod_wsgi)
end
it do
expect(chef_run).to upgrade_package %w(openstack-ironic-api)
end
it do
expect(chef_run).to disable_service('ironic-api').with(service_name: 'openstack-ironic-api')
expect(chef_run).to stop_service('ironic-api').with(service_name: 'openstack-ironic-api')
it do
expect(chef_run).to disable_service('ironic-api').with(service_name: 'openstack-ironic-api')
expect(chef_run).to stop_service('ironic-api').with(service_name: 'openstack-ironic-api')
end
end
end
end

View File

@ -49,7 +49,7 @@ describe 'openstack-bare-metal::api' do
end
it do
expect(chef_run).to enable_apache2_module('wsgi')
expect(chef_run).to create_apache2_mod_wsgi 'bare-metal'
end
it do

View File

@ -1,15 +1,17 @@
require_relative 'spec_helper'
describe 'openstack-bare-metal::conductor' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
include_context 'bare-metal-stubs'
include_context 'bare-metal-stubs'
it do
expect(chef_run).to upgrade_package %w(openstack-ironic-conductor ipmitool)
it do
expect(chef_run).to upgrade_package %w(openstack-ironic-conductor ipmitool)
end
end
end
end

View File

@ -1,15 +1,24 @@
require_relative 'spec_helper'
describe 'openstack-bare-metal::ironic-common' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) { runner.converge(described_recipe) }
include_context 'bare-metal-stubs'
include_context 'bare-metal-stubs'
it do
expect(chef_run).to upgrade_package %w(openstack-ironic-common python-ironicclient)
case p
when REDHAT_7
it do
expect(chef_run).to upgrade_package %w(openstack-ironic-common python-ironicclient)
end
when REDHAT_8
it do
expect(chef_run).to upgrade_package %w(openstack-ironic-common python3-ironicclient)
end
end
end
end
end

View File

@ -8,10 +8,21 @@ RSpec.configure do |config|
config.log_level = :warn
end
REDHAT_OPTS = {
REDHAT_7 = {
platform: 'redhat',
version: '7',
}.freeze
REDHAT_8 = {
platform: 'redhat',
version: '8',
}.freeze
ALL_RHEL = [
REDHAT_7,
REDHAT_8,
].freeze
UBUNTU_OPTS = {
platform: 'ubuntu',
version: '18.04',