Updates for Train

Deprecated:
- LBaaS has been removed as it's been deprecated upstream [1]

Changed:
- Update release to train

Fixed:
- Cookstyle

Removed:
- Unused .rubocop.yml

[1] https://docs.openstack.org/releasenotes/neutron/train.html#relnotes-15-0-0-stable-train-deprecation-notes

Change-Id: I4c7f58ea60c02704877531fe3e7849c47aacf7ae
Depends-On: https://review.opendev.org/731859
This commit is contained in:
Lance Albertson 2020-05-29 16:33:44 -07:00
parent cb26946e73
commit dac0c7c8d4
14 changed files with 8 additions and 394 deletions

View File

@ -1,14 +0,0 @@
AllCops:
Include:
- metadata.rb
- Gemfile
- attributes/**
- libraries/**
- providers/**
- recipes/**
- resources/**
- spec/**
Exclude:
- .cookbooks/**/*
- berks-cookbooks/**/*
- .bundle/**/*

View File

@ -26,7 +26,7 @@ Requirements
============ ============
- Chef 15 or higher - Chef 15 or higher
- Chef Workstation 0.15.18 for testing (also includes Berkshelf for - Chef Workstation 0.18.3 for testing (also includes Berkshelf for
cookbook dependency resolution) cookbook dependency resolution)
Platform Platform
@ -42,8 +42,8 @@ Cookbooks
The following cookbooks are dependencies: The following cookbooks are dependencies:
- 'openstackclient' - 'openstackclient'
- 'openstack-common', '>= 19.0.0' - 'openstack-common', '>= 20.0.0'
- 'openstack-identity', '>= 19.0.0' - 'openstack-identity', '>= 20.0.0'
Attributes Attributes
========== ==========
@ -105,18 +105,6 @@ attributes in using the same template as for the ``neutron.conf``
node['openstack']['network_l3']['conf'] node['openstack']['network_l3']['conf']
openstack-network::lbaas
------------------------
- Installs the Loadbalancer as a Service
The configuration for ``neutron-lbaas-agent`` is generated from the
attributes in using the same template as for the ``neutron.conf``
.. code-block:: ruby
node['openstack']['network_lbaas']['conf']
openstack-network::metadata_agent openstack-network::metadata_agent
--------------------------------- ---------------------------------

View File

