- log_href:
http://qa-proxy.ceph.com/teuthology/yuriw-2024-07-26_21:23:43-rados-wip-yuri-testing-2024-07-26-0628-distro-default-smithi/7820624/teuthology.log
- archive_path:
/home/teuthworker/archive/yuriw-2024-07-26_21:23:43-rados-wip-yuri-testing-2024-07-26-0628-distro-default-smithi/7820624
- description:
rados/cephadm/workunits/{0-distro/centos_9.stream_runc agent/on mon_election/connectivity task/test_host_drain}
- duration:
0:14:34
- email:
yweinste@redhat.com
- failure_reason:
generator didn't yield
- flavor:
default
- job_id:
7820624
- kernel:
- last_in_suite:
False
- machine_type:
smithi
- name:
yuriw-2024-07-26_21:23:43-rados-wip-yuri-testing-2024-07-26-0628-distro-default-smithi
- nuke_on_error:
- os_type:
centos
- os_version:
9.stream
- overrides:
- admin_socket:
- branch:
wip-yuri-testing-2024-07-26-0628
- ceph:
- conf:
- global:
- mon election default strategy:
3
- mgr:
- debug mgr:
20
- debug ms:
1
- mgr/cephadm/use_agent:
True
- 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
-
mons down
-
mon down
-
out of quorum
-
CEPHADM_STRAY_HOST
-
CEPHADM_STRAY_DAEMON
-
CEPHADM_FAILED_DAEMON
- log-only-match:
- sha1:
67f28c2a04ad1fe90ea612a39329cc6af2a92d8b
- ceph-deploy:
- conf:
- client:
- log file:
/var/log/ceph/ceph-$name.$pid.log
- mon:
- install:
- ceph:
- flavor:
default
- sha1:
67f28c2a04ad1fe90ea612a39329cc6af2a92d8b
- selinux:
- allowlist:
-
scontext=system_u:system_r:logrotate_t:s0
- workunit:
- branch:
wip-yuri-testing-2024-07-26-0628
- sha1:
67f28c2a04ad1fe90ea612a39329cc6af2a92d8b
- owner:
scheduled_yuriw@teuthology
- pid:
- 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:
https://sentry.ceph.com/organizations/ceph/?query=fc93fba9d711488e893f8efd46b715e8
- status:
fail
- success:
False
- branch:
wip-yuri-testing-2024-07-26-0628
- seed:
7667
- sha1:
67f28c2a04ad1fe90ea612a39329cc6af2a92d8b
- subset:
111/120000
- suite:
rados
- suite_branch:
wip-yuri-testing-2024-07-26-0628
- suite_path:
/home/teuthworker/src/github.com_ceph_ceph-c_67f28c2a04ad1fe90ea612a39329cc6af2a92d8b/qa
- suite_relpath:
qa
- suite_repo:
https://github.com/ceph/ceph-ci.git
- suite_sha1:
67f28c2a04ad1fe90ea612a39329cc6af2a92d8b
- targets:
- smithi047.front.sepia.ceph.com:
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF1TT6MRC9X1JNLz5waDrAWKuY5r8bqWBbRR+CjGEr4N0/U5dgNLYdPUAxONZMLQmn4GMByZsfgYxN6qOl+9Zfk=
- smithi062.front.sepia.ceph.com:
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHcpykRL/vFAIEmq6zvvkvHQMDs/2dNa077ROaiZ1N5LQeoJyrSFRntZoNk93wYd0uJkTHxEc8567UYSGetdLBQ=
- smithi099.front.sepia.ceph.com:
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBG0fjRUdk7gmPg2CM2dVwyJ35Ir9aAtlc9TWtIgGXPKfAICX68kRdOZGo6Dne9yYVW3rYwdngCXmE5GwmYNx0ds=
- tasks:
-
- 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:
-
- kernel:
-
- internal.base:
-
- internal.archive_upload:
-
- internal.archive:
-
- internal.coredump:
-
- internal.sudo:
-
- internal.syslog:
-
- internal.timer:
-
- pcp:
-
- selinux:
-
- ansible.cephlab:
-
- clock:
-
- pexec:
- all:
-
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:
-
- 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
teuthology_branch:
main
verbose:
True
pcp_grafana_url:
priority:
69
user:
yuriw
queue:
posted:
2024-07-26 21:34:24
started:
2024-07-27 00:09:39
updated:
2024-07-27 00:34:38
status_class:
danger
runtime:
0:24:59
wait_time:
0:10:25