Add curl, govc, and vmware upload script for quicker nodes updates
This commit is contained in:
		@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user