How to Perform an Upgrade from Icehouse to Juno(ice升级到juno)

 How to Perform an Upgrade from Icehouse to Juno

Before you begin
Perform a backup
Manage repositories
Controller nodes
Network nodes
Compute nodes
Storage nodes

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.

 Before you begin

  • 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

 Perform a backup

  1. 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.

  2. 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.

 Manage repositories

Complete the following steps on all nodes.

  1. Remove the repository for Icehouse packages.

  2. On Ubuntu, follow these steps:

    1. 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.

    2. Update the repository database.

  3. On Red Hat Enterprise Linux (RHEL), CentOS, and Fedora, follow these steps:

    1. Remove the repository for Icehouse packages:

      # yum erase rdo-release-icehouse
    2. Add the repository for Juno packages:

      # yum install http://rdo.fedorapeople.org/openstack-juno/rdo-release-juno.rpm
    3. Update the repository database.

 Controller nodes

Upgrade packages to Juno
Update services

 Upgrade packages to Juno

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.

 Update services

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.

  1. In any file containing the [keystone_authtoken] section, modify Identity service access to use the identity_urioption:

    Select Text
    1
    2
    3
    [keystone_authtoken]
    ...
    identity_uri = http: // controller:35357

    Comment out any auth_hostauth_port, and auth_protocol options because the identity_uri option replaces them.

  2. In any file containing the auth_uri option, modify it to explicitly use version 2.0:

    Select Text
    1
    auth_uri = http: // controller:5000 /v2 .0
 

Identity service

  1. Edit the /etc/keystone/keystone.conf file:

    1. In the [token] section, configure the UUID token provider and SQL driver:

      Select Text
      1
      2
      3
      4
      [token]
      ...
      provider = keystone.token.providers.uuid.Provider
      driver = keystone.token.persistence.backends.sql.Token
  2. Stop the service.

  3. Clear expired tokens:

    # su -s /bin/sh -c "keystone-manage token_flush" keystone
  4. Synchronize the database schema:

    # su -s /bin/sh -c "keystone-manage db_sync" keystone
  5. Start the service.

 

Image Service

  1. Edit the /etc/glance/glance-api.conf file:

    1. Move the following options from the [DEFAULT] section to the [glance_store] section:

      • default_store

      • filesystem_store_datadir

      Note

      These options must contain values.

  2. Stop the services.

  3. Synchronize the database schema:

    # su -s /bin/sh -c "glance-manage db_sync" glance
  4. Start the services.

 

Compute service

  1. Edit the /etc/nova/nova.conf file:

    1. In the [DEFAULT] section, rename the glance_host option to host and move it to the [glance] section.

    2. 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
  2. Stop the services.

  3. Synchronize the database schema:

    # su -s /bin/sh -c "nova-manage db sync" nova
  4. Start the services.

 

Networking service

  1. Edit the /etc/neutron/neutron.conf file:

    1. In the [DEFAULT] section, change the value of the rpc_backend option:

      neutron.openstack.common.rpc.impl_kombu becomes rabbit

    2. In the [DEFAULT] section, change the value of the core_plugin option:

      neutron.plugins.ml2.plugin.Ml2Plugin becomes ml2

    3. In the [DEFAULT] section, change the value or values of the service_plugins option to use short names. For example:

      neutron.services.l3_router.l3_router_plugin.L3RouterPlugin becomes router

    4. In the [DEFAULT] section, explicitly define a value for the nova_region_name option. For example:

      Select Text
      1
      2
      3
      [DEFAULT]
      ...
      nova_region_name = regionOne
  2. Stop the services.

  3. 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
  4. Start the services.

 

Dashboard

In typical environments, updating the dashboard only requires restarting the services.

  • Restart the services.

 

Block Storage service

  1. Edit the /etc/cinder/cinder.conf file:

    1. In the [DEFAULT] section, add the following option:

      Select Text
      1
      my_ip = controller
  2. Stop the services.

  3. Synchronize the database schema:

    # su -s /bin/sh -c "cinder-manage db sync" cinder
  4. Start the services.

 

Orchestration service

  1. Create the heat_stack_owner role if it does not exist:

    # keystone role-create --name heat_stack_owner
  2. Edit the /etc/heat/heat.conf file:

    1. In the [DEFAULT] section, change the value of the rpc_backend option:

      heat.openstack.common.rpc.impl_kombu becomes rabbit

  3. Stop the services.

  4. Synchronize the database schema:

    # su -s /bin/sh -c "heat-manage db_sync" heat
  5. Start the services.

 

