archive_path: /home/teuthworker/mnt/teuthology/yuriw-2026-02-20_16:19:15-orch-wip-pdonnell-testing-20260219.182737-tentacle-distro-default-trial/61599 branch: wip-pdonnell-testing-20260219.182737-tentacle description: orch/cephadm/workunits/{0-distro/centos_9.stream_runc agent/off mon_election/classic task/test_mgmt_gateway} email: yweinste@redhat.com first_in_suite: false flavor: default job_id: '61599' kernel: branch: distro kdb: true sha1: distro last_in_suite: false machine_type: trial name: yuriw-2026-02-20_16:19:15-orch-wip-pdonnell-testing-20260219.182737-tentacle-distro-default-trial no_nested_subset: false os_type: centos os_version: 9.stream overrides: admin_socket: branch: wip-pdonnell-testing-20260219.182737-tentacle ceph: conf: global: mon election default strategy: 1 mgr: debug mgr: 20 debug ms: 1 mgr/cephadm/use_agent: false mon: debug mon: 20 debug ms: 1 debug paxos: 20 osd: debug ms: 1 debug osd: 20 flavor: default log-ignorelist: - \(MDS_ALL_DOWN\) - \(MDS_UP_LESS_THAN_MAX\) - CEPHADM_FAILED_DAEMON log-only-match: - CEPHADM_ sha1: f7870454149f22574086dd2ff55d050585136531 ceph-deploy: conf: client: log file: /var/log/ceph/ceph-$name.$pid.log mon: {} install: ceph: flavor: default sha1: f7870454149f22574086dd2ff55d050585136531 selinux: allowlist: - scontext=system_u:system_r:logrotate_t:s0 workunit: branch: wip-pdonnell-testing-20260219.182737-tentacle sha1: f7870454149f22574086dd2ff55d050585136531 owner: scheduled_yuriw@soko04.front.sepia.ceph.com priority: 69 repo: https://github.com/ceph/ceph-ci.git roles: - - host.a - mon.a - mgr.a - osd.0 - - host.b - mon.b - mgr.b - osd.1 - - host.c - mon.c - osd.2 seed: 2599 sha1: f7870454149f22574086dd2ff55d050585136531 sleep_before_teardown: 0 subset: 111/120000 suite: orch suite_branch: wip-pdonnell-testing-20260219.182737-tentacle suite_path: /home/teuthworker/src/github.com_ceph_ceph-c_f7870454149f22574086dd2ff55d050585136531/qa suite_relpath: qa suite_repo: https://github.com/ceph/ceph-ci.git suite_sha1: f7870454149f22574086dd2ff55d050585136531 targets: trial035.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA2BBPpahFmALtRRt1ME1eT5QEssBmY9zjZaTqwQucuZRpFKvHwUa2zo5v0auB7u/2op++EF2k7GMYN72lvp5Vo= trial073.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCkXqNLfcUNaYjAGIqaeQh+nr0fyNuwNVzxX0sXEBFyOZUNpJBBhaqqxz2Lry7HKPD+U10h0Oaxw3JMK0F0yTAw= trial173.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGyDhSHjkZzXQ0huKnu/CqI7oCsx8Sy3b4CcBAJ1T75ey2WI9qFnrVAKyfByYJibmZhVRa42DsIB/+h2C5o5iUY= tasks: - pexec: all: - sudo dnf remove nvme-cli -y - sudo dnf install runc nvmetcli nvme-cli -y - sudo sed -i 's/^#runtime = "crun"/runtime = "runc"/g' /usr/share/containers/containers.conf - sudo sed -i 's/runtime = "crun"/#runtime = "crun"/g' /usr/share/containers/containers.conf - install: null - cephadm: null - cephadm.shell: host.c: - "set -ex\n# Deploy monitoring stack\nceph orch apply node-exporter\nceph orch\ \ apply grafana\nceph orch apply alertmanager\nceph orch apply prometheus\n\ sleep 240\n# generate SSL certificate\nopenssl req -x509 -newkey rsa:4096 -keyout\ \ /tmp/key.pem -out /tmp/cert.pem -sha256 -days 30 -nodes -subj \"/CN=*\"\n\ # Generate a mgmt.spec template\ncat << EOT > /tmp/mgmt.spec\nservice_type:\ \ mgmt-gateway\nservice_id: foo\nplacement:\n hosts:\n - ${HOSTNAME}\nspec:\n\ \ ssl_protocols:\n - TLSv1.2\n - TLSv1.3\n ssl_ciphers:\n - AES128-SHA\n\ \ - AES256-SHA\n enable_health_check_endpoint: True\nEOT\n# Add generated\ \ certificates to spec file\necho \" ssl_cert: |\" >> /tmp/mgmt.spec\nwhile\ \ read LINE; do echo $LINE | sed -e \"s/^/ /\"; done < /tmp/cert.pem >> /tmp/mgmt.spec\n\ echo \" ssl_key: |\" >> /tmp/mgmt.spec\nwhile read LINE; do echo $LINE | sed\ \ -e \"s/^/ /\"; done < /tmp/key.pem >> /tmp/mgmt.spec\n# Apply spec\nceph\ \ orch apply -i /tmp/mgmt.spec\n" - cephadm.wait_for_service: service: mgmt-gateway - cephadm.shell: host.a: - "set -ex\n\n# Function to wait for a service to be healthy and log response\ \ on error\nwait_for_service() {\n local name=\"$1\"\n local url=\"$2\"\n\ \ local jq_filter=\"$3\"\n\n echo \"Waiting for service $name to be healthy\ \ at $url...\"\n for i in {1..30}; do\n local response\n response=$(curl\ \ -k -s -u admin:admin \"$url\")\n if echo \"$response\" | jq -e \"$jq_filter\"\ \ > /dev/null; then\n echo \"Service $name is healthy.\"\n return\ \ 0\n fi\n echo \"Attempt $i: service $name not ready yet\"\n sleep\ \ 10\n done\n\n echo \"Timeout waiting for $name at $url\"\n echo \"Last\ \ HTTP response:\"\n echo \"$response\"\n echo \"jq output:\"\n echo \"$response\"\ \ | jq \"$jq_filter\" || echo \"(jq parse error or no match)\"\n return 1\n\ }\n\n# retrieve mgmt hostname and ip\nMGMT_GTW_HOST=$(ceph orch ps --daemon-type\ \ mgmt-gateway -f json | jq -e '.[]' | jq -r '.hostname')\nMGMT_GTW_IP=$(ceph\ \ orch host ls -f json | jq -r --arg MGMT_GTW_HOST \"$MGMT_GTW_HOST\" '.[] |\ \ select(.hostname==$MGMT_GTW_HOST) | .addr')\n\n# check mgmt-gateway health\n\ curl -k -s https://${MGMT_GTW_IP}/health\ncurl -k -s https://${MGMT_GTW_IP}:29443/health\n\ \n# wait for monitoring services\nwait_for_service \"Grafana\" \"https://${MGMT_GTW_IP}/grafana/api/health\"\ \ '.database == \"ok\"' || exit 1\nwait_for_service \"Prometheus\" \"https://${MGMT_GTW_IP}/prometheus/api/v1/status/config\"\ \ '.status == \"success\"' || exit 1\nwait_for_service \"Alertmanager\" \"https://${MGMT_GTW_IP}/alertmanager/api/v2/status\"\ \ '.cluster.status == \"ready\"' || exit 1\n" teuthology: fragments_dropped: [] meta: {} postmerge: [] teuthology_branch: main teuthology_sha1: fa17720d0088c3ac28e473468bfc79eeaff5cd38 timestamp: 2026-02-20_16:19:15 tube: trial user: yuriw verbose: true worker_log: /home/teuthworker/mnt/teuthology/worker_logs/dispatcher.trial.1540699