7 if [[ -n "$JENKINS_HOME" ]]; then
8 echo "Starting cleanup..."
9 kcli delete plan
-y ceph || true
10 kcli delete network ceph-dashboard
-y
11 kcli delete pool ceph-dashboard
-y
13 docker container prune
-f
14 echo "Cleanup completed."
20 if [ "$1" != "0" ]; then
21 echo "ERROR $1 thrown on line $2"
23 echo "Collecting info..."
25 echo "Saving MGR logs:"
27 mkdir
-p ${CEPH_DEV_FOLDER}/logs
28 kcli
ssh -u root
-- ceph-node-00
'cephadm logs -n \$(cephadm ls | grep -Eo "mgr\.ceph[0-9a-z.-]+" | head -n 1) -- --no-tail --no-pager' > ${CEPH_DEV_FOLDER}/logs
/mgr.cephadm.log
31 local vm
="ceph-node-0${vm_id}"
32 echo "Saving journalctl from VM ${vm}:"
34 kcli
ssh -u root
-- ${vm} 'journalctl --no-tail --no-pager -t cloud-init' > ${CEPH_DEV_FOLDER}/logs/journal.ceph-node-0${vm_id}.log || true
35 echo "Saving container logs:"
37 kcli
ssh -u root
-- ${vm} 'podman logs --names --since 30s \$(podman ps -aq)' > ${CEPH_DEV_FOLDER}/logs/container.ceph-node-0${vm_id}.log || true
43 trap 'on_error $? $LINENO' ERR
44 trap 'cleanup $? $LINENO' EXIT
46 sed -i '/ceph-node-/d' $HOME/.ssh
/known_hosts || true
48 : ${CEPH_DEV_FOLDER:=${PWD}}
51 # Check script args/options.
55 "--dev-mode") DEV_MODE
='true'; EXTRA_PARAMS
+=" -P dev_mode=${DEV_MODE}" ;;
56 "--expanded") EXTRA_PARAMS
+=" -P expanded_cluster=true" ;;
60 kcli delete plan
-y ceph || true
62 # Build dashboard frontend (required to start the module).
63 cd ${CEPH_DEV_FOLDER}/src
/pybind
/mgr
/dashboard
/frontend
64 export NG_CLI_ANALYTICS
=false
65 if [[ -n "$JENKINS_HOME" ]]; then
66 npm cache clean
--force
69 FRONTEND_BUILD_OPTS
='-- --prod'
70 if [[ -n "${DEV_MODE}" ]]; then
71 FRONTEND_BUILD_OPTS
+=' --deleteOutputPath=false --watch'
73 npm run build
${FRONTEND_BUILD_OPTS} &
76 : ${VM_IMAGE:='fedora36'}
77 : ${VM_IMAGE_URL:='https://download.fedoraproject.org/pub/fedora/linux/releases/36/Cloud/x86_64/images/Fedora-Cloud-Base-36-1.5.x86_64.qcow2'}
78 kcli download image
-p ceph-dashboard
-u ${VM_IMAGE_URL} ${VM_IMAGE}
79 kcli delete plan
-y ceph || true
80 kcli create plan
-f src
/pybind
/mgr
/dashboard
/ci
/cephadm
/ceph_cluster.yml \
81 -P ceph_dev_folder
=${CEPH_DEV_FOLDER} \
85 : ${DASHBOARD_CHECK_INTERVAL:=10}
86 while [[ -z $
(kcli
ssh -u root
-- ceph-node-00
'journalctl --no-tail --no-pager -t cloud-init' |
grep "kcli boot finished") ]]; do
87 sleep ${DASHBOARD_CHECK_INTERVAL}
89 if [[ ${CLUSTER_DEBUG} != 0 ]]; then
90 kcli
ssh -u root
-- ceph-node-00
'podman ps -a'
91 kcli
ssh -u root
-- ceph-node-00
'podman logs --names --since 30s \$(podman ps -aq)'
93 kcli
ssh -u root
-- ceph-node-00
'journalctl -n 100 --no-pager -t cloud-init'