From c68b95d1b731c7f6302c49d77b5238f90a05b7cf Mon Sep 17 00:00:00 2001 From: Oleg Matskiv Date: Wed, 18 Dec 2019 17:20:38 +0100 Subject: [PATCH 1/3] Allow defining product namespace instead of prefix --- image/tools/lib/component/3scale-redis.sh | 7 +++++-- image/tools/lib/component/codeready_pv.sh | 7 +++++-- image/tools/lib/component/enmasse_pv.sh | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/image/tools/lib/component/3scale-redis.sh b/image/tools/lib/component/3scale-redis.sh index e132b0f..13e0367 100644 --- a/image/tools/lib/component/3scale-redis.sh +++ b/image/tools/lib/component/3scale-redis.sh @@ -13,13 +13,16 @@ function save { } function component_dump_data { + if [[ -z "${PRODUCT_NAMESPACE:-}" ]]; then + PRODUCT_NAMESPACE="${PRODUCT_NAMESPACE_PREFIX}3scale" + fi save local ts=$(date '+%H_%M_%S') dest_file="$1/archives/dump-${ts}.rdb" dump_rdb_path="/var/lib/redis/data/dump.rdb" oc projects - redis_pod_name=$(oc get pods -l deploymentConfig=backend-redis -o name -n ${PRODUCT_NAMESPACE_PREFIX}3scale | sed -e 's/^pod\///') + redis_pod_name=$(oc get pods -l deploymentConfig=backend-redis -o name -n ${PRODUCT_NAMESPACE} | sed -e 's/^pod\///') - cp_pod_data "${PRODUCT_NAMESPACE_PREFIX}3scale/${redis_pod_name}:${dump_rdb_path}" "${dest_file}" + cp_pod_data "${PRODUCT_NAMESPACE}/${redis_pod_name}:${dump_rdb_path}" "${dest_file}" } \ No newline at end of file diff --git a/image/tools/lib/component/codeready_pv.sh b/image/tools/lib/component/codeready_pv.sh index 33d1679..fa78844 100755 --- a/image/tools/lib/component/codeready_pv.sh +++ b/image/tools/lib/component/codeready_pv.sh @@ -4,11 +4,14 @@ function dump_pod_data { workspace_pod_name=$1 dump_dest=$2 workspace_id=$(echo ${workspace_pod_name} | awk -F"." '{ print $1}') - cp_pod_data "${PRODUCT_NAMESPACE_PREFIX}codeready/${workspace_pod_name}:/projects" "${dump_dest}/${workspace_id}" + cp_pod_data "${PRODUCT_NAMESPACE}/${workspace_pod_name}:/projects" "${dump_dest}/${workspace_id}" } function component_dump_data { - local pods="$(oc get pods -n ${PRODUCT_NAMESPACE_PREFIX}codeready | grep workspace | awk '{print $1}')" + if [[ -z "${PRODUCT_NAMESPACE:-}" ]]; then + PRODUCT_NAMESPACE="${PRODUCT_NAMESPACE_PREFIX}codeready" + fi + local pods="$(oc get pods -n ${PRODUCT_NAMESPACE} | grep workspace | awk '{print $1}')" if [ "${#pods}" -eq "0" ]; then echo "=>> No workspaces found to backup" exit 0 diff --git a/image/tools/lib/component/enmasse_pv.sh b/image/tools/lib/component/enmasse_pv.sh index 82dc769..0b846c2 100644 --- a/image/tools/lib/component/enmasse_pv.sh +++ b/image/tools/lib/component/enmasse_pv.sh @@ -2,7 +2,7 @@ # Brokered pods have a storage PV attached. They are labelled with role=broker function get_broker_pods { - echo "`oc get pods --selector='role=broker' -n ${PRODUCT_NAMESPACE_PREFIX}enmasse -o jsonpath='{.items[*].metadata.name}'`" + echo "`oc get pods --selector='role=broker' -n ${PRODUCT_NAMESPACE} -o jsonpath='{.items[*].metadata.name}'`" } function dump_pod_data { @@ -12,9 +12,12 @@ function dump_pod_data { # Create a backup directory for every pod with the same name # as the pod - cp_pod_data "${PRODUCT_NAMESPACE_PREFIX}enmasse/${pod}:${data_dir}" "${dest}/${pod}" + cp_pod_data "${PRODUCT_NAMESPACE}/${pod}:${data_dir}" "${dest}/${pod}" } function component_dump_data { + if [[ -z "${PRODUCT_NAMESPACE:-}" ]]; then + PRODUCT_NAMESPACE="${PRODUCT_NAMESPACE_PREFIX}enmasse" + fi local archive_path="$1/archives" local dump_dest="/tmp/enmasse-data" local pods=$(get_broker_pods) From a54eeb78ec6401a46902e06cb155e484a039a65e Mon Sep 17 00:00:00 2001 From: Oleg Matskiv Date: Mon, 23 Dec 2019 10:37:50 +0100 Subject: [PATCH 2/3] Improve CodeReady pod filtering --- image/tools/lib/component/codeready_pv.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/tools/lib/component/codeready_pv.sh b/image/tools/lib/component/codeready_pv.sh index fa78844..d4592aa 100755 --- a/image/tools/lib/component/codeready_pv.sh +++ b/image/tools/lib/component/codeready_pv.sh @@ -11,7 +11,7 @@ function component_dump_data { if [[ -z "${PRODUCT_NAMESPACE:-}" ]]; then PRODUCT_NAMESPACE="${PRODUCT_NAMESPACE_PREFIX}codeready" fi - local pods="$(oc get pods -n ${PRODUCT_NAMESPACE} | grep workspace | awk '{print $1}')" + local pods="$(oc get pods -n ${PRODUCT_NAMESPACE} --no-headers=true -l "che.workspace_id" | awk '{print $1}')" if [ "${#pods}" -eq "0" ]; then echo "=>> No workspaces found to backup" exit 0 From 403ee2e91b4635890b1d0e66de25ed123c27336a Mon Sep 17 00:00:00 2001 From: KevFan Date: Fri, 3 Jan 2020 13:27:26 +0000 Subject: [PATCH 3/3] Ignore jwtproxy pods in codeready pv backup --- image/tools/lib/component/codeready_pv.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/tools/lib/component/codeready_pv.sh b/image/tools/lib/component/codeready_pv.sh index d4592aa..73f3926 100755 --- a/image/tools/lib/component/codeready_pv.sh +++ b/image/tools/lib/component/codeready_pv.sh @@ -11,7 +11,7 @@ function component_dump_data { if [[ -z "${PRODUCT_NAMESPACE:-}" ]]; then PRODUCT_NAMESPACE="${PRODUCT_NAMESPACE_PREFIX}codeready" fi - local pods="$(oc get pods -n ${PRODUCT_NAMESPACE} --no-headers=true -l "che.workspace_id" | awk '{print $1}')" + local pods="$(oc get pods -n ${PRODUCT_NAMESPACE} --no-headers=true -l "che.workspace_id,che.original_name notin (che-jwtproxy)" | awk '{print $1}')" if [ "${#pods}" -eq "0" ]; then echo "=>> No workspaces found to backup" exit 0