Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

5.4. Additional preparation for DPDK instances

If you are migrating NUMA, CPU-pinned or DPDK instances, you need to prepare the destination node.

Procedure

  1. If the destination Compute node for NUMA, CPU-pinned or DPDK instances is not disabled, disable it to prevent the scheduler from assigning instances to the node:

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

    Replace <dest> with the name or ID of the destination Compute node.

  2. Ensure that the destination Compute node has no instances, except for instances that you previously migrated from the source Compute node when you migrated multiple DPDK or NUMA instances:

    (overcloud)$ openstack server list --host <dest> --all-projects

    Replace <dest> with the name or ID of the destination Compute node.

  3. Ensure that the destination Compute node has sufficient resources to run the NUMA, CPU-pinned or DPDK instance:

    (overcloud)$ openstack host show <dest>
    $ ssh <dest>
    $ numactl --hardware
    $ exit

    Replace <dest> with the name or ID of the destination Compute node.

  4. To discover NUMA information about the source or destination Compute nodes, run the following commands:

    $ ssh root@overcloud-compute-n
    # lscpu && lscpu | grep NUMA
    # virsh nodeinfo
    # virsh capabilities
    # exit

    Use ssh to connect to overcloud-compute-n where overcloud-compute-n is the source or destination Compute node.

  5. If you do not know if an instance uses NUMA, check the flavor of the instance:

    (overcloud)$ openstack server list -c Name -c Flavor --name <vm>
    (overcloud)$ openstack flavor show <flavor>
    • Replace <vm> with the name or ID of the instance.
    • Replace <flavor> with the name or ID of the flavor.

      • If the properties field includes hw:mem_page_size with a value other than any, such as 2MB, 2048 or 1GB, the instance has a NUMA topology.
      • If the properties field includes aggregate_instance_extra_specs:pinned='true', the instance uses CPU pinning.
      • If the properties field includes hw:numa_nodes, the OpenStack Compute (nova) service restricts the instance to a specific NUMA node.
  6. For each instance that uses NUMA, you can retrieve information about the NUMA topology from the underlying Compute node so that you can verify that the NUMA topology on the destination Compute node reflects the NUMA topology of the source Compute node after migration is complete. You can use the following commands to perform this check:

    • To view details about NUMA and CPU pinning, run the following command:

      $ ssh root@overcloud-compute-n
      # virsh vcpuinfo <vm>

      Replace <vm> with the name of the instance.

    • To view details about which NUMA node the instance is using, run the following command:

      $ ssh root@overcloud-compute-n
      # virsh numatune <vm>

      Replace <vm> with the name of the instance.