archive_path: /home/teuthworker/mnt/teuthology/nmordech-2026-02-18_10:23:05-rados:cephadm-wip-rocky10-branch-of-the-day-2026-02-17-1771324753-tentacle-distro-default-trial/56615 branch: wip-rocky10-branch-of-the-day-2026-02-17-1771324753-tentacle description: rados:cephadm/workunits/{0-distro/rocky_10 agent/off mon_election/connectivity task/test_set_mon_crush_locations} email: null first_in_suite: false flavor: default job_id: '56615' kernel: &id001 branch: distro kdb: 1 sha1: distro last_in_suite: false machine_type: trial name: nmordech-2026-02-18_10:23:05-rados:cephadm-wip-rocky10-branch-of-the-day-2026-02-17-1771324753-tentacle-distro-default-trial no_nested_subset: false os_type: rocky os_version: '10.1' overrides: admin_socket: branch: wip-rocky10-branch-of-the-day-2026-02-17-1771324753-tentacle ceph: conf: global: mon election default strategy: 3 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\) - MON_DOWN - POOL_APP_NOT_ENABLED - mon down - mons down - out of quorum - CEPHADM_FAILED_DAEMON log-only-match: - CEPHADM_ sha1: f8f4bc44f45741f4cc215d452989e6a221ad07f2 ceph-deploy: conf: client: log file: /var/log/ceph/ceph-$name.$pid.log mon: {} cephadm: distro-suffix: rockylinux-10 install: ceph: flavor: default sha1: f8f4bc44f45741f4cc215d452989e6a221ad07f2 selinux: allowlist: - comm="systemd".*denied.*\{ prog_run \}.*tclass=bpf.*permissive=1 workunit: branch: wip-rocky10-branch-of-the-day-2026-02-17-1771324753-tentacle sha1: f8f4bc44f45741f4cc215d452989e6a221ad07f2 owner: scheduled_nmordech@soko04.front.sepia.ceph.com priority: 10 repo: https://git.ceph.com/ceph-ci.git roles: - - host.a - osd.0 - mon.a - mgr.a - - host.b - osd.1 - mon.b - mgr.b - - host.c - osd.2 - mon.c seed: 6249 sha1: f8f4bc44f45741f4cc215d452989e6a221ad07f2 sleep_before_teardown: 0 subset: 111/120000 suite: rados:cephadm suite_branch: wip-rocky10-branch-of-the-day-2026-02-17-1771324753-tentacle suite_path: /home/teuthworker/src/git.ceph.com_ceph-c_f8f4bc44f45741f4cc215d452989e6a221ad07f2/qa suite_relpath: qa suite_repo: https://git.ceph.com/ceph-ci.git suite_sha1: f8f4bc44f45741f4cc215d452989e6a221ad07f2 targets: trial020.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNW55WSAIpEE1VJRm08tUtBWYhtfBQn1t0L/ehVR/IZehgT9dl0EcMa0DY5NsOrDfRiJvLZaQYXj+NyzU/GdSQs= trial077.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBM2fXtFy7Fs57H3MZ65Qt8D7jVeRmKA6T9i332pEZAAytDm//3UFiLiE+MnQiL5zwp11CyTntkY6Htj139Kb9Po= trial185.front.sepia.ceph.com: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMo1PCOiKRbCiZ+wiBLQ419jtzlDQjjp8ysQ5OH9z3MIWhI0zMQ142D6MWMyvKhIuQTWTwnn9UuurJMqmhgWNZg= 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 nvmetcli nvme-cli -y - install: null - cephadm: null - cephadm.apply: specs: - placement: count: 3 service_id: foo service_type: mon spec: crush_locations: host.a: - datacenter=a host.b: - datacenter=b - rack=2 host.c: - datacenter=a - rack=3 - cephadm.shell: host.a: - "set -ex\n# since we don't know the real hostnames before the test, the next\n\ # bit is in order to replace the fake hostnames \"host.a/b/c\" with\n# the actual\ \ names cephadm knows the host by within the mon spec\nceph orch host ls --format\ \ json | jq -r '.[] | .hostname' > realnames\necho $'host.a\\nhost.b\\nhost.c'\ \ > fakenames\necho $'a\\nb\\nc' > mon_ids\necho $'{datacenter=a}\\n{datacenter=b,rack=2}\\\ n{datacenter=a,rack=3}' > crush_locs\nceph orch ls --service-name mon --export\ \ > mon.yaml\nMONSPEC=`cat mon.yaml`\necho \"$MONSPEC\"\nwhile read realname\ \ <&3 && read fakename <&4; do\n MONSPEC=\"${MONSPEC//$fakename/$realname}\"\ \ndone 3 mon.yaml\ncat mon.yaml\n\ # now the spec should have the real hostnames, so let's re-apply\nceph orch\ \ apply -i mon.yaml\nsleep 90\nceph orch ps --refresh\nceph orch ls --service-name\ \ mon --export > mon.yaml; ceph orch apply -i mon.yaml\nsleep 90\nceph mon dump\n\ ceph mon dump --format json\n# verify all the crush locations got set from \"\ ceph mon dump\" output\nwhile read monid <&3 && read crushloc <&4; do\n ceph\ \ mon dump --format json | jq --arg monid \"$monid\" --arg crushloc \"$crushloc\"\ \ -e '.mons | .[] | select(.name == $monid) | .crush_location == $crushloc'\n\ done 3