From 30aef773b1f3787e4ffe3946de5f3c0b58550376 Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 09:57:50 +0000 Subject: [PATCH 1/8] make ssh-vm cwd agnostic and move ssh-proxy-command to util --- dev/preview/ssh-vm.sh | 13 ++++++++----- dev/preview/{ => util}/ssh-proxy-command.sh | 12 +++++++----- 2 files changed, 15 insertions(+), 10 deletions(-) rename dev/preview/{ => util}/ssh-proxy-command.sh (92%) diff --git a/dev/preview/ssh-vm.sh b/dev/preview/ssh-vm.sh index 95381632e1a1ac..8ddd561aecaf9f 100755 --- a/dev/preview/ssh-vm.sh +++ b/dev/preview/ssh-vm.sh @@ -5,15 +5,18 @@ set -euo pipefail -source ./dev/preview/util/preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" -VM_NAME="$(preview-name-from-branch)" -NAMESPACE="preview-${VM_NAME}" +source "$THIS_DIR/util/preview-name-from-branch.sh" + +if [[ -z "${VM_NAME:-}" ]]; then + VM_NAME="$(preview-name-from-branch)" +fi +NAMESPACE="preview-${VM_NAME}" PRIVATE_KEY=$HOME/.ssh/vm_id_rsa PUBLIC_KEY=$HOME/.ssh/vm_id_rsa.pub PORT=8022 -THIS_DIR="$(dirname "$0")" USER="ubuntu" COMMAND="" @@ -56,7 +59,7 @@ ssh "$USER"@127.0.0.1 \ -o UserKnownHostsFile=/dev/null \ -o StrictHostKeyChecking=no \ -o LogLevel=ERROR \ - -o "ProxyCommand=$THIS_DIR/ssh-proxy-command.sh -p $PORT -n $NAMESPACE -v $VM_NAME" \ + -o "ProxyCommand=$THIS_DIR/util/ssh-proxy-command.sh -p $PORT -n $NAMESPACE -v $VM_NAME" \ -i "$HOME/.ssh/vm_id_rsa" \ -p "$PORT" \ "$COMMAND" diff --git a/dev/preview/ssh-proxy-command.sh b/dev/preview/util/ssh-proxy-command.sh similarity index 92% rename from dev/preview/ssh-proxy-command.sh rename to dev/preview/util/ssh-proxy-command.sh index 8888461cb42a0a..a64fa50df3fa9e 100755 --- a/dev/preview/ssh-proxy-command.sh +++ b/dev/preview/util/ssh-proxy-command.sh @@ -1,10 +1,5 @@ #!/usr/bin/env bash -source ./dev/preview/util/preview-name-from-branch.sh - -VM_NAME="$(preview-name-from-branch)" -NAMESPACE="preview-${VM_NAME}" - while getopts n:p:v: flag do case "${flag}" in @@ -15,6 +10,13 @@ do esac done +if [[ -z "${VM_NAME:-}" ]]; then + echo "VM_NAME not specified" + exit 1 +fi + +NAMESPACE="preview-${VM_NAME}" + pkill -f "kubectl --context=harvester (.*)${PORT}:2200" kubectl \ --context=harvester \ From b126c21465df104a0ee68201a44252dee940536e Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 10:08:59 +0000 Subject: [PATCH 2/8] make install-k3s-kubeconfig cwd agnostic --- dev/preview/install-k3s-kubeconfig.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/dev/preview/install-k3s-kubeconfig.sh b/dev/preview/install-k3s-kubeconfig.sh index 3434f8ef4f901f..9d3b9489a10cef 100755 --- a/dev/preview/install-k3s-kubeconfig.sh +++ b/dev/preview/install-k3s-kubeconfig.sh @@ -2,20 +2,23 @@ set -euo pipefail -source ./dev/preview/util/preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" + +source "$THIS_DIR/util/preview-name-from-branch.sh" -VM_NAME="$(preview-name-from-branch)" +if [[ -z "${VM_NAME:-}" ]]; then + VM_NAME="$(preview-name-from-branch)" +fi PRIVATE_KEY=$HOME/.ssh/vm_id_rsa PUBLIC_KEY=$HOME/.ssh/vm_id_rsa.pub -THIS_DIR="$(dirname "$0")" USER="ubuntu" KUBECONFIG_PATH="/home/gitpod/.kube/config" K3S_KUBECONFIG_PATH="$(mktemp)" MERGED_KUBECONFIG_PATH="$(mktemp)" -K3S_CONTEXT="k3s-preview-environment" +K3S_CONTEXT="${VM_NAME}" K3S_ENDPOINT="${VM_NAME}.kube.gitpod-dev.com" while getopts n:p:u: flag @@ -42,7 +45,7 @@ set-up-ssh "$THIS_DIR"/ssh-vm.sh \ -c "sudo cat /etc/rancher/k3s/k3s.yaml" \ - | sed 's/default/'${K3S_CONTEXT}'/g' \ + | sed "s/default/${K3S_CONTEXT}/g" \ | sed -e 's/127.0.0.1/'"${K3S_ENDPOINT}"'/g' \ > "${K3S_KUBECONFIG_PATH}" From 81167a909004ed05f8068026555234e7193702c0 Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 10:16:38 +0000 Subject: [PATCH 3/8] Move download-and-merge-harvester-kubeconfig.sh to util --- .gitpod.yml | 2 +- dev/preview/install-vm-ssh-keys.sh | 2 +- dev/preview/ssh-vm.sh | 2 +- .../{ => util}/download-and-merge-harvester-kubeconfig.sh | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename dev/preview/{ => util}/download-and-merge-harvester-kubeconfig.sh (100%) diff --git a/.gitpod.yml b/.gitpod.yml index b9b8bce4f814e0..4a7e6d34e6d6a3 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -33,7 +33,7 @@ ports: tasks: - name: Add Harvester kubeconfig command: | - ./dev/preview/download-and-merge-harvester-kubeconfig.sh + ./dev/preview/util/download-and-merge-harvester-kubeconfig.sh exit 0 - name: Java init: | diff --git a/dev/preview/install-vm-ssh-keys.sh b/dev/preview/install-vm-ssh-keys.sh index 25cc10a35d2db6..aba2c8a7061d8e 100755 --- a/dev/preview/install-vm-ssh-keys.sh +++ b/dev/preview/install-vm-ssh-keys.sh @@ -16,7 +16,7 @@ function has-dev-access { if ! has-dev-access; then log "Setting up kubeconfig" - "$THIS_DIR"/download-and-merge-harvester-kubeconfig.sh + "$THIS_DIR"/util/download-and-merge-harvester-kubeconfig.sh fi log "Downloading private key to ${PRIVATE_KEY_PATH}" diff --git a/dev/preview/ssh-vm.sh b/dev/preview/ssh-vm.sh index 8ddd561aecaf9f..cafc61ff5d9a7f 100755 --- a/dev/preview/ssh-vm.sh +++ b/dev/preview/ssh-vm.sh @@ -50,7 +50,7 @@ function set-up-ssh { if ! has-harvester-access; then echo Setting up kubeconfig - "$THIS_DIR"/download-and-merge-harvester-kubeconfig.sh + "$THIS_DIR"/util/download-and-merge-harvester-kubeconfig.sh fi set-up-ssh diff --git a/dev/preview/download-and-merge-harvester-kubeconfig.sh b/dev/preview/util/download-and-merge-harvester-kubeconfig.sh similarity index 100% rename from dev/preview/download-and-merge-harvester-kubeconfig.sh rename to dev/preview/util/download-and-merge-harvester-kubeconfig.sh From 9cff1b17059b1b8977b66abdb1c7e85379dee422 Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 10:19:14 +0000 Subject: [PATCH 4/8] Move distribute-images.sh to test folder Fix comments, they used // but bash uses # --- dev/preview/{ => test}/distribute-images.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename dev/preview/{ => test}/distribute-images.sh (94%) diff --git a/dev/preview/distribute-images.sh b/dev/preview/test/distribute-images.sh similarity index 94% rename from dev/preview/distribute-images.sh rename to dev/preview/test/distribute-images.sh index e523c744564040..2966d74ebae263 100755 --- a/dev/preview/distribute-images.sh +++ b/dev/preview/test/distribute-images.sh @@ -13,8 +13,8 @@ do esac done -// We don't delete the namespace "distribute-${IMAGEID} because we want to avoid -// images from being garbage collected +# We don't delete the namespace "distribute-${IMAGEID} because we want to avoid +# images from being garbage collected NODES=$(kubectl get nodes -o=jsonpath='{.items[*].metadata.name}') NAMESPACE="distribute-${IMAGEID}" @@ -78,4 +78,4 @@ spec: persistentVolumeClaim: claimName: ${PVC} YAML -done \ No newline at end of file +done From 4b52d44c2e8658be5ddacda68332decb6e6fce42 Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 10:21:37 +0000 Subject: [PATCH 5/8] Move install-vm-ssh-keys.sh to util folder --- dev/preview/install-k3s-kubeconfig.sh | 2 +- dev/preview/ssh-vm.sh | 2 +- dev/preview/{ => util}/install-vm-ssh-keys.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename dev/preview/{ => util}/install-vm-ssh-keys.sh (93%) diff --git a/dev/preview/install-k3s-kubeconfig.sh b/dev/preview/install-k3s-kubeconfig.sh index 9d3b9489a10cef..45ec081e47f822 100755 --- a/dev/preview/install-k3s-kubeconfig.sh +++ b/dev/preview/install-k3s-kubeconfig.sh @@ -37,7 +37,7 @@ function log { function set-up-ssh { if [[ (! -f $PRIVATE_KEY) || (! -f $PUBLIC_KEY) ]]; then log Setting up ssh-keys - "$THIS_DIR"/install-vm-ssh-keys.sh + "$THIS_DIR"/util/install-vm-ssh-keys.sh fi } diff --git a/dev/preview/ssh-vm.sh b/dev/preview/ssh-vm.sh index cafc61ff5d9a7f..0a776e88906ef4 100755 --- a/dev/preview/ssh-vm.sh +++ b/dev/preview/ssh-vm.sh @@ -44,7 +44,7 @@ function has-harvester-access { function set-up-ssh { if [[ (! -f $PRIVATE_KEY) || (! -f $PUBLIC_KEY) ]]; then echo Setting up ssh-keys - "$THIS_DIR"/install-vm-ssh-keys.sh + "$THIS_DIR"/util/install-vm-ssh-keys.sh fi } diff --git a/dev/preview/install-vm-ssh-keys.sh b/dev/preview/util/install-vm-ssh-keys.sh similarity index 93% rename from dev/preview/install-vm-ssh-keys.sh rename to dev/preview/util/install-vm-ssh-keys.sh index aba2c8a7061d8e..25cc10a35d2db6 100755 --- a/dev/preview/install-vm-ssh-keys.sh +++ b/dev/preview/util/install-vm-ssh-keys.sh @@ -16,7 +16,7 @@ function has-dev-access { if ! has-dev-access; then log "Setting up kubeconfig" - "$THIS_DIR"/util/download-and-merge-harvester-kubeconfig.sh + "$THIS_DIR"/download-and-merge-harvester-kubeconfig.sh fi log "Downloading private key to ${PRIVATE_KEY_PATH}" From 4ecf8cbed3a1df276600a67ed49a6b2535788c6b Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 10:26:06 +0000 Subject: [PATCH 6/8] Move port forwarding scripts to util. Added support for setting VM_NAME --- dev/preview/portforward-monitoring-satellite.sh | 4 ++-- .../portforward-monitoring-satellite-core-dev.sh | 2 +- .../portforward-monitoring-satellite-harvester.sh | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) rename dev/preview/{ => util}/portforward-monitoring-satellite-core-dev.sh (93%) rename dev/preview/{ => util}/portforward-monitoring-satellite-harvester.sh (85%) diff --git a/dev/preview/portforward-monitoring-satellite.sh b/dev/preview/portforward-monitoring-satellite.sh index a3da45cef3a7f8..13cc40351c7917 100755 --- a/dev/preview/portforward-monitoring-satellite.sh +++ b/dev/preview/portforward-monitoring-satellite.sh @@ -19,9 +19,9 @@ done if [[ $CONTEXT == 'core-dev' ]]; then - "$THIS_DIR"/portforward-monitoring-satellite-core-dev.sh + "$THIS_DIR"/util/portforward-monitoring-satellite-core-dev.sh elif [[ $CONTEXT == 'harvester' ]]; then - "$THIS_DIR"/portforward-monitoring-satellite-harvester.sh + "$THIS_DIR"/util/portforward-monitoring-satellite-harvester.sh else log "Error: context should be one of the following: ['core-dev', 'harvester']" log "Usage: './dev/preview/portforward-monitoring-satellite.sh -c harvester' or './dev/preview/portforward-monitoring-satellite.sh -c core-dev'" diff --git a/dev/preview/portforward-monitoring-satellite-core-dev.sh b/dev/preview/util/portforward-monitoring-satellite-core-dev.sh similarity index 93% rename from dev/preview/portforward-monitoring-satellite-core-dev.sh rename to dev/preview/util/portforward-monitoring-satellite-core-dev.sh index e289854572dbc4..6af0c421ffb4e1 100755 --- a/dev/preview/portforward-monitoring-satellite-core-dev.sh +++ b/dev/preview/util/portforward-monitoring-satellite-core-dev.sh @@ -3,7 +3,7 @@ # Exposes Prometheus and Grafana's UI # -source ./dev/preview/util/preview-name-from-branch.sh +source ./preview-name-from-branch.sh PREVIEW_NAME="$(preview-name-from-branch)" NAMESPACE="staging-${PREVIEW_NAME}" diff --git a/dev/preview/portforward-monitoring-satellite-harvester.sh b/dev/preview/util/portforward-monitoring-satellite-harvester.sh similarity index 85% rename from dev/preview/portforward-monitoring-satellite-harvester.sh rename to dev/preview/util/portforward-monitoring-satellite-harvester.sh index 0ff9f366f90efc..d1762c154978a0 100755 --- a/dev/preview/portforward-monitoring-satellite-harvester.sh +++ b/dev/preview/util/portforward-monitoring-satellite-harvester.sh @@ -3,9 +3,12 @@ # Exposes Prometheus and Grafana's UI # -source ./dev/preview/util/preview-name-from-branch.sh +source ./preview-name-from-branch.sh + +if [[ -z "${VM_NAME:-}" ]]; then + VM_NAME="$(preview-name-from-branch)" +fi -VM_NAME="$(preview-name-from-branch)" NAMESPACE="preview-${VM_NAME}" function log { From 14d8ae28f59aeab3b41a2f712e90240626d3b03f Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 10:27:28 +0000 Subject: [PATCH 7/8] Add script to list VM name to be used with VM_NAME --- dev/preview/list-vms.sh | 5 +++++ 1 file changed, 5 insertions(+) create mode 100755 dev/preview/list-vms.sh diff --git a/dev/preview/list-vms.sh b/dev/preview/list-vms.sh new file mode 100755 index 00000000000000..5ef4f3a2fda436 --- /dev/null +++ b/dev/preview/list-vms.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -eup pipefail + +kubectl --context=harvester get vms -A -o=jsonpath='{.items[*].metadata.name}' | xargs -n 1 echo From 6e6300d636af3cc10d03b30fe7e3b43da1945360 Mon Sep 17 00:00:00 2001 From: Mads Hartmann Date: Wed, 4 May 2022 11:16:34 +0000 Subject: [PATCH 8/8] Fix paths in portforward-monitoring-satellite-X.sh --- dev/preview/util/portforward-monitoring-satellite-core-dev.sh | 4 +++- .../util/portforward-monitoring-satellite-harvester.sh | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dev/preview/util/portforward-monitoring-satellite-core-dev.sh b/dev/preview/util/portforward-monitoring-satellite-core-dev.sh index 6af0c421ffb4e1..01007a82742def 100755 --- a/dev/preview/util/portforward-monitoring-satellite-core-dev.sh +++ b/dev/preview/util/portforward-monitoring-satellite-core-dev.sh @@ -3,7 +3,9 @@ # Exposes Prometheus and Grafana's UI # -source ./preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" + +source "$THIS_DIR/preview-name-from-branch.sh" PREVIEW_NAME="$(preview-name-from-branch)" NAMESPACE="staging-${PREVIEW_NAME}" diff --git a/dev/preview/util/portforward-monitoring-satellite-harvester.sh b/dev/preview/util/portforward-monitoring-satellite-harvester.sh index d1762c154978a0..6a8977aec9becb 100755 --- a/dev/preview/util/portforward-monitoring-satellite-harvester.sh +++ b/dev/preview/util/portforward-monitoring-satellite-harvester.sh @@ -3,7 +3,9 @@ # Exposes Prometheus and Grafana's UI # -source ./preview-name-from-branch.sh +THIS_DIR="$(dirname "$0")" + +source "$THIS_DIR/preview-name-from-branch.sh" if [[ -z "${VM_NAME:-}" ]]; then VM_NAME="$(preview-name-from-branch)"