CentOS 8 support

- Update various packages for EL8
- Use platform family for installing dnsmasq
- ChefSpec updates

Depends-On: https://review.opendev.org/c/openstack/cookbook-openstack-identity/+/815147
Change-Id: Ia566d70348f1245733b5074b3ad6e0bb30c3e405
Signed-off-by: Lance Albertson <lance@osuosl.org>
This commit is contained in:
Lance Albertson
2021-10-22 13:43:59 -07:00
parent f687f40c16
commit 75e073a7b0
11 changed files with 219 additions and 194 deletions

View File

@@ -142,7 +142,7 @@ default['openstack']['network']['platform'].tap do |platform|
platform['neutron_server_service'] = 'neutron-server'
platform['neutron_rpc_server_service'] = 'neutron-rpc-server'
case node['platform_family']
when 'fedora', 'rhel' # :pragma-foodcritic: ~FC024 - won't fix this
when 'rhel'
platform['neutron_packages'] =
%w(
ebtables

View File

@@ -50,11 +50,9 @@ end
# TODO: (jklare) this should be refactored and probably pull in the some dnsmasq
# cookbook to do the proper configuration
if platform?('centos')
rpm_package 'dnsmasq' do
package 'dnsmasq' do
action :upgrade
end
end
end if platform_family?('rhel')
service 'neutron-dhcp-agent' do
service_name platform_options['neutron_dhcp_agent_service']
@@ -64,6 +62,6 @@ service 'neutron-dhcp-agent' do
'template[/etc/neutron/neutron.conf]',
'template[/etc/neutron/dnsmasq.conf]',
"template[#{node['openstack']['network_dhcp']['config_file']}]",
'rpm_package[dnsmasq]',
'package[dnsmasq]',
]
end

View File

@@ -1,8 +1,9 @@
require_relative 'spec_helper'
describe 'openstack-network' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
runner.converge(described_recipe)
@@ -20,9 +21,16 @@ describe 'openstack-network' do
it do
expect(chef_run).to upgrade_package(pkgs)
end
case p
when REDHAT_7
it do
expect(chef_run).to upgrade_package('MySQL-python')
end
when REDHAT_8
it do
expect(chef_run).to upgrade_package('python3-PyMySQL')
end
end
it do
expect(chef_run).to create_cookbook_file('/usr/bin/neutron-enable-bridge-firewall.sh').with(
source: 'neutron-enable-bridge-firewall.sh',
@@ -33,3 +41,4 @@ describe 'openstack-network' do
end
end
end
end

View File

@@ -1,8 +1,9 @@
require_relative 'spec_helper'
describe 'openstack-network::dhcp_agent' do
describe 'centos' do
let(:runner) { ChefSpec::SoloRunner.new(CENTOS_OPTS) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
node.override['openstack']['compute']['network']['service_type'] = 'neutron'
@@ -18,7 +19,8 @@ describe 'openstack-network::dhcp_agent' do
end
it do
expect(chef_run).to upgrade_rpm_package('dnsmasq')
expect(chef_run).to upgrade_package('dnsmasq')
end
end
end
end

View File

@@ -1,8 +1,9 @@
require_relative 'spec_helper'
describe 'openstack-network::l3_agent' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
node.override['openstack']['compute']['network']['service_type'] = 'neutron'
@@ -24,3 +25,4 @@ describe 'openstack-network::l3_agent' do
end
end
end
end

View File

@@ -1,8 +1,9 @@
require_relative 'spec_helper'
describe 'openstack-network::metadata_agent' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
node.override['openstack']['compute']['network']['service_type'] = 'neutron'
@@ -26,3 +27,4 @@ describe 'openstack-network::metadata_agent' do
end
end
end
end

View File

@@ -1,13 +1,9 @@
# pkg upgrade
# service
# Encoding: utf-8
require_relative 'spec_helper'
describe 'openstack-network::ml2_linuxbridge' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
node.override['openstack']['network']['plugins']['linuxbridge']['path'] = '/etc/neutron/plugins/ml2'
@@ -55,3 +51,4 @@ describe 'openstack-network::ml2_linuxbridge' do
end
end
end
end

View File

@@ -1,8 +1,10 @@
require_relative 'spec_helper'
describe 'openstack-network::openvswitch' do
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
runner.converge(described_recipe)
@@ -23,3 +25,5 @@ describe 'openstack-network::openvswitch' do
end
end
end
end
end

View File

@@ -1,8 +1,9 @@
require_relative 'spec_helper'
describe 'openstack-network::openvswitch_agent' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
node.override['openstack']['network']['openvswitch']['integration_bridge'] = 'br-int'
@@ -30,3 +31,4 @@ describe 'openstack-network::openvswitch_agent' do
end
end
end
end

View File

@@ -1,8 +1,9 @@
require_relative 'spec_helper'
describe 'openstack-network::server' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
ALL_RHEL.each do |p|
context "redhat #{p[:version]}" do
let(:runner) { ChefSpec::SoloRunner.new(p) }
let(:node) { runner.node }
cached(:chef_run) do
node.override['openstack']['compute']['network']['service_type'] = 'neutron'
@@ -26,3 +27,4 @@ describe 'openstack-network::server' do
end
end
end
end

View File

@@ -9,18 +9,25 @@ 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',
}.freeze
CENTOS_OPTS = {
platform: 'centos',
version: '7',
}.freeze
shared_context 'neutron-stubs' do
before do