Skip to content

Commit

Permalink
mgr/dashboard: cephadm e2e start script: add --expanded option
Browse files Browse the repository at this point in the history
- Additional improvements: clean npm cache in jenkins env.; display mgr logs on error.

Fixes: https://tracker.ceph.com/issues/52082
Signed-off-by: Alfonso Martínez <[email protected]>
  • Loading branch information
alfonsomthd committed Aug 9, 2021
1 parent 8b94e73 commit 973a6f5
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 6 deletions.
18 changes: 14 additions & 4 deletions doc/dev/developer_guide/dash-devel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -448,14 +448,24 @@ Start E2E tests by running::
$ cd <your/ceph/repo/dir>
$ sudo chown -R $(id -un) src/pybind/mgr/dashboard/frontend/{dist,node_modules,src/environments}
$ ./src/pybind/mgr/dashboard/ci/cephadm/run-cephadm-e2e-tests.sh
$ kcli delete plan -y ceph # After tests finish.

You can also start a cluster in development mode and later run E2E tests by running::
You can also start a cluster in development mode (so the frontend build starts in watch mode and you
only have to reload the page for the changes to be reflected) by running::

$ ./src/pybind/mgr/dashboard/ci/cephadm/start-cluster.sh --dev-mode
$ # Work on your feature, bug fix, ...

Note:
Add ``--expanded`` if you need a cluster ready to deploy services (one with enough monitor
daemons spread across different hosts and enough OSDs).

Test your changes by running:

$ ./src/pybind/mgr/dashboard/ci/cephadm/run-cephadm-e2e-tests.sh
$ # Remember to kill the npm build watch process i.e.: pkill -f "ng build"

Shutdown the cluster by running:

$ kcli delete plan -y ceph
$ # In development mode, also kill the npm build watch process (e.g., pkill -f "ng build")

Other running options
.....................
Expand Down
9 changes: 9 additions & 0 deletions src/pybind/mgr/dashboard/ci/cephadm/bootstrap-cluster.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ mon_ip=$(ifconfig eth0 | grep 'inet ' | awk '{ print $2}')

cephadm bootstrap --mon-ip $mon_ip --initial-dashboard-password {{ admin_password }} --allow-fqdn-hostname --dashboard-password-noupdate --shared_ceph_folder /mnt/{{ ceph_dev_folder }}

fsid=$(cat /etc/ceph/ceph.conf | grep fsid | awk '{ print $3}')

{% for number in range(1, nodes) %}
ssh-copy-id -f -i /etc/ceph/ceph.pub -o StrictHostKeyChecking=no root@{{ prefix }}-node-0{{ number }}.{{ domain }}
{% if expanded_cluster is defined %}
cephadm shell --fsid $fsid -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring ceph orch host add {{ prefix }}-node-0{{ number }}.{{ domain }}
{% endif %}
{% endfor %}

{% if expanded_cluster is defined %}
cephadm shell --fsid $fsid -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring ceph orch apply osd --all-available-devices
{% endif %}
11 changes: 9 additions & 2 deletions src/pybind/mgr/dashboard/ci/cephadm/start-cluster.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ on_error() {
if [ "$1" != "0" ]; then
printf "\n\nERROR $1 thrown on line $2\n\n"
printf "\n\nCollecting info...\n\n"
printf "\n\nDisplaying MGR logs:\n\n"
kcli ssh -u root -- ceph-node-00 'cephadm logs -n $(cephadm ls | grep -Eo "mgr\.ceph[0-9a-z.-]+" | head -n 1)'
for vm_id in 0 1 2
do
local vm="ceph-node-0${vm_id}"
Expand All @@ -42,15 +44,20 @@ DEV_MODE=''
for arg in "$@"; do
shift
case "$arg" in
"--dev-mode") DEV_MODE='true'; EXTRA_PARAMS="-P dev_mode=${DEV_MODE}" ;;
"--dev-mode") DEV_MODE='true'; EXTRA_PARAMS+=" -P dev_mode=${DEV_MODE}" ;;
"--expanded") EXTRA_PARAMS+=" -P expanded_cluster=true" ;;
esac
done

kcli delete plan -y ceph || true

# Build dashboard frontend (required to start the module).
cd ${CEPH_DEV_FOLDER}/src/pybind/mgr/dashboard/frontend
NG_CLI_ANALYTICS=false npm ci
export NG_CLI_ANALYTICS=false
if [[ -n "$JENKINS_HOME" ]]; then
npm cache clean --force
fi
npm ci
FRONTEND_BUILD_OPTS='-- --prod'
if [[ -n "${DEV_MODE}" ]]; then
FRONTEND_BUILD_OPTS+=' --deleteOutputPath=false --watch'
Expand Down

0 comments on commit 973a6f5

Please sign in to comment.