Use this procedure to upgrade a basic operational deployment of the following services: Identity (keystone), Image Service (glance), Compute (nova), Networking (neutron), dashboard (horizon), Block Storage (cinder), Orchestration (heat), and Telemetry (ceilometer). This procedure references the basic three-node architecture in the OpenStack Installation Guide. All nodes must run a supported distribution of Linux with a recent kernel and latest Icehouse packages.
-
The upgrade process interrupts management of your environment including the dashboard. If you properly prepare for the upgrade, existing instances, networking, and storage should continue to operate. However, instances might experience intermittent network interruptions.
-
Review the release notes before upgrading to learn about new, updated, and deprecated features.
-
Consider adopting structure and options from Juno service configuration files and merging them with existing configuration files. The OpenStack Configuration Reference contains new, updated, and deprecated options for most services.
-
For environments using the OpenStack Networking (neutron) service, verify the Icehouse version of the database:
# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/plugins/ml2/ml2_conf.ini current" neutron INFO [alembic.migration] Context impl MySQLImpl. INFO [alembic.migration] Will assume non-transactional DDL. Current revision for mysql://neutron:XXXXX@controller/neutron: 5ac1c354a051 -> icehouse (head), icehouse
-
Save the configuration files on all nodes:
# for i in keystone glance nova neutron openstack-dashboard cinder heat ceilometer; \ do mkdir $i-icehouse; \ done # for i in keystone glance nova neutron openstack-dashboard cinder heat ceilometer; \ do cp -r /etc/$i/* $i-icehouse/; \ done
Note 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 > icehouse-db-backup.sql
Note Consider updating your SQL server configuration as described in the OpenStack Installation Guide.
Complete the following steps on all nodes.
-
Remove the repository for Icehouse packages.
-
On Ubuntu, follow these steps:
-
Add the repository for Juno packages:
# echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \ "trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list
Note Remove any Ubuntu Cloud archive repositories for Icehouse packages. You might also need to install or update the
ubuntu-cloud-keyring
package. -
Update the repository database.
-
-
On Red Hat Enterprise Linux (RHEL), CentOS, and Fedora, follow these steps:
-
Remove the repository for Icehouse packages:
# yum erase rdo-release-icehouse
-
Add the repository for Juno packages:
# yum install http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm
-
Update the repository database.
-
Depending on your specific configuration, upgrading all packages might restart or break services supplemental to your OpenStack environment. For example, if you use the TGT iSCSI framework for Block Storage volumes and the upgrade includes new packages for it, the package manager might restart the TGT iSCSI services and impact connectivity to volumes.
If the package manager prompts you to update configuration files, reject the changes. The package manager appends a suffix to newer versions of configuration files. Consider reviewing and adopting content from these files.
To update a service, you generally modify one or more configuration files, stop the service, synchronize the database schema, and start the service. Some services require different steps. We recommend verifying operation of each service before proceeding to the next service.
All services
These configuration changes apply to all services.
-
In any file containing the
[keystone_authtoken]
section, modify Identity service access to use theidentity_uri
option:123[keystone_authtoken]
...
identity_uri = http:
//
controller:35357
Comment out any
auth_host
,auth_port
, andauth_protocol
options because theidentity_uri
option replaces them. -
In any file containing the
auth_uri
option, modify it to explicitly use version 2.0:1auth_uri = http:
//
controller:5000
/v2
.0
Identity service
-
Edit the
/etc/keystone/keystone.conf
file:-
In the
[token]
section, configure the UUID token provider and SQL driver:1234[token]
...
provider = keystone.token.providers.uuid.Provider
driver = keystone.token.persistence.backends.sql.Token
-
-
Stop the service.
-
Clear expired tokens:
# su -s /bin/sh -c "keystone-manage token_flush" keystone
-
Synchronize the database schema:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
-
Start the service.
Image Service
-
Edit the
/etc/glance/glance-api.conf
file:-
Move the following options from the
[DEFAULT]
section to the[glance_store]
section:-
default_store
-
filesystem_store_datadir
Note These options must contain values.
-
-
-
Stop the services.
-
Synchronize the database schema:
# su -s /bin/sh -c "glance-manage db_sync" glance
-
Start the services.
Compute service
-
Edit the
/etc/nova/nova.conf
file:-
In the
[DEFAULT]
section, rename theglance_host
option tohost
and move it to the[glance]
section. -
In the
[DEFAULT]
section, rename the following options and move them to the[neutron]
section:Old options New options neutron_url
url
neutron_auth_strategy
auth_strategy
neutron_admin_tenant_name
admin_tenant_name
neutron_admin_username
admin_username
neutron_admin_password
admin_password
neutron_admin_auth_url
admin_auth_url
service_neutron_metadata_proxy
service_metadata_proxy
neutron_metadata_proxy_shared_secret
metadata_proxy_shared_secret
-
-
Stop the services.
-
Synchronize the database schema:
# su -s /bin/sh -c "nova-manage db sync" nova
-
Start the services.
Networking service
-
Edit the
/etc/neutron/neutron.conf
file:-
In the
[DEFAULT]
section, change the value of therpc_backend
option:neutron.openstack.common.rpc.impl_kombu
becomesrabbit
-
In the
[DEFAULT]
section, change the value of thecore_plugin
option:neutron.plugins.ml2.plugin.Ml2Plugin
becomesml2
-
In the
[DEFAULT]
section, change the value or values of theservice_plugins
option to use short names. For example:neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
becomesrouter
-
In the
[DEFAULT]
section, explicitly define a value for thenova_region_name
option. For example:123[DEFAULT]
...
nova_region_name = regionOne
-
-
Stop the services.
-
Synchronize the database schema:
# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade juno" neutron
-
Start the services.
Dashboard
In typical environments, updating the dashboard only requires restarting the services.
-
Restart the services.
Block Storage service
-
Edit the
/etc/cinder/cinder.conf
file:-
In the
[DEFAULT]
section, add the following option:1my_ip = controller
-
-
Stop the services.
-
Synchronize the database schema:
# su -s /bin/sh -c "cinder-manage db sync" cinder
-
Start the services.
Orchestration service
-
Create the
heat_stack_owner
role if it does not exist:# keystone role-create --name heat_stack_owner
-
Edit the
/etc/heat/heat.conf
file:-
In the
[DEFAULT]
section, change the value of therpc_backend
option:heat.openstack.common.rpc.impl_kombu
becomesrabbit
-
-
Stop the services.
-
Synchronize the database schema:
# su -s /bin/sh -c "heat-manage db_sync" heat
-
Start the services.
Explicitly install the ipset
package if your distribution does not install it as a dependency.
Depending on your specific configuration, upgrading all packages might restart or break services supplemental to your OpenStack environment. For example, if you use the TGT iSCSI framework for Block Storage volumes and the upgrade includes new packages for it, the package manager might restart the TGT iSCSI services and impact access to volumes.
If the package manager prompts you to update configuration files, reject the changes. The package manager appends a suffix to newer versions of configuration files. Consider reviewing and adopting content from these files.
To update a service, you generally modify one or more configuration files, stop the service, synchronize the database schema, and start the service. Some services require different steps. We recommend verifying operation of each service before proceeding to the next service.
All services
These configuration changes apply to all services.
-
In any file containing the
[keystone_authtoken]
section, modify Identity service access to use theidentity_uri
option:123[keystone_authtoken]
...
identity_uri = http:
//
controller:35357
Comment out any
auth_host
,auth_port
, andauth_protocol
options because theidentity_uri
option replaces them. -
In any file containing the
auth_uri
option, modify it to explicitly use version 2.0:1auth_uri = http:
//
controller:5000
/v2
.0
Networking service
-
Edit the
/etc/neutron/neutron.conf
file:-
In the
[DEFAULT]
section, change the value of therpc_backend
option:neutron.openstack.common.rpc.impl_kombu
becomesrabbit
-
In the
[DEFAULT]
section, change the value of thecore_plugin
option:neutron.plugins.ml2.plugin.Ml2Plugin
becomesml2
-
In the
[DEFAULT]
section, change the value or values of theservice_plugins
option to use short names. For example:neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
becomesrouter
-
In the
[DEFAULT]
section, explicitly define a value for thenova_region_name
option. For example:123[DEFAULT]
...
nova_region_name = regionOne
-
In the
[database]
section, remove anyconnection
options because the Networking service uses the message queue instead of direct access to the database.
-
-
Restart the services.
Explicitly install the ipset
package if your distribution does not install it as a dependency.
Depending on your specific configuration, upgrading all packages might restart or break services supplemental to your OpenStack environment. For example, if you use the TGT iSCSI framework for Block Storage volumes and the upgrade includes new packages for it, the package manager might restart the TGT iSCSI services and impact access to volumes.
If the package manager prompts you to update configuration files, reject the changes. The package manager appends a suffix to newer versions of configuration files. Consider reviewing and adopting content from these files.
To update a service, you generally modify one or more configuration files, stop the service, synchronize the database schema, and start the service. Some services require different steps. We recommend verifying operation of each service before proceeding to the next service.
All services
These configuration changes apply to all services.
-
In any file containing the
[keystone_authtoken]
section, modify Identity service access to use theidentity_uri
option:123[keystone_authtoken]
...
identity_uri = http:
//
controller:35357
Comment out any
auth_host
,auth_port
, andauth_protocol
options because theidentity_uri
option replaces them. -
In any file containing the
auth_uri
option, modify it to explicitly use version 2.0:1auth_uri = http:
//
controller:5000
/v2
.0
Compute service
-
Edit the
/etc/nova/nova.conf
file:-
In the
[DEFAULT]
section, rename theglance_host
option tohost
and move it to the[glance]
section. -
In the
[DEFAULT]
section, rename the following options and move them to the[neutron]
section:Old options New options neutron_url
url
neutron_auth_strategy
auth_strategy
neutron_admin_tenant_name
admin_tenant_name
neutron_admin_username
admin_username
neutron_admin_password
admin_password
neutron_admin_auth_url
admin_auth_url
service_neutron_metadata_proxy
service_metadata_proxy
neutron_metadata_proxy_shared_secret
metadata_proxy_shared_secret
-
In the
[database]
section, remove anyconnection
options because the Compute service uses the message queue instead of direct access to the database.
-
-
Restart the services.
Networking service
-
Edit the
/etc/neutron/neutron.conf
file:-
In the
[DEFAULT]
section, change the value of therpc_backend
option:neutron.openstack.common.rpc.impl_kombu
becomesrabbit
-
In the
[DEFAULT]
section, change the value of thecore_plugin
option:neutron.plugins.ml2.plugin.Ml2Plugin
becomesml2
-
In the
[DEFAULT]
section, change the value or values of theservice_plugins
option to use short names. For example:neutron.services.l3_router.l3_router_plugin.L3RouterPlugin
becomesrouter
-
In the
[DEFAULT]
section, explicitly define a value for thenova_region_name
option. For example:123[DEFAULT]
...
nova_region_name = regionOne
-
In the
[database]
section, remove anyconnection
options because the Networking service uses the message queue instead of direct access to the database.
-
-
Restart the services.
Depending on your specific configuration, upgrading all packages might restart or break services supplemental to your OpenStack environment. For example, if you use the TGT iSCSI framework for Block Storage volumes and the upgrade includes new packages for it, the package manager might restart the TGT iSCSI services and impact access to volumes.
If the package manager prompts you to update configuration files, reject the changes. The package manager appends a suffix to newer versions of configuration files. Consider reviewing and adopting content from these files.
To update a service, you generally modify one or more configuration files, stop the service, synchronize the database schema, and start the service. Some services require different steps. We recommend verifying operation of each service before proceeding to the next service.
All services
These configuration changes apply to all services.
-
In any file containing the
[keystone_authtoken]
section, modify Identity service access to use theidentity_uri
option:123[keystone_authtoken]
...
identity_uri = http:
//
controller:35357
Comment out any
auth_host
,auth_port
, andauth_protocol
options because theidentity_uri
option replaces them. -
In any file containing the
auth_uri
option, modify it to explicitly use version 2.0:1auth_uri = http:
//
controller:5000
/v2
.0