Skip to content

Instantly share code, notes, and snippets.

@lubronzhan
Created August 31, 2023 04:41
Show Gist options
  • Save lubronzhan/1bd1941b16051eb92cec6c4d47a465e9 to your computer and use it in GitHub Desktop.
Save lubronzhan/1bd1941b16051eb92cec6c4d47a465e9 to your computer and use it in GitHub Desktop.
tkg pipeline helper
#!/bin/bash
set -o pipefail
## get lock id
## Example:
## get_lock_id https://kscom.svc.eng.vmware.com/job/tkg-release/job/install-vc-dualstack-ipv6-primary/700/
get_lock_id() {
url=$1
echo $(curl -s ${url}artifact/lock.json | jq -r '.id')
}
## get lock namespace
## Example:
## get_lock_namespace https://kscom.svc.eng.vmware.com/job/tkg-release/job/install-vc-dualstack-ipv6-primary/700/
get_lock_namespace(){
url=$1
echo $(curl -s ${url}artifact/lock.json | jq -r '.namespace_id')
}
## get jumper ip
## Example:
## get_jumper_ip https://kscom.svc.eng.vmware.com/job/tkg-release/job/install-vc-dualstack-ipv6-primary/700/
get_jumper_ip(){
url=$1
echo $(curl -s ${url}/artifact/lock.json | jq -r '.access' | jq -r '.generic.proxy_config' | jq -r '.hostname')
}
## extend testbed lifetime
## Example:
## extend_lock_lifetime https://kscom.svc.eng.vmware.com/job/tkg-release/job/install-vc-dualstack-ipv6-primary/700/
extend_lock_lifetime(){
url=$1
sheepctl lock extend $(get_lock_id ${url}) -n $(get_lock_namespace ${url}) -t 5d
}
## ssh into testbed jumper
## Example:
## ssh_testbed https://kscom.svc.eng.vmware.com/job/tkg-release/job/install-vc-dualstack-ipv6-primary/700/
ssh_testbed(){
url=$1
password=$(curl -s ${url}/artifact/lock.json | jq -r '.outputs.vm.jumper.password')
sshpass -p "${password}" ssh -o StrictHostKeyChecking=no kubo@$(get_jumper_ip ${url})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment