Correct Kubernetes control-plane upgrade robustness skip_update_config

This removes the skip_update_config parameter from the
_config_apply_runtime_manifest() call when upgrading Kubernetes
control-plane. This parameter was unintentially set to True,
so this configuration step did not persist. This caused
generation of 250.001 config-out-of-date alarms during kube
upgrade.

The review that introduced the bug:
https://review.opendev.org/c/starlingx/config/+/911100

TEST PLAN:
- watch /var/log/nfv-vim.log for each orchestrated upgrade
PASS: orchestrated k8s upgrade (no faults)
      - AIO-SX, AIO-DX, Standard

PASS: orchestrated k8s upgrade, with fault insertion during
      control-plane upgrade first attempt
      - AIO-SX
      - AIO-DX (both controller-0, controller-1)
      - Standard (both controller-0, controller-1)

PASS: orchestrated k8s upgrade, with fault insertion during
      control-plane upgrade first and second attempt, trigger abort
      - AIO-SX
      - AIO-DX (first controller)

Closes-Bug: 2056326

Change-Id: I629c8133312faa5c95d06960b15d3e516e48e4cb
Signed-off-by: Jim Gauld <James.Gauld@windriver.com>
This commit is contained in:
Jim Gauld 2024-03-23 19:56:04 -04:00
parent 6775a04444
commit 4522150c87
2 changed files with 3 additions and 4 deletions

View File

@ -10271,8 +10271,7 @@ class ConductorManager(service.PeriodicService):
puppet_common.REPORT_STATUS_CFG: puppet_common.REPORT_STATUS_CFG:
puppet_common.REPORT_UPGRADE_CONTROL_PLANE puppet_common.REPORT_UPGRADE_CONTROL_PLANE
} }
self._config_apply_runtime_manifest(context, config_uuid, config_dict, self._config_apply_runtime_manifest(context, config_uuid, config_dict)
skip_update_config=True)
def handle_k8s_upgrade_control_plane_success(self, context, kube_upgrade_obj, host_uuid, def handle_k8s_upgrade_control_plane_success(self, context, kube_upgrade_obj, host_uuid,
new_state, fail_state): new_state, fail_state):

View File

@ -1711,7 +1711,7 @@ class ManagerTestCase(base.DbTestCase):
} }
mock_config_apply_runtime_manifest.assert_called_with(mock.ANY, '273cfafd-886d-43ec-9478-8328727b34cc', mock_config_apply_runtime_manifest.assert_called_with(mock.ANY, '273cfafd-886d-43ec-9478-8328727b34cc',
config_dict, skip_update_config=True) config_dict)
def test_handle_k8s_upgrade_control_plane_success_first_master(self): def test_handle_k8s_upgrade_control_plane_success_first_master(self):
# Create controller-0 # Create controller-0
@ -1813,7 +1813,7 @@ class ManagerTestCase(base.DbTestCase):
} }
mock_config_apply_runtime_manifest.assert_called_with(mock.ANY, '273cfafd-886d-43ec-9478-8328727b34cc', mock_config_apply_runtime_manifest.assert_called_with(mock.ANY, '273cfafd-886d-43ec-9478-8328727b34cc',
config_dict, skip_update_config=True) config_dict)
def test_handle_k8s_upgrade_control_plane_success_second_master(self): def test_handle_k8s_upgrade_control_plane_success_second_master(self):
# Create controller-0 # Create controller-0