Telemetry service

In typical environments, updating the Telemetry service only requires restarting the services.

  • Restart the services.

 Network nodes

Upgrade packages to Juno
Update services

 Upgrade packages to Juno

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.

 Update services

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.

  1. In any file containing the [keystone_authtoken] section, modify Identity service access to use the identity_urioption:

    Select Text
    1
    2
    3
    [keystone_authtoken]
    ...
    identity_uri = http: // controller:35357

    Comment out any auth_hostauth_port, and auth_protocol options because the identity_uri option replaces them.

  2. In any file containing the auth_uri option, modify it to explicitly use version 2.0:

    Select Text
    1
    auth_uri = http: // controller:5000 /v2 .0
 

Networking service

  1. Edit the /etc/neutron/neutron.conf file:

    1. In the [DEFAULT] section, change the value of the rpc_backend option:

      neutron.openstack.common.rpc.impl_kombu becomes rabbit

    2. In the [DEFAULT] section, change the value of the core_plugin option:

      neutron.plugins.ml2.plugin.Ml2Plugin becomes ml2

    3. In the [DEFAULT] section, change the value or values of the service_plugins option to use short names. For example:

      neutron.services.l3_router.l3_router_plugin.L3RouterPlugin becomes router

    4. In the [DEFAULT] section, explicitly define a value for the nova_region_name option. For example:

      Select Text
      1
      2
      3
      [DEFAULT]
      ...
      nova_region_name = regionOne
    5. In the [database] section, remove any connection options because the Networking service uses the message queue instead of direct access to the database.

  2. Restart the services.

 Compute nodes

Upgrade packages to Juno
Update services

 Upgrade packages to Juno

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.

 Update services

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.

  1. In any file containing the [keystone_authtoken] section, modify Identity service access to use the identity_urioption:

    Select Text
    1
    2
    3
    [keystone_authtoken]
    ...
    identity_uri = http: // controller:35357

    Comment out any auth_hostauth_port, and auth_protocol options because the identity_uri option replaces them.

  2. In any file containing the auth_uri option, modify it to explicitly use version 2.0:

    Select Text
    1
    auth_uri = http: // controller:5000 /v2 .0
 

Compute service

  1. Edit the /etc/nova/nova.conf file:

    1. In the [DEFAULT] section, rename the glance_host option to host and move it to the [glance] section.

    2. 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
    3. In the [database] section, remove any connection options because the Compute service uses the message queue instead of direct access to the database.

  2. Restart the services.

 

Networking service

  1. Edit the /etc/neutron/neutron.conf file:

    1. In the [DEFAULT] section, change the value of the rpc_backend option:

      neutron.openstack.common.rpc.impl_kombu becomes rabbit

    2. In the [DEFAULT] section, change the value of the core_plugin option:

      neutron.plugins.ml2.plugin.Ml2Plugin becomes ml2

    3. In the [DEFAULT] section, change the value or values of the service_plugins option to use short names. For example:

      neutron.services.l3_router.l3_router_plugin.L3RouterPlugin becomes router

    4. In the [DEFAULT] section, explicitly define a value for the nova_region_name option. For example:

      Select Text
      1
      2
      3
      [DEFAULT]
      ...
      nova_region_name = regionOne
    5. In the [database] section, remove any connection options because the Networking service uses the message queue instead of direct access to the database.

  2. Restart the services.

 Storage nodes

Upgrade packages to Juno
Update services

 Upgrade packages to Juno

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.

 Update services

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.

  1. In any file containing the [keystone_authtoken] section, modify Identity service access to use the identity_urioption:

    Select Text
    1
    2
    3
    [keystone_authtoken]
    ...
    identity_uri = http: // controller:35357

    Comment out any auth_hostauth_port, and auth_protocol options because the identity_uri option replaces them.

  2. In any file containing the auth_uri option, modify it to explicitly use version 2.0:

    Select Text
    1
    auth_uri = http: // controller:5000 /v2 .0
 

Block Storage service

In typical environments, updating the Block Storage service only requires restarting the services.

  • Restart the services.

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

你可能感兴趣的:(How to Perform an Upgrade from Icehouse to Juno(ice升级到juno))