diff --git a/doc/openstack-ops/ch_ops_upgrades.xml b/doc/openstack-ops/ch_ops_upgrades.xml index 861b6cbe..9f79e45e 100644 --- a/doc/openstack-ops/ch_ops_upgrades.xml +++ b/doc/openstack-ops/ch_ops_upgrades.xml @@ -1395,8 +1395,8 @@ rabbit_password = RABBIT_PASS Upgrade the database: # neutron-db-manage --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini stamp havana - # neutron-db-manage --config-file /etc/neutron/neutron.conf \ - --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade icehouse +# neutron-db-manage --config-file /etc/neutron/neutron.conf \ +--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade icehouse Perform the conversion from OVS to ML2: # python -m neutron.db.migration.migrate_to_ml2 openvswitch \ @@ -1541,8 +1541,8 @@ service_plugins = router # service cinder-volume restart - +
How to Perform an Upgrade from Havana to Icehouse—Red Hat @@ -1573,19 +1573,60 @@ service_plugins = router</programlisting> </section> <section xml:id="upgrade_icehouse-rhel-considerations"> <title>Upgrade Considerations - Always review the release notes before performing an upgrade to learn - about newly available features that you might want to enable - and deprecated features that you should disable. + + + Review the Icehouse Release Notes before you upgrade to learn + about new features that you might want to enable and + deprecated features that you should disable. + + + Consider adopting conventions associated with newer + configuration files and merging them with your existing + configuration files after completing the upgrade process. + You can find newer versions of existing configuration files + with the following command: + # find /etc -name *.rpmnew + + + Icehouse disables file injection by default per the + Icehouse Release Notes. + If you plan to deploy Icehouse in stages, you must + disable file injection on all compute nodes that remain on + Havana. This is done by editing the /etc/nova/nova-compute.conf + file: + [libvirt] + ... + libvirt_inject_partition = -2 + + + You must convert the configuration for your + environment contained in the + /etc/neutron/neutron.conf and + /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini + files from OVS to ML2. For example, the OpenStack Installation + Guide covers ML2 plug-in configuration using GRE + tunnels. + Keep the OVS plug-in packages and configuration files + until you verify the upgrade. + +
Perform a Backup - Save the configuration files on all nodes, as shown - here: - # for i in keystone glance nova cinder neutron openstack-dashboard; \ - do mkdir $i-havana; \ - done + + + Save the configuration files on all nodes: + # for i in keystone glance nova cinder neutron openstack-dashboard; \ +do mkdir $i-havana; \ +done # for i in keystone glance nova cinder neutron openstack-dashboard; \ do cp -r /etc/$i/* $i-havana/; \ done @@ -1593,6 +1634,8 @@ service_plugins = router You can modify this example script on each node to handle different services. + + Back up all databases on the controller: # mysqldump -u root -p --opt --add-drop-database --all-databases > havana-db-backup.sql @@ -1604,108 +1647,82 @@ service_plugins = router >OpenStack Installation Guide. + +
Manage Repositories - On all nodes, remove the repository for Havana packages - and add the repository for Icehouse packages: - # yum erase rdo-release-havana -# yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/ \ + + Complete the following actions on all nodes. + + Remove the repository for Havana packages: + # yum erase rdo-release-havana + + + Add the repository for Icehouse packages: + # yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/ \ rdo-release-icehouse-3.noarch.rpm - + + Disable any automatic package updates. - - Consider checking for newer versions of the You should check for newer versions of the Icehouse repository. -
-
- Upgrade Notes - - - Disable Compute file injection: - Icehouse disables file injection by default per the - release notes. - If you plan to deploy Icehouse in stages, you must - disable file injection on all compute nodes that will - remain on Havana. - Edit the - /etc/nova/nova-compute.conf - file: - [libvirt] -... -libvirt_inject_partition = -2 - - - Convert from OVS to ML2 plug-in: - You must convert the configuration for your - environment contained in the - /etc/neutron/neutron.conf and - /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini - files from OVS to ML2. For example, the OpenStack Installation - Guide covers ML2 plug-in configuration using GRE - tunnels. - We recommend keeping the OVS plug-in packages and - configuration files until you verify the upgrade. - - + +
Upgrade the Controller Node - Upgrade packages on the controller node to Icehouse, as - follows: + + + Upgrade packages on the controller node to Icehouse: # yum upgrade The package manager appends .rpmnew to the end of newer versions of existing configuration - files. You should consider adopting conventions associated - with the newer configuration files and merging them with - your existing configuration files after completing the - upgrade process. You can find newer versions of existing - configuration files with the following command: - # find /etc -name *.rpmnew + files. + +
Upgrade Each Service The upgrade procedure for each service typically requires that you stop the service, run the database synchronization command to update the associated database, and start the - service to apply the new configuration. You need administrator - privileges for these procedures. Some services require + service to apply the new configuration. You will need administrator + privileges for these procedures. Some services will require additional steps. - - - OpenStack Identity: - Update the configuration file for compatibility with - Icehouse. - Edit the - /etc/keystone/keystone.conf - file: - Add the [database] section. - Move the key from the - [sql] section to the - [database] section. - Stop services, upgrade the database, and start - services. - # service openstack-keystone stop -# keystone-manage token_flush -# keystone-manage db_sync -# service openstack-keystone start - - - OpenStack Image Service: - Before you upgrade the Image Service database, convert + + Upgrade OpenStack Identity + + Edit the /etc/keystone/keystone.conf + file for compatibility for Icehouse: + + Add the [database] section. + Move the key from + the[sql] section to the + [database] section. + + + Stop the services: + # service openstack-keystone stop + # keystone-manage token_flush + + Upgrade the database: + # keystone-manage db_sync + + Start the services: + # service openstack-keystone start + + + + OpenStack Image Service: + Before upgrading the Image Service database, you must convert the character set for each table to UTF-8. - Use the MySQL client to run the following + Use the MySQL client to run the following commands: # mysql -u root -p mysql> SET foreign_key_checks = 0; @@ -1722,70 +1739,80 @@ libvirt_inject_partition = -2 additional tables that you must convert to UTF-8 by using similar commands. - Update the configuration for compatibility with - Icehouse. - Edit the - /etc/glance/glance-api.conf and - /etc/glance/glance-registry.conf - files: - Add the [database] section. - Rename the key to + + + Edit the /etc/glance/glance-api.conf + and /etc/glance/glance-registry.conf + files for compatibility with Icehouse: + + Add the [database] section. + + Rename the key to and move it to the - [database] section. + [database] section. + + + Edit the /etc/glance/glance-api.conf - file: - Add Qpid message broker keys to the - [DEFAULT] section. + file, and add the Qpid message broker keys to the + [DEFAULT] section: [DEFAULT] ... rpc_backend = qpid qpid_hostname = controller + + Stop the services: Stop services, upgrade the database, and start services: # service openstack-glance-api stop -# service openstack-glance-registry stop -# glance-manage db_sync -# service openstack-glance-api start +# service openstack-glance-registry stop + + Upgrade the database: + # glance-manage db_sync + + Start the services: + # service openstack-glance-api start # service openstack-glance-registry start - - - OpenStack Compute: - Update the configuration for compatibility with - Icehouse. - Edit the /etc/nova/nova.conf - file: - Change the key from + + + + Upgrading OpenStack Compute: + Edit the /etc/nova/nova.conf + file and change the key from nova.openstack.common.rpc.impl_qpid - to qpid. - Edit the /etc/nova/api-paste.ini - file: - Comment out or remove any keys in the - [filter:authtoken] section beneath + to qpid. + Edit the /etc/nova/api-paste.ini + file and comment out or remove any keys in the + [filter:authtoken] section beneath the paste.filter_factory = - keystoneclient.middleware.auth_token:filter_factory - statement. - Stop services, upgrade the database, and start - services. + keystoneclient.middleware.auth_token:filter_factory + statement. + Stop the services: # service openstack-nova-api stop # service openstack-nova-scheduler stop # service openstack-nova-conductor stop # service openstack-nova-cert stop # service openstack-nova-consoleauth stop -# service openstack-nova-novncproxy stop -# nova-manage db sync -# service openstack-nova-api start +# service openstack-nova-novncproxy stop + + Upgrade the database: + # nova-manage db sync + + Start the services: + # service openstack-nova-api start # service openstack-nova-scheduler start # service openstack-nova-conductor start # service openstack-nova-cert start # service openstack-nova-consoleauth start # service openstack-nova-novncproxy start - - - OpenStack Networking: + + + + Upgrade OpenStack Networking Before upgrading the Networking database, you must convert the character set for each table to UTF-8. - Use the MySQL client to execute the following + Use the MySQL client to execute the following commands: # mysql -u root -p mysql> USE neutron; @@ -1827,43 +1854,58 @@ qpid_hostname = controller you must also convert to UTF-8 by using similar commands. - Install the ML2 plug-in package: - # yum install openstack-neutron-ml2 - Populate the + + Install the ML2 plug-in package: + # yum install openstack- + neutron-ml2 + Populate the /etc/neutron/plugins/ml2/ml2_conf.ini file with the equivalent configuration for your - environment. Do not edit the - /etc/neutron/neutron.conf file - until after the conversion steps. - Change the - /etc/neutron/plugin.ini symbolic - link to reference - /etc/neutron/plugins/ml2/ml2_conf.ini. - Stop services, upgrade the database, and perform the - conversion from OVS to ML2. - Replace NEUTRON_DBPASS with - the password you chose for the database. - - We highly recommend that you perform a database - backup prior to executing the following commands as the - conversion script cannot roll back. - - # service neutron-server stop + environment. + Do not edit the /etc/neutron/neutron.conf + file until after the conversion steps. + + Change the /etc/neutron/plugin.ini + symbolic link to reference + /etc/neutron/plugins/ml2/ml2_conf.ini. + Stop services: + # service neutron-server stop + + Upgrade the database: + # neutron-db-manage --config-file /etc/neutron/neutron.conf \ + --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini stamp havana # neutron-db-manage --config-file /etc/neutron/neutron.conf \ +--config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade icehouse + Perform the conversion from OVS to ML2: + # python -m neutron.db.migration.migrate_to_ml2 openvswitch \ + + Replace NEUTRON_DBPASS with + the password you chose for the database. + mysql://neutron:NEUTRON_DBPASS@controller/neutron + + + + Because the conversion script cannot roll back, + you must perform a database backup prior to executing + the following commands. + + Stop the service: + # service neutron-server stop + + Upgrade the database: + # neutron-db-manage --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini stamp havana # neutron-db-manage --config-file /etc/neutron/neutron.conf \ - --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade icehouse -# python -m neutron.db.migration.migrate_to_ml2 openvswitch \ + --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade icehouse + + Perform the conversion from OVS to ML2: + # python -m neutron.db.migration.migrate_to_ml2 openvswitch \ mysql://neutron:NEUTRON_DBPASS@controller/neutron - Edit the + + Edit the /etc/neutron/neutron.conf file to use the ML2 plug-in and enable network change notifications: - Replace SERVICE_TENANT_ID - with the service tenant identifier (id) in the Identity - service and NOVA_PASS with the - password you chose for the nova user in - the Identity service. [DEFAULT] ... core_plugin = ml2 @@ -1877,141 +1919,165 @@ nova_admin_tenant_id = SERVICE_TENANT_ID nova_admin_password = NOVA_PASS nova_admin_auth_url = http://controller:35357/v2.0 - Start Networking services. + Replace SERVICE_TENANT_ID + with the service tenant identifier (id) in the Identity + service and NOVA_PASS with the + password you chose for the nova user in + the Identity service. + + Start Networking services. # service neutron-server start - - - OpenStack Block Storage: - Stop services, upgrade the database, and start - services. + + + + Upgrade OpenStack Block Storage + Stop services: # service openstack-cinder-api stop # service openstack-cinder-volume stop -# service openstack-cinder-scheduler stop -# cinder-manage db sync -# service openstack-cinder-api start +# service openstack-cinder-scheduler stop + + Upgrade the database: +# cinder-manage db sync + + Start services: + # service openstack-cinder-api start # service openstack-cinder-volume start # service openstack-cinder-scheduler start - - - Dashboard: - Update the configuration for compatibility with - Icehouse. - Edit the - /etc/openstack-dashboard/local_settings - file: - Change the - key - from "Member" to - "_member_". - Restart Dashboard services. + + + + Update Dashboard + Edit the /etc/openstack-dashboard/local_settings + file and change the + key from "Member" to "_member_" + . + Restart Dashboard services: # service httpd restart - - + + The controller node update is complete. Now you can upgrade the remaining nodes.
Upgrade the Network Node - Upgrade packages on the network node to Icehouse: + + Upgrade packages on the network node to Icehouse: Make sure you have removed the repository for Havana packages and added the repository for Icehouse packages. # yum upgrade - Install the ML2 plug-in package: + + Install the ML2 plug-in package: # yum install openstack-neutron-ml2 - Edit the /etc/neutron/neutron.conf + + Edit the /etc/neutron/neutron.conf file to use the ML2 plug-in: [DEFAULT] core_plugin = ml2 service_plugins = router - Populate the + + Populate the /etc/neutron/plugins/ml2/ml2_conf.ini file with the equivalent configuration for your - environment. - Change the /etc/neutron/plugin.ini + environment. + Change the /etc/neutron/plugin.ini symbolic link to reference - /etc/neutron/plugins/ml2/ml2_conf.ini. - Clean the active OVS configuration: + /etc/neutron/plugins/ml2/ml2_conf.ini + . + Clean the active OVS configuration: # service neutron-ovs-cleanup restart - Restart Networking services: + + Restart Networking services: # service neutron-dhcp-agent restart # service neutron-l3-agent restart # service neutron-metadata-agent restart # service neutron-openvswitch-agent restart + +
Upgrade the Compute Nodes - Upgrade packages on the compute nodes to Icehouse: + + Upgrade packages on the compute nodes to Icehouse: Make sure you have removed the repository for Havana packages and added the repository for Icehouse packages. # yum upgrade - Install the ML2 plug-in package: + + Install the ML2 plug-in package: # yum install openstack-neutron-ml2 - Edit the /etc/neutron/neutron.conf + + Edit the /etc/neutron/neutron.conf file to use the ML2 plug-in: [DEFAULT] core_plugin = ml2 service_plugins = router - Populate the + + Populate the /etc/neutron/plugins/ml2/ml2_conf.ini file with the equivalent configuration for your environment. - Change the /etc/neutron/plugin.ini + + Change the /etc/neutron/plugin.ini symbolic link to reference /etc/neutron/plugins/ml2/ml2_conf.ini. - Clean the active OVS configuration: + + Clean the active OVS configuration: # service neutron-ovs-cleanup restart - Restart Networking services: + + Restart Networking services: # service neutron-openvswitch-agent restart - Restart Compute services: + + Restart Compute services: # service openstack-nova-compute restart + +
Upgrade the Storage Nodes - Upgrade packages on the storage nodes to Icehouse: + + Upgrade packages on the storage nodes to Icehouse: Make sure you have removed the repository for Havana packages and added the repository for Icehouse packages. # yum upgrade - Restart Block Storage services. + + Restart Block Storage service: # service openstack-cinder-volume restart -
+ + +
Cleaning Up and Final Configuration File Updates - On all distributions, you must perform some final tasks to complete the upgrade process. upgrading final steps - - Decrease DHCP timeouts by modifying + + Decrease DHCP timeouts by modifying /etc/nova/nova.conf on the compute nodes - back to the original value for your environment. - - Update all .ini files to match + back to the original value for your environment. + Update all .ini files to match passwords and pipelines as required for Havana in your - environment. - - After a migration, your users see different results from + environment. + After migration, users see different results from nova image-list and glance - image-list unless you match policies for access to - private images. To do so, edit the - /etc/glance/policy.json and - /etc/nova/policy.json files to contain + image-list. To ensure users see the same images in + the list commands, edit the /etc/glance/policy.json + and /etc/nova/policy.json files to contain "context_is_admin": "role:admin", which limits - access to private images for projects. - - Thoroughly test the environment. Then, let your users know - that their cloud is running normally again. + access to private images for projects. + Thoroughly test the environment. Then, let your users + know that their cloud is running normally again. +