From: Vallari Agrawal Date: Tue, 14 Oct 2025 16:45:05 +0000 (+0530) Subject: qa: add 'refresh' config to cephadm.wait_for_service X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=82d06637b505e184ed6fa7791af550d11276d063;p=ceph.git qa: add 'refresh' config to cephadm.wait_for_service And enable with 'refresh: True' for nvmeof suite. Fixes: https://tracker.ceph.com/issues/73538 Signed-off-by: Vallari Agrawal --- diff --git a/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml b/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml index 4ff9cc397bb..29b67c84d70 100644 --- a/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml +++ b/qa/suites/nvmeof/basic/workloads/nvmeof_initiator.yaml @@ -12,6 +12,7 @@ tasks: - cephadm.wait_for_service: service: nvmeof.mypool.mygroup0 + refresh: True - workunit: no_coverage_and_limits: true diff --git a/qa/suites/nvmeof/basic/workloads/nvmeof_mtls.yaml b/qa/suites/nvmeof/basic/workloads/nvmeof_mtls.yaml index e378f3b4d27..91129e67e63 100644 --- a/qa/suites/nvmeof/basic/workloads/nvmeof_mtls.yaml +++ b/qa/suites/nvmeof/basic/workloads/nvmeof_mtls.yaml @@ -13,6 +13,7 @@ tasks: - cephadm.wait_for_service: service: nvmeof.mypool.mygroup0 + refresh: True - workunit: no_coverage_and_limits: true diff --git a/qa/suites/nvmeof/basic/workloads/nvmeof_namespaces.yaml b/qa/suites/nvmeof/basic/workloads/nvmeof_namespaces.yaml index 95d019414e6..5278bf47387 100644 --- a/qa/suites/nvmeof/basic/workloads/nvmeof_namespaces.yaml +++ b/qa/suites/nvmeof/basic/workloads/nvmeof_namespaces.yaml @@ -12,6 +12,7 @@ tasks: - cephadm.wait_for_service: service: nvmeof.mypool.mygroup0 + refresh: True - workunit: no_coverage_and_limits: true diff --git a/qa/suites/nvmeof/basic/workloads/nvmeof_scalability.yaml b/qa/suites/nvmeof/basic/workloads/nvmeof_scalability.yaml index 236d62dc940..1f087af536e 100644 --- a/qa/suites/nvmeof/basic/workloads/nvmeof_scalability.yaml +++ b/qa/suites/nvmeof/basic/workloads/nvmeof_scalability.yaml @@ -12,6 +12,7 @@ tasks: - cephadm.wait_for_service: service: nvmeof.mypool.mygroup0 + refresh: True - workunit: no_coverage_and_limits: true diff --git a/qa/suites/nvmeof/thrash/gateway-initiator-setup/10-subsys-90-namespace-no_huge_pages.yaml b/qa/suites/nvmeof/thrash/gateway-initiator-setup/10-subsys-90-namespace-no_huge_pages.yaml index d2da1d0877a..54844445b00 100644 --- a/qa/suites/nvmeof/thrash/gateway-initiator-setup/10-subsys-90-namespace-no_huge_pages.yaml +++ b/qa/suites/nvmeof/thrash/gateway-initiator-setup/10-subsys-90-namespace-no_huge_pages.yaml @@ -12,6 +12,7 @@ tasks: - cephadm.wait_for_service: service: nvmeof.mypool.mygroup0 + refresh: True - exec: host.a: @@ -25,6 +26,7 @@ tasks: - cephadm.wait_for_service: service: nvmeof.mypool.mygroup0 + refresh: True - workunit: no_coverage_and_limits: true diff --git a/qa/suites/nvmeof/thrash/gateway-initiator-setup/16-subsys-4-namespace.yaml b/qa/suites/nvmeof/thrash/gateway-initiator-setup/16-subsys-4-namespace.yaml index bfb8130135d..9a8d5d8ffc9 100644 --- a/qa/suites/nvmeof/thrash/gateway-initiator-setup/16-subsys-4-namespace.yaml +++ b/qa/suites/nvmeof/thrash/gateway-initiator-setup/16-subsys-4-namespace.yaml @@ -12,6 +12,7 @@ tasks: - cephadm.wait_for_service: service: nvmeof.mypool.mygroup0 + refresh: True - workunit: no_coverage_and_limits: true diff --git a/qa/tasks/cephadm.py b/qa/tasks/cephadm.py index 5d48c904e61..3fe45ed0388 100644 --- a/qa/tasks/cephadm.py +++ b/qa/tasks/cephadm.py @@ -1523,14 +1523,15 @@ def apply(ctx, config): -def _orch_ls(ctx, cluster_name): +def _orch_ls(ctx, cluster_name, refresh=False): + args = ['ceph', 'orch', 'ls', '-f', 'json'] + if refresh: + args += ['--refresh'] r = _shell( ctx=ctx, cluster_name=cluster_name, remote=ctx.ceph[cluster_name].bootstrap_remote, - args=[ - 'ceph', 'orch', 'ls', '-f', 'json', - ], + args=args, stdout=StringIO(), ) return json.loads(r.stdout.getvalue()) @@ -1544,11 +1545,13 @@ def wait_for_service(ctx, config): - cephadm.wait_for_service: service: rgw.foo timeout: 60 # defaults to 300 + refresh: True # defaults to False """ cluster_name = config.get('cluster', 'ceph') timeout = config.get('timeout', 300) service = config.get('service') + refresh = config.get('refresh', False) assert service log.info( @@ -1556,7 +1559,7 @@ def wait_for_service(ctx, config): ) with contextutil.safe_while(sleep=1, tries=timeout) as proceed: while proceed(): - j = _orch_ls(ctx, cluster_name) + j = _orch_ls(ctx, cluster_name, refresh) svc = None for s in j: if s['service_name'] == service: