archive_path: /home/teuthworker/mnt/teuthology/gabrioux-2026-02-11_07:53:20-orch:cephadm-wip-guits-main-2026-02-10-0743-distro-default-trial/45002 branch: wip-guits-main-2026-02-10-0743 description: orch:cephadm/workunits/{0-distro/centos_9.stream_runc agent/off mon_election/classic task/test_mgmt_gateway} email: gabrioux@ibm.com first_in_suite: false flavor: default job_id: '45002' kernel: branch: distro kdb: true sha1: distro last_in_suite: false machine_type: trial name: gabrioux-2026-02-11_07:53:20-orch:cephadm-wip-guits-main-2026-02-10-0743-distro-default-trial no_nested_subset: false os_type: centos os_version: 9.stream overrides: admin_socket: branch: wip-guits-main-2026-02-10-0743 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: e200f5a177e1f98aa64d47f88121b3121ef739b3 ceph-deploy: conf: client: log file: /var/log/ceph/ceph-$name.$pid.log mon: {} install: ceph: flavor: default sha1: e200f5a177e1f98aa64d47f88121b3121ef739b3 selinux: allowlist: - scontext=system_u:system_r:logrotate_t:s0 workunit: branch: wip-guits-main-2026-02-10-0743 sha1: e200f5a177e1f98aa64d47f88121b3121ef739b3 owner: scheduled_gabrioux@soko04.front.sepia.ceph.com priority: 69 repo: https://git.ceph.com/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: 2771 sha1: e200f5a177e1f98aa64d47f88121b3121ef739b3 sleep_before_teardown: 0 subset: 1/8 suite: orch:cephadm suite_branch: wip-guits-main-2026-02-10-0743 suite_path: /home/teuthworker/src/git.ceph.com_ceph-c_e200f5a177e1f98aa64d47f88121b3121ef739b3/qa suite_relpath: qa suite_repo: https://git.ceph.com/ceph-ci.git suite_sha1: e200f5a177e1f98aa64d47f88121b3121ef739b3 targets: trial005.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKLQNmOpGzC41H6tDKREYZcg3KJ0+KyiMqGkMZsAoO/L8jbmwIieqzQVaAXqdQ/rmSvMOUWs8UNVaFBc4oiySiU= trial012.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNKkBYBRG/FgtBdhNBInACD0HUJcsxwXI5nuNeAlgDiTdGSkKocd0hMumwNG5eqyugJ45OwWiG2AlpVu+4Hbmp8= trial183.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCtaiJ30qqZi6/6CcGSm3/YLicVkZojLEkR4ZZyAXw51yZVY46KlaDSOwy03gsN37pl3iAOIQsT7sbibQQ+GXdo= 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: c433f1062990a0488dc29a553589bc609a460691 timestamp: 2026-02-11_07:53:20 tube: trial user: gabrioux verbose: true worker_log: /home/teuthworker/mnt/teuthology/worker_logs/dispatcher.trial.2161924