@ -51,7 +51,7 @@ default['openstack']['network']['service_type'] = 'network'
default['openstack']['network']['description'] = 'OpenStack Networking service' default['openstack']['network']['description'] = 'OpenStack Networking service'
default['openstack']['network']['rabbit_server_chef_role'] = 'rabbitmq-server' default['openstack']['network']['rabbit_server_chef_role'] = 'rabbitmq-server'
# The bridging interface driver. # The bridging interface driver.
# This is used by the L3, DHCP and LBaaS agents. # This is used by the L3 and DHCP agents.
# Options are: # Options are:
# #
# - neutron.agent.linux.interface.OVSInterfaceDriver # - neutron.agent.linux.interface.OVSInterfaceDriver
@ -132,43 +132,12 @@ default['openstack']['network_metering']['conf'].tap do |conf|
conf['DEFAULT']['driver'] = 'neutron.services.metering.drivers.iptables.iptables_driver.IptablesMeteringDriver' conf['DEFAULT']['driver'] = 'neutron.services.metering.drivers.iptables.iptables_driver.IptablesMeteringDriver'
end end
# ============================= LBaaS Agent Configuration ==================
# To enable 'lbaas' as service_plugin, you need to add it to neutron.conf
# ['default']['service_plugins']
# Set to true to enable lbaas
default['openstack']['network_lbaas']['enabled'] = false
# Custom the lbaas neutron config file path
default['openstack']['network_lbaas']['config_file'] =
case node['platform_family']
when 'rhel'
'/etc/neutron/neutron_lbaas.conf'
when 'debian'
'/etc/neutron/conf.d/neutron-server/neutron_lbaas.conf'
end
default['openstack']['network_lbaas']['conf'].tap do |conf|
conf['service_providers']['service_provider'] =
'LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default'
end
# Custom the lbaas agent config file path
default['openstack']['network_lbaas_agent']['config_file'] = '/etc/neutron/lbaas_agent.ini'
default['openstack']['network_lbaas_agent']['conf'].tap do |conf|
conf['DEFAULT']['interface_driver'] = 'openvswitch'
conf['DEFAULT']['device_driver'] = 'neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver'
case node['platform_family']
when 'fedora', 'rhel'
conf['haproxy']['user_group'] = 'nobody'
when 'debian'
conf['haproxy']['user_group'] = 'nogroup'
end
end
# ============================= platform-specific settings =========== # ============================= platform-specific settings ===========
default['openstack']['network']['platform'].tap do |platform| default['openstack']['network']['platform'].tap do |platform|
platform['user'] = 'neutron' platform['user'] = 'neutron'
platform['group'] = 'neutron' platform['group'] = 'neutron'
platform['neutron_dhcp_agent_service'] = 'neutron-dhcp-agent' platform['neutron_dhcp_agent_service'] = 'neutron-dhcp-agent'
platform['neutron_l3_agent_service'] = 'neutron-l3-agent' platform['neutron_l3_agent_service'] = 'neutron-l3-agent'
platform['neutron_lb_agent_service'] = 'neutron-lbaasv2-agent'
platform['neutron_metadata_agent_service'] = 'neutron-metadata-agent' platform['neutron_metadata_agent_service'] = 'neutron-metadata-agent'
platform['neutron_metering_agent_service'] = 'neutron-metering-agent' platform['neutron_metering_agent_service'] = 'neutron-metering-agent'
platform['neutron_server_service'] = 'neutron-server' platform['neutron_server_service'] = 'neutron-server'
@ -191,13 +160,6 @@ default['openstack']['network']['platform'].tap do |platform|
radvd radvd
) )
platform['neutron_plugin_package'] = 'neutron-plugin-ml2' platform['neutron_plugin_package'] = 'neutron-plugin-ml2'
platform['neutron_lbaas_packages'] =
%w(
haproxy
iproute
openstack-neutron-lbaas
)
platform['neutron_lbaas_python_dependencies'] = %w(python-neutron-lbaas)
platform['neutron_openvswitch_packages'] = %w(openvswitch) platform['neutron_openvswitch_packages'] = %w(openvswitch)
platform['neutron_openvswitch_agent_packages'] = %w(openstack-neutron-openvswitch iproute) platform['neutron_openvswitch_agent_packages'] = %w(openstack-neutron-openvswitch iproute)
platform['neutron_linuxbridge_agent_packages'] = %w(openstack-neutron-linuxbridge iproute) platform['neutron_linuxbridge_agent_packages'] = %w(openstack-neutron-linuxbridge iproute)
@ -217,14 +179,6 @@ default['openstack']['network']['platform'].tap do |platform|
neutron-l3-agent neutron-l3-agent
radvd radvd
) )
platform['neutron_lbaas_packages'] =
%w(
haproxy
neutron-lbaas-common
neutron-lbaasv2-agent
python3-neutron-lbaas
)
platform['neutron_lbaas_python_dependencies'] = %w(python3-neutron-lbaas)
platform['neutron_openvswitch_packages'] = %w(openvswitch-switch bridge-utils) platform['neutron_openvswitch_packages'] = %w(openvswitch-switch bridge-utils)
platform['neutron_openvswitch_build_packages'] = platform['neutron_openvswitch_build_packages'] =
%w( %w(

View File

@ -11,17 +11,6 @@ default['openstack']['network']['conf'].tap do |conf|
end end
conf['DEFAULT']['control_exchange'] = 'neutron' conf['DEFAULT']['control_exchange'] = 'neutron'
conf['DEFAULT']['core_plugin'] = 'ml2' conf['DEFAULT']['core_plugin'] = 'ml2'
if node['openstack']['network_lbaas']['enabled']
conf['DEFAULT']['service_plugins'] =
if conf['DEFAULT']['service_plugins'].empty?
'neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2'
else
[
'neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2',
conf['DEFAULT']['service_plugins'],
].flatten.sort.join(',')
end
end
# [agent] section # [agent] section
if node['openstack']['network']['use_rootwrap'] if node['openstack']['network']['use_rootwrap']

View File

@ -3,15 +3,15 @@ maintainer 'openstack-chef'
maintainer_email 'openstack-discuss@lists.openstack.org' maintainer_email 'openstack-discuss@lists.openstack.org'
license 'Apache-2.0' license 'Apache-2.0'
description 'Installs and configures the OpenStack Network API Service and various agents and plugins' description 'Installs and configures the OpenStack Network API Service and various agents and plugins'
version '19.0.0' version '20.0.0'
%w(ubuntu redhat centos).each do |os| %w(ubuntu redhat centos).each do |os|
supports os supports os
end end
depends 'openstackclient' depends 'openstackclient'
depends 'openstack-common', '>= 19.0.0' depends 'openstack-common', '>= 20.0.0'
depends 'openstack-identity', '>= 19.0.0' depends 'openstack-identity', '>= 20.0.0'
issues_url 'https://launchpad.net/openstack-chef' issues_url 'https://launchpad.net/openstack-chef'
source_url 'https://opendev.org/openstack/cookbook-openstack-network' source_url 'https://opendev.org/openstack/cookbook-openstack-network'

View File

@ -19,21 +19,10 @@
# limitations under the License. # limitations under the License.
# #
plugin_config_file = node['openstack']['network']['core_plugin_config_file']
timeout = node['openstack']['network']['dbsync_timeout']
# The node['openstack']['network']['plugin_config_file'] attribute is set in the default.rb recipe # The node['openstack']['network']['plugin_config_file'] attribute is set in the default.rb recipe
execute 'migrate network database' do execute 'migrate network database' do
timeout timeout timeout node['openstack']['network']['dbsync_timeout']
command <<-EOF.gsub(/^ {4}/, '') command <<-EOF.gsub(/^ {4}/, '')
neutron-db-manage --config-file /etc/neutron/neutron.conf upgrade head neutron-db-manage --config-file /etc/neutron/neutron.conf upgrade head
EOF EOF
end end
# Only if the lbaas is enabled, migrate the database.
execute 'migrate lbaas database' do
timeout timeout
command <<-EOF.gsub(/^ {4}/, '')
neutron-db-manage --subproject neutron-lbaas --config-file /etc/neutron/neutron.conf --config-file #{plugin_config_file} upgrade head
EOF
only_if { node['openstack']['network_lbaas']['enabled'] }
end

View File

@ -1,74 +0,0 @@
# Encoding: utf-8
#
# Cookbook:: openstack-network
# Recipe:: lbaas
#
# Copyright:: 2013, Mirantis IT
# Copyright:: 2020, Oregon State University
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This recipe should be placed in the run_list of the node that
# runs the network server or network controller server.
include_recipe 'openstack-network'
# Make Openstack object available in Chef::Recipe
class ::Chef::Recipe
include ::Openstack
end
platform_options = node['openstack']['network']['platform']
package platform_options['neutron_lbaas_packages'] do
options platform_options['package_overrides']
action :upgrade
end
neutron_config = merge_config_options 'network_lbaas'
agent_config = merge_config_options 'network_lbaas_agent'
directory '/etc/neutron/conf.d/neutron-server' do
recursive true
only_if { platform_family?('debian') }
end
template node['openstack']['network_lbaas']['config_file'] do
source 'openstack-service.conf.erb'
cookbook 'openstack-common'
owner node['openstack']['network']['platform']['user']
group node['openstack']['network']['platform']['group']
mode '640'
variables(
service_config: neutron_config
)
notifies :restart, 'service[neutron-server]', :delayed
end
template node['openstack']['network_lbaas_agent']['config_file'] do
source 'openstack-service.conf.erb'
cookbook 'openstack-common'
owner node['openstack']['network']['platform']['user']
group node['openstack']['network']['platform']['group']
mode '640'
variables(
service_config: agent_config
)
notifies :restart, 'service[neutron-lb-agent]', :delayed
end
service 'neutron-lb-agent' do
service_name platform_options['neutron_lb_agent_service']
supports status: true, restart: true
action :enable
subscribes :restart, 'template[/etc/neutron/neutron.conf]', :delayed
subscribes :restart, "template[#{node['openstack']['network_lbaas']['config_file']}]", :delayed
end

View File

@ -60,21 +60,6 @@ if node['openstack']['network']['policyfile_url']
end end
end end
if node['openstack']['network_lbaas']['enabled']
# neutron-lbaas-agent may not running on network node, but on network
# node, neutron-server still need neutron_lbaas module when loading
# plugin if lbaas is list in service_plugins. In this case, we don't
# need include balance recipe for network node, but we need make sure
# neutron lbaas python packages get installed on network node before
# neutron-server start/restart, when lbaas is enabled. Otherwise
# neutron-server will crash for couldn't find lbaas plugin when
# invoking plugins from service_plugins.
package platform_options['neutron_lbaas_python_dependencies'] do
options platform_options['package_overrides']
action :upgrade
end
end
# Migrate network database to latest version # Migrate network database to latest version
include_recipe 'openstack-network::db_migration' include_recipe 'openstack-network::db_migration'
plugin_templates = [] plugin_templates = []

View File

@ -29,28 +29,5 @@ describe 'openstack-network::db_migration' do
) )
end end
end end
context 'run db-migration when services are enabled' do
cached(:chef_run) do
node.override['openstack']['network_lbaas']['enabled'] = true
node.override['openstack']['network']['core_plugin_config_file'] = '/etc/neutron/plugins/ml2/ml2_conf.ini'
runner.converge(described_recipe)
end
it 'uses db upgrade head when lbaas is enabled' do
expect(chef_run).to run_execute('migrate lbaas database').with(
command: "neutron-db-manage --subproject neutron-lbaas --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head\n",
timeout: 3600
)
end
end
context 'run db-migration when services are enabled' do
cached(:chef_run) do
node.override['openstack']['network']['core_plugin_config_file'] = '/etc/neutron/plugins/ml2/ml2_conf.ini'
runner.converge(described_recipe)
end
it 'does not use db upgrade head when lbaas is not enabled' do
expect(chef_run).not_to run_execute('migrate lbaas database')
end
end
end end
end end

