Support lbaas on kilo release

Closes-Bug: #1427142
Partial-Bug: #1407874

Change-Id: I5b3c0602cf06290dc17d67d82cc7ea7533fecdec
This commit is contained in:
leejian0612 2015-03-02 18:00:09 +08:00
parent 6ec0caf181
commit bed9932cda
5 changed files with 24 additions and 9 deletions

View File

@ -405,7 +405,7 @@ default['openstack']['network']['metadata']['secret_name'] = 'neutron_metadata_s
# node['openstack']['network']['service_plugins'] for the loadbalancer plugin.
# See that attribute for details.
default['openstack']['network']['lbaas']['device_driver'] = 'neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver'
default['openstack']['network']['lbaas']['device_driver'] = 'neutron_lbaas.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver'
# Number of seconds between sync of LBaaS agent with Neutron API server
default['openstack']['network']['lbaas']['periodic_interval'] = 10
@ -1034,7 +1034,7 @@ when 'fedora', 'rhel' # :pragma-foodcritic: ~FC024 - won't fix this
'neutron_l3_packages' => ['openstack-neutron', 'iproute', 'radvd'],
'neutron_vpn_packages' => ['openstack-neutron', 'iproute'],
'vpn_device_driver_packages' => ['openswan'],
'neutron_lb_packages' => ['openstack-neutron', 'haproxy', 'iproute'],
'neutron_lb_packages' => ['python-neutron-lbaas', 'haproxy', 'iproute'],
'neutron_openvswitch_packages' => ['openvswitch'],
'neutron_openvswitch_agent_packages' => ['openstack-neutron-openvswitch', 'iproute'],
'neutron_linuxbridge_agent_packages' => ['openstack-neutron-linuxbridge', 'iproute'],
@ -1096,7 +1096,7 @@ when 'debian'
'neutron_l3_packages' => ['neutron-l3-agent', 'radvd'],
'neutron_vpn_packages' => ['neutron-vpn-agent'],
'vpn_device_driver_packages' => ['openswan'],
'neutron_lb_packages' => ['neutron-lbaas-agent', 'haproxy'],
'neutron_lb_packages' => ['python-neutron-lbaas', 'neutron-lbaas-agent', 'haproxy'],
'neutron_openvswitch_packages' => ['openvswitch-switch', 'openvswitch-datapath-dkms', 'bridge-utils'],
'neutron_openvswitch_build_packages' => %w(build-essential pkg-config fakeroot libssl-dev openssl debhelper autoconf dkms python-all python-qt4 python-zopeinterface python-twisted-conch),
'neutron_openvswitch_agent_packages' => ['neutron-plugin-openvswitch', 'neutron-plugin-openvswitch-agent'],

View File

@ -34,8 +34,17 @@ platform_options['neutron_lb_packages'].each do |pkg|
end
end
template '/etc/neutron/lbaas_agent.ini' do
source 'lbaas_agent.ini.erb'
bash 'migrate lbaas database' do
timeout node['openstack']['network']['dbsync_timeout']
plugin_config_file = node['openstack']['network']['plugin_config_file']
migrate_command = "neutron-db-manage --service lbaas --config-file /etc/neutron/neutron.conf --config-file #{plugin_config_file}"
code <<-EOF
#{migrate_command} upgrade head
EOF
end
template '/etc/neutron/services/neutron-lbaas/lbaas_agent.ini' do
source 'services/neutron-lbaas/lbaas_agent.ini.erb'
owner node['openstack']['network']['platform']['user']
group node['openstack']['network']['platform']['group']
mode 00640

View File

@ -14,7 +14,7 @@ describe 'openstack-network::balancer' do
include_context 'neutron-stubs'
describe 'lbaas_agent.ini' do
let(:file) { chef_run.template('/etc/neutron/lbaas_agent.ini') }
let(:file) { chef_run.template('/etc/neutron/services/neutron-lbaas/lbaas_agent.ini') }
it 'creates lbaas_agent.ini' do
expect(chef_run).to create_template(file.name).with(
@ -25,11 +25,11 @@ describe 'openstack-network::balancer' do
end
it 'displays user_group as nobody' do
expect(chef_run).to render_file('/etc/neutron/lbaas_agent.ini').with_content(/^user_group = nobody$/)
expect(chef_run).to render_file('/etc/neutron/services/neutron-lbaas/lbaas_agent.ini').with_content(/^user_group = nobody$/)
end
end
['haproxy', 'openstack-neutron'].each do |pack|
['haproxy', 'python-neutron-lbaas'].each do |pack|
it "upgrades #{pack} package" do
expect(chef_run).to upgrade_package(pack)
end

View File

@ -29,12 +29,18 @@ describe 'openstack-network::balancer' do
end
end
it 'uses db upgrade head' do
migrate_cmd = %r(neutron-db-manage --service lbaas --config-file /etc/neutron/neutron.conf|
--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head)
expect(chef_run).to run_bash('migrate lbaas database').with(code: migrate_cmd)
end
it 'enables agent service' do
expect(chef_run).to enable_service('neutron-lb-agent')
end
describe 'lbaas_agent.ini' do
let(:file) { chef_run.template('/etc/neutron/lbaas_agent.ini') }
let(:file) { chef_run.template('/etc/neutron/services/neutron-lbaas/lbaas_agent.ini') }
it 'creates lbaas_agent.ini' do
expect(chef_run).to create_template(file.name).with(