Move enable ksm on compute node to deploy step 1

When using RHSM Service (deployment/rhsm/rhsm-baremetal-ansible.yaml) based
registration of the overcloud nodes and enabling the KSM using
NovaComputeEnableKsm=True the overcloud deployment will fail because the
RHSM registration and the ksm task run as host_prep task. The handling
of enable/disable ksm is now handled in deploy step 1.

Closes-Bug: #1904184

Change-Id: I75a59f3d4b640f3146f2a865eff8be3f1383e078
This commit is contained in:
Martin Schuppert 2020-11-13 12:13:26 +01:00
parent bd94c1b9d7
commit c329204dec
2 changed files with 46 additions and 34 deletions

View File

@ -1129,6 +1129,44 @@ outputs:
- name: If instance HA is enabled on the node activate the evacuation completed check
file: path=/var/lib/nova/instanceha/enabled state=touch
when: iha_nodes.stdout|lower is search('"'+ansible_hostname|lower+'"')
- name: Is irqbalance enabled
set_fact:
compute_irqbalance_disabled: {get_attr: [RoleParametersValue, value, compute_disable_irqbalance]}
- name: disable irqbalance service on compute
when: compute_irqbalance_disabled|bool
service:
name: irqbalance.service
state: stopped
enabled: no
deploy_steps_tasks:
- name: validate nova-compute container state
podman_container_info:
name: nova_compute
register: nova_compute_infos
failed_when:
- nova_compute_infos.containers.0.Healthcheck.Status is defined
- "'healthy' not in nova_compute_infos.containers.0.Healthcheck.Status"
retries: 10
delay: 30
tags:
- opendev-validation
- opendev-validation-nova
when:
- container_cli == 'podman'
- not container_healthcheck_disabled
- step|int == 6 #FIXME: there is no step6
- name: manage PMEM namespaces for vPMEM
include_role:
name: tripleo_nvdimm
vars:
tripleo_nvdimm_pmem_namespaces: {get_attr: [RoleParametersValue, value, nova_pmem_namespaces]}
when:
- step|int == 1
- tripleo_nvdimm_pmem_namespaces != ''
- name: enable/disable ksm
when:
- step|int == 1
block:
- name: is KSM enabled
set_fact:
compute_ksm_enabled: {get_attr: [RoleParametersValue, value, compute_enable_ksm]}
@ -1191,40 +1229,6 @@ outputs:
with_items:
- ksm.service
- ksmtuned.service
- name: Is irqbalance enabled
set_fact:
compute_irqbalance_disabled: {get_attr: [RoleParametersValue, value, compute_disable_irqbalance]}
- name: disable irqbalance service on compute
when: compute_irqbalance_disabled|bool
service:
name: irqbalance.service
state: stopped
enabled: no
deploy_steps_tasks:
- name: validate nova-compute container state
podman_container_info:
name: nova_compute
register: nova_compute_infos
failed_when:
- nova_compute_infos.containers.0.Healthcheck.Status is defined
- "'healthy' not in nova_compute_infos.containers.0.Healthcheck.Status"
retries: 10
delay: 30
tags:
- opendev-validation
- opendev-validation-nova
when:
- container_cli == 'podman'
- not container_healthcheck_disabled
- step|int == 6 #FIXME: there is no step6
- name: manage PMEM namespaces for vPMEM
include_role:
name: tripleo_nvdimm
vars:
tripleo_nvdimm_pmem_namespaces: {get_attr: [RoleParametersValue, value, nova_pmem_namespaces]}
when:
- step|int == 1
- tripleo_nvdimm_pmem_namespaces != ''
external_post_deploy_tasks: {get_attr: [NovaComputeCommon, nova_compute_common_deploy_steps_tasks]}
upgrade_tasks:
- name: Remove openstack-nova-compute and python-nova package during upgrade

View File

@ -0,0 +1,8 @@
---
fixes:
- |
When using RHSM Service (deployment/rhsm/rhsm-baremetal-ansible.yaml) based
registration of the overcloud nodes and enabling the KSM using
NovaComputeEnableKsm=True the overcloud deployment will fail because the
RHSM registration and the ksm task run as host_prep task. The handling
of enable/disable ksm is now handled in deploy step 1.