This article summarizes the steps required to upgrade from the newton release to the pike release of openstack.

Prerequisites:

  • This documents expects that your cloud is deployed with the latest ocata tag(vO.0.0) of the ntnuopenstack repository.
  • Your cloud is designed with the architecture:
    • Each openstack project have their own VM(s) for their services
  • You have a recent mysql backup in case things go south.

VM-based architecture

If you use the VM based infrastructure you have the luxury of upgrading one service at a time and test that the upgrade works before doing the next service. This allows for ~zero downtime. If the services are redundantly deployed it is also very easy to do a rollback.

The recommended order to upgrade the services are listed below:

Keystone

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
    1. If this fails you can try one of two things:
      1. Stop apache2
      2. Purge the keystone package
  3. Run puppet again
  4. Perform the DB sync
    1. keystone-manage db_sync
  5. Restart apache2

Cinder

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. Run puppet with the pike modules/tags
  4. Run cinder db sync
  5. restart cinder services

Glance

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. Update the glance database schema
    1. glance-manage db sync
  4. restart glance services

Neutron

On the API node:

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. Migrate the database
    1. neutron-db-manage upgrade heads
  4. Restart neutron services

On the network node:

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. restart neutron services

Nova

On the API node:

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. Migrate the databases
    1. nova-manage api_db sync

    2. nova-manage db sync

  4. Clean old services from the databse

    1. MariaDB [nova]> select host, version, topic, last_seen_up from services;
      1. Make sure that services with a version < 16 is not any services planned to be used.
    2. MariaDB [nova]> delete from services where version = 9;

    3. MariaDB [nova]> delete from services where version = 15;

  5. Restart services

On the services node:

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. Restart services

Heat

On the API node:

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. heat-manage db_sync
  4. restart heat services

On the engine node:

  1. Run puppet with the pike modules/tags
  2. Run apt-get dist-upgrade
  3. Restart heat-engine

Horizon

  1. Run puppet with the pike modules/tags
  2. run apt-get dist-upgrade
  3. Run puppet again
  4. restart apache2

Compute-nodes

When controllers etc. are upgraded, it is time to do the same on the comute-nodes. Compute nodes are simple to upgrade:

  1. Run puppet with the pike modules/tags
  2. Perform a dist-upgrade
  3. Run puppet again
  4. Restart openstack services

 

  • No labels