Nodes: vm02 vm06 vm07

Description: rados/cephadm/workunits/{0-distro/centos_9.stream agent/off mon_election/classic task/test_host_drain}

Log: https://schulp.build.clyso.com/a/kyr-2026-03-31_11:18:10-rados-tentacle-none-default-vps/4326/teuthology.log

  • log_href: https://schulp.build.clyso.com/a/kyr-2026-03-31_11:18:10-rados-tentacle-none-default-vps/4326/teuthology.log
  • archive_path: /archive/kyr-2026-03-31_11:18:10-rados-tentacle-none-default-vps/4326
  • description: rados/cephadm/workunits/{0-distro/centos_9.stream agent/off mon_election/classic task/test_host_drain}
  • duration: 0:07:35
  • email: (Empty)
  • failure_reason: (Empty)
  • flavor: default
  • job_id: 4326
  • kernel: (Empty)
  • last_in_suite: False
  • machine_type: vps
  • name: kyr-2026-03-31_11:18:10-rados-tentacle-none-default-vps
  • nuke_on_error: (Empty)
  • os_type: centos
  • os_version: 9.stream
  • overrides:
    • admin_socket:
      • branch: tentacle
    • ansible.cephlab:
      • branch: main
      • repo: https://github.com/kshtsk/ceph-cm-ansible.git
      • skip_tags: nagios,monitoring-scripts,hostname,pubkeys,zap,sudoers,kerberos,ntp-client,resolvconf,cpan,nfs
      • vars:
        • logical_volumes:
          • lv_1:
            • scratch_dev: True
            • size: 25%VG
            • vg: vg_nvme
          • lv_2:
            • scratch_dev: True
            • size: 25%VG
            • vg: vg_nvme
          • lv_3:
            • scratch_dev: True
            • size: 25%VG
            • vg: vg_nvme
          • lv_4:
            • scratch_dev: True
            • size: 25%VG
            • vg: vg_nvme
        • timezone: UTC
        • volume_groups:
          • vg_nvme:
            • pvs: /dev/vdb,/dev/vdc,/dev/vdd,/dev/vde
    • 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
          • osd mclock iops capacity threshold hdd: 49000
      • flavor: default
      • log-ignorelist:
        • \(MDS_ALL_DOWN\)
        • \(MDS_UP_LESS_THAN_MAX\)
        • MON_DOWN
        • mons down
        • mon down
        • out of quorum
        • CEPHADM_STRAY_HOST
        • CEPHADM_STRAY_DAEMON
        • CEPHADM_FAILED_DAEMON
      • log-only-match:
        • CEPHADM_
      • sha1: 5bb3278730741031382ca9c3dc9d221a942e06a2
    • ceph-deploy:
      • conf:
        • client:
          • log file: /var/log/ceph/ceph-$name.$pid.log
        • mon:
    • cephadm:
      • cephadm_binary_url: https://download.ceph.com/rpm-20.2.0/el9/noarch/cephadm
    • install:
      • ceph:
        • flavor: default
        • sha1: 5bb3278730741031382ca9c3dc9d221a942e06a2
      • extra_system_packages:
        • deb:
          • python3-jmespath
          • python3-xmltodict
          • s3cmd
        • rpm:
          • bzip2
          • perl-Test-Harness
          • python3-jmespath
          • python3-xmltodict
          • s3cmd
    • selinux:
      • allowlist:
        • scontext=system_u:system_r:logrotate_t:s0
        • scontext=system_u:system_r:getty_t:s0
    • workunit:
      • branch: tt-tentacle
      • sha1: 0392f78529848ec72469e8e431875cb98d3a5fb4
  • owner: kyr
  • pid: 932162
  • roles:
    • ['host.a', 'mon.a', 'mgr.a', 'osd.0', 'osd.1']
    • ['host.b', 'mon.b', 'mgr.b', 'osd.2', 'osd.3']
    • ['host.c', 'mon.c', 'osd.4', 'osd.5']
  • sentry_event: (Empty)
  • status: pass
  • success: True
  • branch: tentacle
  • seed: 6407
  • sha1: 5bb3278730741031382ca9c3dc9d221a942e06a2
  • subset: 1/100000
  • suite: rados
  • suite_branch: tt-tentacle
  • suite_path: /home/teuthos/src/github.com_kshtsk_ceph_0392f78529848ec72469e8e431875cb98d3a5fb4/qa
  • suite_relpath: qa
  • suite_repo: https://github.com/kshtsk/ceph.git
  • suite_sha1: 0392f78529848ec72469e8e431875cb98d3a5fb4
  • targets:
    • vm02.local: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBidw1u+M7rOuf66RIyX9pMRQWeUvWTBr/51XKwYkjL5Qrd+AdLieaN5rdDMseK2K413KEgEGVQOG5+FYtmUyl0=
    • vm06.local: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJUmGS21eCTOBZhDJtzGVkbGB1/ZHqCRcvIO3/QNtjk5v1W1TN0R9rIPzMKSfccjk2zVdn+4gbOM8Ykq0GUDj6Q=
    • vm07.local: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK+G0aOTA/CyYu9PWBZwiJPl+Kgy/8/g3E7+MxpYyOTAhdV+4W0Qp+d5sUStcXJtK7G4dNZKQWZ/KwqA45OEim8=
  • tasks:
      • internal.check_packages
      • internal.buildpackages_prep
      • internal.save_config
      • internal.check_lock
      • internal.add_remotes
      • console_log
      • internal.connect
      • internal.push_inventory
      • internal.serialize_remote_roles
      • internal.check_conflict
      • internal.check_ceph_data
      • internal.vm_setup
      • internal.base
      • internal.archive_upload
      • internal.archive
      • internal.coredump
      • internal.sudo
      • internal.syslog
      • internal.timer
      • pcp
      • selinux
      • ansible.cephlab
      • clock
      • pexec:
        • all:
          • sudo dnf remove nvme-cli -y
          • sudo dnf install nvmetcli nvme-cli -y
      • install
      • cephadm
      • cephadm.shell:
        • host.a:
          • set -ex HOSTNAMES=$(ceph orch host ls --format json | jq -r '.[] | .hostname') for host in $HOSTNAMES; do # find the hostname for "host.c" which will have no mgr HAS_MGRS=$(ceph orch ps --hostname ${host} --format json | jq 'any(.daemon_type == "mgr")') if [ "$HAS_MGRS" == "false" ]; then HOST_C="${host}" fi done # One last thing to worry about before draining the host # is that the teuthology test tends to put the explicit # hostnames in the placement for the mon service. # We want to make sure we can drain without providing # --force and there is a check for the host being removed # being listed explicitly in the placements. Therefore, # we should remove it from the mon placement. ceph orch ls mon --export > mon.yaml sed /"$HOST_C"/d mon.yaml > mon_adjusted.yaml ceph orch apply -i mon_adjusted.yaml # now drain that host ceph orch host drain $HOST_C --zap-osd-devices # wait for drain to complete HOST_C_DAEMONS=$(ceph orch ps --hostname $HOST_C) while [ "$HOST_C_DAEMONS" != "No daemons reported" ]; do sleep 15 HOST_C_DAEMONS=$(ceph orch ps --hostname $HOST_C) done # we want to check the ability to remove the host from # the CRUSH map, so we should first verify the host is in # the CRUSH map. ceph osd getcrushmap -o compiled-crushmap crushtool -d compiled-crushmap -o crushmap.txt CRUSH_MAP=$(cat crushmap.txt) if ! grep -q "$HOST_C" <<< "$CRUSH_MAP"; then printf "Expected to see $HOST_C in CRUSH map. Saw:\n\n$CRUSH_MAP" exit 1 fi # If the drain was successful, we should be able to remove the # host without force with no issues. If there are still daemons # we will get a response telling us to drain the host and a # non-zero return code ceph orch host rm $HOST_C --rm-crush-entry # verify we've successfully removed the host from the CRUSH map sleep 30 ceph osd getcrushmap -o compiled-crushmap crushtool -d compiled-crushmap -o crushmap.txt CRUSH_MAP=$(cat crushmap.txt) if grep -q "$HOST_C" <<< "$CRUSH_MAP"; then printf "Saw $HOST_C in CRUSH map after it should have been removed.\n\n$CRUSH_MAP" exit 1 fi
  • timestamp: 2026-03-31 11:18:10
  • teuthology_branch: uv2
  • verbose: False
  • pcp_grafana_url: (Empty)
  • priority: 1000
  • user: kyr
  • queue: (Empty)
  • posted: 2026-03-31 11:18:44
  • started: 2026-03-31 17:29:08
  • updated: 2026-03-31 17:45:35
  • status_class: success
  • runtime: 0:16:27
  • wait_time: 0:08:52