Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Install the first node; either by resintaling it with the yoga modules/tags, or follow this list:
    1. Run puppet with yoga modules/tags
    2. Run systemctl stop puppet apache2
    3. Run apt-get purge placement-api placement-common python3-placement && apt-get autoremove && apt-get dist-upgrade
    4. Run puppet again
  2. Run placement-manage db sync; placement-manage db online_data_migrations on the new node.
  3. upgrade the rest of the nodes (Step 1)

Nova

To upgrade nova without any downtime, follow this procedure

Preperations

Before the upgrades can be started it is important that all data from previous nova-releases are migrated to wallaby release. This is done like so:

  • Run nova-manage db online_data_migrations on an API node. Ensure that it reports that nothing more needs to be done.

Nova API

  1. In the node-specific hiera, disable the services at the first node you would like to upgrade with the keys
    1. apache::service_ensure: 'stopped'

  2. Do one of:
    1. Run puppet with the yoga modules/tags, Run apt dist-upgrade && apt-get autoremove
    2. Reinstall the node with yoga modules/tags
  3. Run nova-manage api_db sync
  4. Run nova-manage db sync
  5. Re-enable nova API on the upgraded node:
    1. Remove apache::service_ensure: 'stopped' from the upgraded node's hiera file
  6. Upgrade the rest of the nodes (basically run step 2)

Nova-services

  1. Run puppet with the yoga modules/tags
  2. Run apt dist-upgrade && apt-get autoremove
  3. Run puppet and restart services

Enable nova quotas through keystone unified limits

...

Code Block
# Default-quota of 10 images20 instances, 20 VCPUs, 40GB RAM and 50GBnone VGPUs.
openstack registered limit create --service nova --region SkyLow --default-limit 20 class:VCPU
openstack registered limit create --service nova --region SkyLow --default-limit 0 class:VGPU
openstack registered limit create --service nova --region SkyLow --default-limit 40960 class:MEMORY_MB
openstack registered limit create --service nova --region SkyLow --default-limit 20 servers

...

Code Block
ntnuopenstack::nova::endpoint::internal::id: '<NOVA INTERNAL ENDPOINT ID>'
ntnuopenstack::nova::keystone::limits: true




Compute-nodes

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

  1. Do one of:
    1. Reinstall the node with yoga modules/tags
    2. Run puppet with the yoga modules/tags, Run apt dist-upgrade && apt-get autoremove
  2. Reboot the compute-node
    1. When it comes up, see that the storage-interface is up. It it isnt, run a manual puppet-run to fix it.

GPU-nodes

  1. The mdev-mappings need yet another change in hiera. This time you should:
    1. Change the nova::compute::mdev::mdev_types_device_addresses_mapping parameter to something like this::

      Code Block
      nova::compute::mdev::mdev_types:
        nvidia-45:
          device_addresses: [ '0000:3d:00.0', '0000:3e:00.0', '0000:3f:00.0', '0000:40:00.0' ]


    2. Remove the old keys:
      1. nova::compute::mdev::mdev_types_device_addresses_mapping
      2. nova::compute::vgpu::vgpu_types_device_addresses_mapping
  2. Run puppet with the yoga modules/tags
  3. Run apt dist-upgrade && apt autoremove
  4. Run puppet again
  5. Restart openstack services and openvswitch-services

Finalizing

  • Run nova-manage db online_data_migrations on a nova API node. Ensure that it reports that nothing more needs to be done.
  • Rotate octavia images.