archive_path: /home/teuthworker/mnt/teuthology/skanta-2026-02-17_03:53:03-rados-wip-bharath18-testing-2026-02-13-0856-distro-default-trial/50893 branch: wip-bharath18-testing-2026-02-13-0856 description: rados/cephadm/workunits/{0-distro/centos_9.stream_runc agent/off mon_election/classic task/test_mgmt_gateway} email: skanta@redhat.com first_in_suite: false flavor: default job_id: '50893' kernel: &id001 branch: distro kdb: 1 sha1: distro last_in_suite: false machine_type: trial name: skanta-2026-02-17_03:53:03-rados-wip-bharath18-testing-2026-02-13-0856-distro-default-trial no_nested_subset: false os_type: centos os_version: 9.stream overrides: admin_socket: branch: wip-bharath18-testing-2026-02-13-0856 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: 325850157d309f65985eea9ec9bb9f1d56726fee ceph-deploy: conf: client: log file: /var/log/ceph/ceph-$name.$pid.log mon: {} install: ceph: flavor: default sha1: 325850157d309f65985eea9ec9bb9f1d56726fee selinux: allowlist: - scontext=system_u:system_r:logrotate_t:s0 workunit: branch: wip-bharath18-testing-2026-02-13-0856 sha1: 325850157d309f65985eea9ec9bb9f1d56726fee owner: scheduled_skanta@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: 7109 sha1: 325850157d309f65985eea9ec9bb9f1d56726fee sleep_before_teardown: 0 subset: 111/120000 suite: rados suite_branch: wip-bharath18-testing-2026-02-13-0856 suite_path: /home/teuthworker/src/github.com_ceph_ceph-c_325850157d309f65985eea9ec9bb9f1d56726fee/qa suite_relpath: qa suite_repo: https://github.com/ceph/ceph-ci.git suite_sha1: 325850157d309f65985eea9ec9bb9f1d56726fee targets: trial080.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLQGFzuRgUzZFetz/Ff6D/rn1d6EmIUaPelnJaR5gZ9KD8rY37A85Lv25GskC7Ov14zLFf+Pfjm3tXbtf200mos= trial173.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBN9d1zpiktz2fknuVXXl1/Pz0ypClLuX5rqk7OKGcJJqNcu6Z8L+xpB5tENe3AjoVhupqOdMoPe2fV2lVO5WGkU= trial181.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMZzuMY/KncFdvQISTtgw57XW3uLF3JpFdJMG4gHJ63fphusjBAHAubv1yltgg7nzkuaXJJY0m0/qJ4eZGECDn8= tasks: - internal.check_packages: null - internal.buildpackages_prep: null - internal.save_config: null - internal.check_lock: null - internal.add_remotes: null - console_log: null - internal.connect: null - internal.push_inventory: null - internal.serialize_remote_roles: null - internal.check_conflict: null - internal.check_ceph_data: null - internal.vm_setup: null - kernel: *id001 - internal.base: null - internal.archive_upload: null - internal.archive: null - internal.coredump: null - internal.sudo: null - internal.syslog: null - internal.timer: null - pcp: null - selinux: null - ansible.cephlab: null - clock: null - 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-17_03:53:03 tube: trial user: skanta verbose: true worker_log: /home/teuthworker/mnt/teuthology/worker_logs/dispatcher.trial.3682