View File

@ -74,20 +74,6 @@ describe 'openstack-network' do
end end
end end
context 'lbaas enabled' do
cached(:chef_run) do
node.override['openstack']['network_lbaas']['enabled'] = true
runner.converge(described_recipe)
end
[
/^service_plugins = neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2$/,
].each do |line|
it do
expect(chef_run).to render_config_file(file.name).with_section_content('DEFAULT', line)
end
end
end
[ [
%r{^root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf$}, %r{^root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf$},
].each do |line| ].each do |line|

View File

@ -1,48 +0,0 @@
# Encoding: utf-8
require_relative 'spec_helper'
describe 'openstack-network::lbaas' do
describe 'redhat' do
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
let(:node) { runner.node }
cached(:chef_run) do
node.override['openstack']['compute']['network']['service_type'] = 'neutron'
node.override['openstack']['network']['lbaas']['enabled'] = 'True'
runner.converge(described_recipe, 'openstack-network::ml2_core_plugin', 'openstack-network::server')
end
include_context 'neutron-stubs'
it do
expect(chef_run).to_not create_directory('/etc/neutron/conf.d/neutron-server')
end
describe 'lbaas_agent.ini' do
let(:file) { chef_run.template('/etc/neutron/lbaas_agent.ini') }
it do
expect(chef_run).to render_config_file(file.name).with_section_content('haproxy', /^user_group = nobody$/)
end
end
pkgs =
%w(
haproxy
iproute
openstack-neutron-lbaas
)
it do
expect(chef_run).to upgrade_package(pkgs)
end
it do
expect(chef_run).to enable_service('neutron-lb-agent').with(
service_name: 'neutron-lbaasv2-agent',
supports: {
status: true,
restart: true,
}
)
end
end
end

