mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-26 16:20:28 +00:00
eb4d9259a9
This commit adds capability to get events, pods, and logs from all namespaces. Signed-off-by: Rakshith R <rar@redhat.com>
66 lines
2.0 KiB
Bash
Executable File
66 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Run this script to gather details about the environment where the CI job is
|
|
# running. This can be helpful to identify issues why minikube failed to
|
|
# deploy, or tests encounter problems while running.
|
|
#
|
|
|
|
function minikube_ssh() {
|
|
ssh \
|
|
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
|
|
-l docker -i "$(minikube ssh-key)" \
|
|
"$(minikube ip)" "${*}"
|
|
}
|
|
|
|
function log() {
|
|
echo "###" >/dev/stderr
|
|
echo "### going to execute: ${*}" >/dev/stderr
|
|
echo "###" >/dev/stderr
|
|
"${@}"
|
|
echo "###" >/dev/stderr
|
|
echo "### execution finished: ${*}" >/dev/stderr
|
|
echo "###" >/dev/stderr
|
|
}
|
|
|
|
# get the status of the VM in libvirt
|
|
log virsh list
|
|
|
|
# status of the minikube Kubernetes cluster
|
|
log minikube status
|
|
log minikube logs
|
|
|
|
# get the status of processes in the VM
|
|
log minikube_ssh top -b -c -n1 -w
|
|
|
|
# get the logs from the VM
|
|
log minikube_ssh journalctl --boot
|
|
|
|
# filesystem status for host and VM
|
|
log df -hT
|
|
log minikube_ssh df -hT
|
|
|
|
# fetch all logs from /var/lib/rook in the VM and write them to stdout
|
|
log minikube_ssh sudo tar c /var/lib/rook | tar xvO
|
|
|
|
# gets status from all namespaces
|
|
for NAMESPACE in $(kubectl get namespaces -o jsonpath='{.items[*].metadata.name}')
|
|
do
|
|
log kubectl describe namespace "${NAMESPACE}"
|
|
log kubectl -n "${NAMESPACE}" get events
|
|
log kubectl -n "${NAMESPACE}" get pods
|
|
for POD in $(kubectl -n "${NAMESPACE}" get pods -o jsonpath='{.items[*].metadata.name}')
|
|
do
|
|
log kubectl -n "${NAMESPACE}" describe pod "${POD}"
|
|
log kubectl -n "${NAMESPACE}" logs "${POD}" --all-containers
|
|
log kubectl -n "${NAMESPACE}" logs "${POD}" --all-containers --previous=true
|
|
done
|
|
done
|
|
log kubectl -n rook-ceph describe CephCluster
|
|
log kubectl -n rook-ceph describe CephBlockPool
|
|
log kubectl -n rook-ceph describe CephFilesystem
|
|
|
|
# run "ceph -s" in the toolbox
|
|
log kubectl -n rook-ceph exec \
|
|
"$(kubectl -n rook-ceph get pod -l app=rook-ceph-tools -o jsonpath='{.items[0].metadata.name}')" \
|
|
-- ceph -s
|