From 3b80f02a8145c084b81abd3339fdd9a8bec6a055 Mon Sep 17 00:00:00 2001 From: Andrew Wong Date: Wed, 4 Dec 2024 10:38:17 -0800 Subject: [PATCH] [CORE-8081] rptest: fix config_profile_verify_test null handling We see the given error if a given profile's config contains a 'null' string value, as is done by install pack YAML files. ``` [DEBUG - 2024-10-29 10:04:39,665 - config_profile_verify_test - _check_rp_config - lineno:72]: asserting cluster config key kafka_rpc_server_tcp_recv_buf has expected value: null actual: None ... [INFO - 2024-10-29 10:04:39,667 - runner_client - log - lineno:294]: RunnerClient: rptest.redpanda_cloud_tests.config_profile_verify_test.ConfigProfileVerifyTest.test_config_profile_verify: FAIL: AssertionError() Traceback (most recent call last): File "/opt/.ducktape-venv/lib/python3.10/site-packages/ducktape/tests/runner_client.py", line 186, in _do_run data = self.run_test() File "/opt/.ducktape-venv/lib/python3.10/site-packages/ducktape/tests/runner_client.py", line 246, in run_test return self.test_context.function(self.test) File "/home/ubuntu/redpanda/tests/rptest/redpanda_cloud_tests/config_profile_verify_test.py", line 59, in test_config_profile_verify self._check_rp_config() File "/home/ubuntu/redpanda/tests/rptest/redpanda_cloud_tests/config_profile_verify_test.py", line 76, in _check_rp_config assert False AssertionError ``` This commit updates the check to expect None if the expected value is "null". --- .../config_profile_verify_test.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/rptest/redpanda_cloud_tests/config_profile_verify_test.py b/tests/rptest/redpanda_cloud_tests/config_profile_verify_test.py index 4cabdf768e87b..64631a2c2b20d 100644 --- a/tests/rptest/redpanda_cloud_tests/config_profile_verify_test.py +++ b/tests/rptest/redpanda_cloud_tests/config_profile_verify_test.py @@ -68,12 +68,15 @@ def _check_rp_config(self): assert clusterConfig['cluster_id'] in (self._clusterId, f'rp-{self._clusterId}') - for k, v in self._configProfile["cluster_config"].items(): + for k, expected_v in self._configProfile["cluster_config"].items(): + actual_v = clusterConfig[k] self.logger.debug( "asserting cluster config key {} has expected value: {} actual: {}" - .format(k, v, clusterConfig[k])) - if clusterConfig[k] != v and "{}".format(clusterConfig[k]) != v: - assert False + .format(k, expected_v, actual_v)) + if expected_v == "null": + expected_v = None + if actual_v != expected_v and "{}".format(actual_v) != expected_v: + assert False, f"incorrect config value for key '{k}': {actual_v} != {expected_v}" def _check_aws_nodes(self): cmd = self.redpanda.kubectl._ssh_prefix() + [