From 385c0775b9c92a523091fe8d7503ccc95934c0ce Mon Sep 17 00:00:00 2001 From: Chinasubbareddy Mallavarapu Date: Thu, 16 Jul 2020 16:23:43 -0500 Subject: [PATCH] [CEPH] Update dev scripts for ceph to handle loopback devices This is to update loopback devices creation script to take device names from developers in case if default devices are busy. Change-Id: Ie368ebdfdc64ea00ccf62cf61010beddcc2cf4ce --- .../install/developer/deploy-with-ceph.rst | 7 +++- doc/source/install/multinode.rst | 4 +- .../common/setup-ceph-loopback-device.sh | 39 +++++++++++++------ tools/deployment/component/ceph/ceph.sh | 2 - tools/deployment/developer/ceph/040-ceph.sh | 13 ++----- 5 files changed, 40 insertions(+), 25 deletions(-) diff --git a/doc/source/install/developer/deploy-with-ceph.rst b/doc/source/install/developer/deploy-with-ceph.rst index a0c51768b1..b28cb4a1aa 100644 --- a/doc/source/install/developer/deploy-with-ceph.rst +++ b/doc/source/install/developer/deploy-with-ceph.rst @@ -2,6 +2,11 @@ Deployment With Ceph ==================== +This script will create two loopback devices for ceph as one disk for OSD data and other disk for +block DB and block WAL. +If loop0 and loop1 devices are busy in your case , feel free to change them in +parameters. + .. note:: For other deployment options, select appropriate ``Deployment with ...`` option from `Index <../developer/index.html>`__ page. @@ -17,7 +22,7 @@ Alternatively, this step can be performed by running the script directly: .. code-block:: shell - ./tools/deployment/developer/ceph/040-ceph.sh + ./tools/deployment/developer/ceph/040-ceph.sh /dev/loop0 /dev/loop1 Activate the OpenStack namespace to be able to use Ceph ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/source/install/multinode.rst b/doc/source/install/multinode.rst index 6b43bf1636..bf39bfd246 100644 --- a/doc/source/install/multinode.rst +++ b/doc/source/install/multinode.rst @@ -109,10 +109,12 @@ Create loopback devices for CEPH Create two loopback devices for ceph as one disk for OSD data and other disk for block DB and block WAL. +If loop0 and loop1 devices are busy in your case , feel free to change them in parameters +by using --ceph-osd-data and --ceph-osd-dbwal options. .. code-block:: shell - ansible all -i /opt/openstack-helm-infra/tools/gate/devel/multinode-inventory.yaml -m shell -s -a "/opt/openstack-helm/tools/deployment/common/setup-ceph-loopback-device.sh" + ansible all -i /opt/openstack-helm-infra/tools/gate/devel/multinode-inventory.yaml -m shell -s -a "/opt/openstack-helm/tools/deployment/common/setup-ceph-loopback-device.sh --ceph-osd-data /dev/loop0 --ceph-osd-dbwal /dev/loop1" Deploy Ceph ----------- diff --git a/tools/deployment/common/setup-ceph-loopback-device.sh b/tools/deployment/common/setup-ceph-loopback-device.sh index ca81c604e7..94eb18b804 100755 --- a/tools/deployment/common/setup-ceph-loopback-device.sh +++ b/tools/deployment/common/setup-ceph-loopback-device.sh @@ -1,13 +1,30 @@ #!/bin/bash -set -xe -sudo df -lh -sudo lsblk -sudo mkdir -p /var/lib/openstack-helm/ceph -sudo truncate -s 10G /var/lib/openstack-helm/ceph/ceph-osd-data-loopbackfile.img -sudo truncate -s 8G /var/lib/openstack-helm/ceph/ceph-osd-db-wal-loopbackfile.img -sudo losetup /dev/loop0 /var/lib/openstack-helm/ceph/ceph-osd-data-loopbackfile.img -sudo losetup /dev/loop1 /var/lib/openstack-helm/ceph/ceph-osd-db-wal-loopbackfile.img -#lets verify the devices -sudo df -lh -sudo lsblk +function setup_loopback_devices() { + osd_data_device="$1" + osd_wal_db_device="$2" + sudo df -lh + sudo lsblk + sudo mkdir -p /var/lib/openstack-helm/ceph + sudo truncate -s 10G /var/lib/openstack-helm/ceph/ceph-osd-data-loopbackfile.img + sudo truncate -s 8G /var/lib/openstack-helm/ceph/ceph-osd-db-wal-loopbackfile.img + sudo losetup $osd_data_device /var/lib/openstack-helm/ceph/ceph-osd-data-loopbackfile.img + sudo losetup $osd_wal_db_device /var/lib/openstack-helm/ceph/ceph-osd-db-wal-loopbackfile.img + #lets verify the devices + sudo df -lh + sudo lsblk +} + +while [[ "$#" > 0 ]]; do case $1 in + -d|--ceph-osd-data) OSD_DATA_DEVICE="$2"; shift;shift;; + -w|--ceph-osd-dbwal) OSD_DB_WAL_DEVICE="$2";shift;shift;; + -v|--verbose) VERBOSE=1;shift;; + *) echo "Unknown parameter passed: $1"; shift; shift;; +esac; done + +# verify params +if [ -z "$OSD_DATA_DEVICE" ]; then OSD_DATA_DEVICE=/dev/loop0; echo "Ceph osd data device is not set so using ${OSD_DATA_DEVICE}"; fi +if [ -z "$OSD_DB_WAL_DEVICE" ]; then OSD_DB_WAL_DEVICE=/dev/loop1; echo "Ceph osd db/wal device is not set so using ${OSD_DB_WAL_DEVICE}"; fi + + +setup_loopback_devices $OSD_DATA_DEVICE $OSD_DB_WAL_DEVICE diff --git a/tools/deployment/component/ceph/ceph.sh b/tools/deployment/component/ceph/ceph.sh index da7e4e52d3..5ace4c96d6 100755 --- a/tools/deployment/component/ceph/ceph.sh +++ b/tools/deployment/component/ceph/ceph.sh @@ -169,8 +169,6 @@ pod: mds: 1 mgr: 1 rgw: 1 -deploy: - tool: "ceph-volume" EOF diff --git a/tools/deployment/developer/ceph/040-ceph.sh b/tools/deployment/developer/ceph/040-ceph.sh index 39cacf7904..c8615bcc33 100755 --- a/tools/deployment/developer/ceph/040-ceph.sh +++ b/tools/deployment/developer/ceph/040-ceph.sh @@ -14,17 +14,10 @@ set -xe +export CEPH_OSD_DATA_DEVICE="$1" +export CEPH_OSD_DB_WAL_DEVICE="$2" # Create loop back devices for ceph osds. -sudo df -lh -sudo lsblk -sudo mkdir -p /var/lib/openstack-helm/ceph -sudo truncate -s 10G /var/lib/openstack-helm/ceph/ceph-osd-data-loopbackfile.img -sudo truncate -s 8G /var/lib/openstack-helm/ceph/ceph-osd-db-wal-loopbackfile.img -sudo losetup /dev/loop0 /var/lib/openstack-helm/ceph/ceph-osd-data-loopbackfile.img -sudo losetup /dev/loop1 /var/lib/openstack-helm/ceph/ceph-osd-db-wal-loopbackfile.img -# lets check the devices -sudo df -lh -sudo lsblk +./tools/deployment/common/setup-ceph-loopback-device.sh --ceph-osd-data ${CEPH_OSD_DATA_DEVICE} --ceph-osd-dbwal ${CEPH_OSD_DB_WAL_DEVICE} #NOTE: Lint and package chart export HELM_CHART_ROOT_PATH="${HELM_CHART_ROOT_PATH:="${OSH_INFRA_PATH:="../openstack-helm-infra"}"}"