47 lines
		
	
	
	
		
			975 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			975 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/bash
 | 
						|
# create 1st level-Clones
 | 
						|
 | 
						|
set -eu
 | 
						|
 | 
						|
source /etc/lmn/vm.conf
 | 
						|
PERSISTENT=0
 | 
						|
 | 
						|
while getopts ':p' OPTION; do
 | 
						|
  case "$OPTION" in
 | 
						|
    p)
 | 
						|
      PERSISTENT=1
 | 
						|
      VM_DIR="${VM_DIR_PERSISTENT}"
 | 
						|
      ;;
 | 
						|
  esac
 | 
						|
done
 | 
						|
 | 
						|
shift "$((OPTIND -1))"
 | 
						|
 | 
						|
# if less than two arguments supplied, display usage
 | 
						|
if [[  $# -ne 2 ]]; then
 | 
						|
    echo "This script takes as input the name of the VM to clone" >&2
 | 
						|
    echo "Usage: $0 vm_name_orig vm_name_clone" >&2
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
VM_NAME=$1
 | 
						|
VM_CLONE=$2
 | 
						|
 | 
						|
# Create User-VM-Dir and link system VM-Images
 | 
						|
[[ -d "${VM_DIR}" ]] || mkdir -p "${VM_DIR}"
 | 
						|
if [[ "${PERSISTENT}" -eq 1 ]]; then
 | 
						|
    sudo /usr/local/bin/vm-link-images -p
 | 
						|
else
 | 
						|
    sudo /usr/local/bin/vm-link-images
 | 
						|
fi
 | 
						|
 | 
						|
# change to image-directory
 | 
						|
cd "${VM_DIR}"
 | 
						|
 | 
						|
if [[ ! -f "${VM_NAME}.qcow2" ]]; then
 | 
						|
    echo "qcow2 File does not exists." >&2
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
qemu-img create -f qcow2 -F qcow2 -b "${VM_NAME}.qcow2" "${VM_NAME}-${VM_CLONE}.qcow2"
 | 
						|
chmod a-w "${VM_NAME}-${VM_CLONE}.qcow2"
 |