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

本文提供了一步一步的操作指南,指导如何将基于Icehouse版本的OpenStack部署升级到Juno版本。包括备份管理、更新仓库、控制节点、网络节点、计算节点和存储节点的步骤,以及关键服务的更新方法。确保升级过程顺利进行,同时提供了环境准备、注意事项和常见问题解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 How to Perform an Upgrade from Icehouse to Juno

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] 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] 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] 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

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] 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 optionsNew 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

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

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 optionsNew 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

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值