forked from SUNET/soc-ops
Compare commits
2 commits
main
...
add-forgej
Author | SHA1 | Date | |
---|---|---|---|
f1ffae4c9e | |||
8211a6eb6b |
2 changed files with 29 additions and 4 deletions
32
addhost
32
addhost
|
@ -3,22 +3,27 @@
|
||||||
cmd_hostname=""
|
cmd_hostname=""
|
||||||
cmd_do_bootstrap="no"
|
cmd_do_bootstrap="no"
|
||||||
cmd_fqdn=""
|
cmd_fqdn=""
|
||||||
|
cmd_prepare=""
|
||||||
|
|
||||||
function usage() {
|
function usage() {
|
||||||
echo "Usage: $0 [-h] [-b] [-n fqdn] [--] [<host>]"
|
echo "Usage: $0 [-h] [-b] [-n <fqdn>] [-p <proxy host>] [-r debian|ubuntu] [--] [<host>]"
|
||||||
echo " -h show help"
|
echo " -h show help"
|
||||||
echo " -b bootstrap <host> (using ssh)"
|
echo " -b bootstrap <host> (using ssh)"
|
||||||
echo " -n specify FQDN (if not the same as <host>)"
|
echo " -n specify FQDN (if not the same as <host>)"
|
||||||
|
echo " -p specify proxyjump host (used for bootstrap)"
|
||||||
|
echo " -r run prepare-iaas script (implies -b), supports debian and ubuntu"
|
||||||
echo ""
|
echo ""
|
||||||
echo " <host> can be an IP number, or something that resolves to one"
|
echo " <host> can be an IP number, or something that resolves to one"
|
||||||
}
|
}
|
||||||
|
|
||||||
while getopts "bhnp:" this; do
|
|
||||||
|
while getopts "bhn:p:r:" this; do
|
||||||
case "${this}" in
|
case "${this}" in
|
||||||
h) usage; exit 0;;
|
h) usage; exit 0;;
|
||||||
b) cmd_do_bootstrap="yes" ;;
|
b) cmd_do_bootstrap="yes" ;;
|
||||||
n) cmd_fqdn="${OPTARG}" ; shift ;;
|
n) cmd_fqdn="${OPTARG}" ;;
|
||||||
p) cmd_proxy="${OPTARG}" ; shift ;;
|
p) cmd_proxy="${OPTARG}" ;;
|
||||||
|
r) cmd_prepare="${OPTARG}" ; cmd_do_bootstrap="yes" ;;
|
||||||
*) echo "Unknown option ${this}"; echo ""; usage; exit 1;;
|
*) echo "Unknown option ${this}"; echo ""; usage; exit 1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
@ -32,15 +37,24 @@ if [[ ! $cmd_fqdn ]]; then
|
||||||
cmd_fqdn="$cmd_hostname"
|
cmd_fqdn="$cmd_hostname"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if test -z "$cmd_hostname"; then
|
if test -z "$cmd_hostname"; then
|
||||||
usage
|
usage
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [[ -n $cmd_proxy ]]; then
|
if [[ -n $cmd_proxy ]]; then
|
||||||
proxyjump="-o ProxyJump=${cmd_proxy}"
|
proxyjump="-o ProxyJump=${cmd_proxy}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case "$cmd_prepare" in
|
||||||
|
""| "debian" | "ubuntu" ) ;; # valid value
|
||||||
|
*) echo "$0: don't know how to prepare '$cmd_prepare', only 'debian' and 'ubuntu' supported"
|
||||||
|
usage
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
test -f cosmos.conf && . ./cosmos.conf
|
test -f cosmos.conf && . ./cosmos.conf
|
||||||
|
|
||||||
_remote=${remote:='ro'}
|
_remote=${remote:='ro'}
|
||||||
|
@ -60,7 +74,17 @@ if [ ! -d "$cmd_fqdn" ]; then
|
||||||
./bump-tag
|
./bump-tag
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ "$cmd_do_bootstrap" = "yes" ]; then
|
if [ "$cmd_do_bootstrap" = "yes" ]; then
|
||||||
|
echo "Bootstrapping $cmd_hostname"
|
||||||
|
if [ -n "$cmd_prepare" ]; then
|
||||||
|
if ! ./prepare-iaas-$cmd_prepare $cmd_hostname $cmd_proxy ; then
|
||||||
|
echo "Failed to prepare $cmd_prepare host, check that the setup is correct"
|
||||||
|
echo "Aborting"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
cosmos_deb=$(find apt/ -maxdepth 1 -name 'cosmos_*.deb' | sort -V | tail -1)
|
cosmos_deb=$(find apt/ -maxdepth 1 -name 'cosmos_*.deb' | sort -V | tail -1)
|
||||||
scp $proxyjump "$cosmos_deb" apt/bootstrap-cosmos.sh root@"$cmd_hostname":
|
scp $proxyjump "$cosmos_deb" apt/bootstrap-cosmos.sh root@"$cmd_hostname":
|
||||||
ssh root@"$cmd_hostname" $proxyjump ./bootstrap-cosmos.sh "$cmd_fqdn" "$rrepo" "$rtag"
|
ssh root@"$cmd_hostname" $proxyjump ./bootstrap-cosmos.sh "$cmd_fqdn" "$rrepo" "$rtag"
|
||||||
|
|
1
internal-sto3-dev-ci-1.cert.sunet.se/README
Symbolic link
1
internal-sto3-dev-ci-1.cert.sunet.se/README
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../README
|
Loading…
Add table
Reference in a new issue