View File

@ -1,103 +0,0 @@
# Encoding: utf-8
require_relative 'spec_helper'
describe 'openstack-network::lbaas' do
describe 'ubuntu' do
let(:runner) { ChefSpec::SoloRunner.new(UBUNTU_OPTS) }
let(:node) { runner.node }
cached(:chef_run) do
runner.converge(described_recipe, 'openstack-network::ml2_core_plugin', 'openstack-network::server')
end
include_context 'neutron-stubs'
pkgs =
%w(
haproxy
neutron-lbaas-common
neutron-lbaasv2-agent
python3-neutron-lbaas
)
it do
expect(chef_run).to upgrade_package(pkgs)
end
it do
expect(chef_run).to create_directory('/etc/neutron/conf.d/neutron-server').with(recursive: true)
end
describe '/etc/neutron/lbaas_agent.ini' do
let(:file) { chef_run.template('/etc/neutron/lbaas_agent.ini') }
it do
expect(chef_run).to create_template(file.name).with(
source: 'openstack-service.conf.erb',
cookbook: 'openstack-common',
user: 'neutron',
group: 'neutron',
mode: '640'
)
end
it do
expect(file).to notify('service[neutron-lb-agent]').to(:restart)
end
[
/^interface_driver = openvswitch$/,
/^device_driver = neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver$/,
].each do |line|
it do
expect(chef_run).to render_config_file(file.name).with_section_content('DEFAULT', line)
end
end
[
/^user_group = nogroup$/,
].each do |line|
it do
expect(chef_run).to render_config_file(file.name).with_section_content('haproxy', line)
end
end
it do
expect(chef_run).to enable_service('neutron-lb-agent').with(
service_name: 'neutron-lbaasv2-agent',
supports: {
status: true,
restart: true,
}
)
end
%w(
template[/etc/neutron/neutron.conf]
template[/etc/neutron/conf.d/neutron-server/neutron_lbaas.conf]
).each do |resource|
it do
expect(chef_run.service('neutron-lb-agent')).to subscribe_to(resource).on(:restart)
end
end
end
describe '/etc/neutron/conf.d/neutron-server/neutron_lbaas.conf' do
let(:file) { chef_run.template('/etc/neutron/conf.d/neutron-server/neutron_lbaas.conf') }
it do
expect(chef_run).to create_template(file.name).with(
source: 'openstack-service.conf.erb',
cookbook: 'openstack-common',
user: 'neutron',
group: 'neutron',
mode: '640'
)
end
it do
expect(file).to notify('service[neutron-server]').to(:restart)
end
[
/^service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default$/,
].each do |line|
it do
expect(chef_run).to render_config_file(file.name).with_section_content('service_providers', line)
end
end
end
end
end

View File

@ -110,17 +110,6 @@ describe 'openstack-network::server' do
%r{^NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/ml2/ml2_conf.ini"$} %r{^NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/ml2/ml2_conf.ini"$}
) )
end end
context 'enable lbaas' do
cached(:chef_run) do
node.override['openstack']['network_lbaas']['enabled'] = true
runner.converge('openstack-network::ml2_core_plugin', described_recipe)
end
it do
expect(chef_run).to render_file(file.name).with_content(
%r{^NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/ml2/ml2_conf.ini --config-dir /etc/neutron/conf.d/neutron-server"$}
)
end
end
end end
end end
end end

View File

@ -3,8 +3,4 @@
# path to config file corresponding to the core_plugin specified in # path to config file corresponding to the core_plugin specified in
# neutron.conf # neutron.conf
<% if node['openstack']['network_lbaas']['enabled'] -%>
NEUTRON_PLUGIN_CONFIG="<%=@core_plugin_config%> --config-dir /etc/neutron/conf.d/neutron-server"
<% else -%>
NEUTRON_PLUGIN_CONFIG="<%=@core_plugin_config%>" NEUTRON_PLUGIN_CONFIG="<%=@core_plugin_config%>"
<% end -%>