Chapter 11. Configuring manual node reboot to define KernelArgs

Overcloud nodes are automatically rebooted when the overcloud deployment includes setting the KernelArgs for the first time. Rebooting nodes can be an issue for existing workloads if you are adding KernelArgs to a deployment that is already in production. You can disable the automatic rebooting of nodes when updating a deployment, and instead perform node reboots manually after each overcloud deployment.

Note

If you disable automatic reboot and then add new Compute nodes to your deployment, the new nodes will not be rebooted during their initial provisioning. This might cause deployment errors because the configuration of KernelArgs is applied only after a reboot.

11.1. Configuring manual node reboot to define KernelArgs

You can disable the automatic rebooting of nodes when you configure KernelArgs for the first time, and instead reboot the nodes manually.

Procedure

  1. Log in to the undercloud as the stack user.
  2. Source the stackrc file:

    [stack@director ~]$ source ~/stackrc
  3. Enable the KernelArgsDeferReboot role parameter in a custom environment file, for example, kernelargs_manual_reboot.yaml:

    parameter_defaults:
      <Role>Parameters:
        KernelArgsDeferReboot: True
  4. Add your custom environment file to the stack with your other environment files and deploy the overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
     -e [your environment files] \
     -e /home/stack/templates/kernelargs_manual_reboot.yaml
  5. Retrieve a list of your Compute nodes to identify the host name of the node that you want to reboot:

    (undercloud)$ source ~/overcloudrc
    (overcloud)$ openstack compute service list
  6. Disable the Compute service on the Compute node you want to reboot, to prevent the Compute scheduler from assigning new instances to the node:

    (overcloud)$ openstack compute service set <node> nova-compute --disable

    Replace <node> with the host name of the node you want to disable the Compute service on.

  7. Retrieve a list of the instances hosted on the Compute node that you want to migrate:

    (overcloud)$ openstack server list --host <node_UUID> --all-projects
  8. Migrate the instances to another Compute node. For information on migrating instances, see Migrating virtual machine instances between Compute nodes.
  9. Log in to the node that you want to reboot.
  10. Reboot the node:

    [heat-admin@overcloud-compute-0 ~]$ sudo reboot
  11. Wait until the node boots.
  12. Re-enable the Compute node:

    (overcloud)$ openstack compute service set <node_UUID>  nova-compute --enable
  13. Check that the Compute node is enabled:

    (overcloud)$ openstack compute service list