Add curl, govc, and vmware upload script for quicker nodes updates
This commit is contained in:
parent
49c73be97a
commit
4ad32c64a6
@ -12,7 +12,11 @@ run apt-get update \
|
|||||||
run yes |apt-get install -y grub2 grub-pc-bin grub-efi-amd64-bin \
|
run yes |apt-get install -y grub2 grub-pc-bin grub-efi-amd64-bin \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
run apt-get install -y ca-certificates \
|
run apt-get install -y ca-certificates curl \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
|
run curl -L https://github.com/vmware/govmomi/releases/download/v0.21.0/govc_linux_amd64.gz | gunzip > /bin/govc && chmod +x /bin/govc
|
||||||
|
|
||||||
|
copy upload-vmware.sh govc.env /var/lib/direktil/
|
||||||
|
|
||||||
copy --from=build /go/bin/ /bin/
|
copy --from=build /go/bin/ /bin/
|
||||||
|
8
govc.env
Normal file
8
govc.env
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export GOVC_DATACENTER=
|
||||||
|
export GOVC_PASSWORD=
|
||||||
|
export GOVC_URL=
|
||||||
|
export GOVC_USERNAME=
|
||||||
|
export GOVC_INSECURE=1
|
||||||
|
export GOVC_DATASTORE=
|
||||||
|
export NOVIT_VM_FOLDER=
|
||||||
|
export NOVIT_ISO_FOLDER=
|
28
upload-vmware.sh
Normal file
28
upload-vmware.sh
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
set -e
|
||||||
|
|
||||||
|
dir=/var/lib/direktil/
|
||||||
|
PATH=$PATH:$dir
|
||||||
|
cd $dir
|
||||||
|
|
||||||
|
if [ ! -f govc.env ]; then
|
||||||
|
echo ERROR: govc.env file not found in dir $dir ; exit 1
|
||||||
|
fi
|
||||||
|
source govc.env
|
||||||
|
|
||||||
|
if [ $# != 2 ]; then
|
||||||
|
echo "Usage: $0 <VM_NAME> <NOVIT_HOST>" ; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $NOVIT_VM_FOLDER || -z $NOVIT_ISO_FOLDER ]]; then
|
||||||
|
echo "ERROR: All GOVC env vars (including NOVIT_VM_FOLDER and NOVIT_ISO_FOLDER) must be provided" ; exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
VM=$1
|
||||||
|
HOST=$2
|
||||||
|
|
||||||
|
govc vm.power -off $NOVIT_VM_FOLDER/$VM || true
|
||||||
|
sleep 5
|
||||||
|
curl localhost:7606/hosts/$HOST/boot.iso | govc datastore.upload - $NOVIT_ISO_FOLDER/$VM.iso
|
||||||
|
sleep 5
|
||||||
|
govc vm.power -on $NOVIT_VM_FOLDER/$VM
|
||||||
|
|
Loading…
Reference in New Issue
Block a user