diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f8a7e50..853e6072 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ This file is used to list changes made in each version of cookbook-openstack-network. +## 8.0.1: +* Add network database migration + ## 8.0.0: * Support neutron deployment by search and replace quantum with neutron diff --git a/metadata.rb b/metadata.rb index 41710b10..4e65a3e7 100644 --- a/metadata.rb +++ b/metadata.rb @@ -5,7 +5,7 @@ maintainer 'Jay Pipes ' license 'Apache 2.0' description 'Installs and configures the OpenStack Network API Service and various agents and plugins' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '8.0.0' +version '8.0.1' recipe 'openstack-network::server', 'Installs packages required for a OpenStack Network server' recipe 'openstack-network::openvswitch', 'Installs packages required for OVS' recipe 'openstack-network::metadata_agent', 'Installs packages required for a OpenStack Network Metadata Agent' diff --git a/recipes/common.rb b/recipes/common.rb index f198dc13..6855cfce 100644 --- a/recipes/common.rb +++ b/recipes/common.rb @@ -370,6 +370,8 @@ when 'ryu' end +node.set['openstack']['network']['plugin_config_file'] = template_file + template '/etc/default/neutron-server' do source 'neutron-server.erb' owner 'root' diff --git a/recipes/server.rb b/recipes/server.rb index cf1438e3..f66d3dfc 100644 --- a/recipes/server.rb +++ b/recipes/server.rb @@ -40,6 +40,23 @@ platform_options['neutron_server_packages'].each do |pkg| end end +# Migrate network database +# If the database has never migrated, make the current version of alembic_version to havana, +# else migrate the database to latest version. +bash "migrate network database" do + plugin_config_file = node['openstack']['network']['plugin_config_file'] + migrate_command = "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file #{plugin_config_file}" + code <<-EOF +current_version_line=`#{migrate_command} current 2>&1 | tail -n 1` +# determine if the $current_version_line ends with ": None" +if [[ $current_version_line == *:\\ None ]]; then + #{migrate_command} stamp havana +else + #{migrate_command} upgrade head +fi +EOF +end + service 'neutron-server' do service_name platform_options['neutron_server_service'] supports status: true, restart: true