tripleo-validations/roles/compute_tsx
David Vallee Delisle ede25c3e36 Compute TSX validation
RHEL-8.3 kernel disabled the Intel TSX (Transactional
Synchronization Extensions) feature by default as a preemptive
security measure, but it breaks live migration from RHEL-7.9
(or even RHEL-8.1 or RHEL-8.2) to RHEL-8.3.

Operators are expected to explicitly define the TSX flag in
their KernelArgs for the compute role to prevent live-migration
issues during the upgrade process.

This also impacts upstream CentOS systems.

Co-Authored-By: Martin Schuppert <mschuppert@redhat.com>
Related: https://bugzilla.redhat.com/1923165
Closes-Bug: #1916758
Change-Id: Icfcfb1c07bbfbe05d27d67187d941c0c34fad2b2
2021-06-07 17:33:57 -04:00
..
defaults Compute TSX validation 2021-06-07 17:33:57 -04:00
molecule/default Compute TSX validation 2021-06-07 17:33:57 -04:00
tasks Compute TSX validation 2021-06-07 17:33:57 -04:00
vars Compute TSX validation 2021-06-07 17:33:57 -04:00
README.md Compute TSX validation 2021-06-07 17:33:57 -04:00

README.md

Compute-TSX

An Ansible role to verify that the compute nodes have the appropriate TSX flags before proceeding with an upgrade.

RHEL-8.3 kernel disabled the Intel TSX (Transactional Synchronization Extensions) feature by default as a preemptive security measure, but it breaks live migration from RHEL-7.9 (or even RHEL-8.1 or RHEL-8.2) to RHEL-8.3.

Operators are expected to explicitly define the TSX flag in their KernelArgs for the compute role to prevent live-migration issues during the upgrade process.

This role is intended to be called by tripleo via the kernel deployment templates.

It's also possible to call the role as a standalone.

This also impacts upstream CentOS systems

Requirements

This role needs to be run on an Undercloud with a deployed Overcloud.

Role Variables

  • compute_tsx_debug: <'false'> -- Whether or not to print the computed variables during execution
  • compute_tsx_warning: <'false'> -- Will not return a failure, but will simply print the failure
  • compute_tsx_kernel_args: <''> -- This is meant to be used when called by tripleo-heat-templates.
  • compute_tsx_8_3_version: <'4.18.0-240'> -- This is the kernel version that requires to have TSX flag enabled

Dependencies

No dependencies.

Example Playbook

Standard playbook

- hosts: nova_libvirt
  roles:
  - { role: compute_tsx}

Reporting playbook with no failure

- hosts: nova_libvirt
  vars:
  - compute_tsx_warning: true
  roles:
  - { role: compute_tsx}

License

Apache

Author Information

Red Hat TripleO DFG:Compute Deployment Squad