Compare commits
4 Commits
e1207278a3
...
8c96623ad7
Author | SHA1 | Date | |
---|---|---|---|
8c96623ad7 | |||
358e67a041 | |||
3b4724cf86 | |||
684a49af14 |
@ -17,7 +17,7 @@ chmod +x deploy-vm.sh
|
|||||||
|
|
||||||
Executing: ./scripts/core-count.sh
|
Executing: ./scripts/core-count.sh
|
||||||
System has more than 2 core (nproc --all: 6).
|
System has more than 2 core (nproc --all: 6).
|
||||||
[...]]
|
[...]
|
||||||
10. virtual-desktop-hypervisor
|
10. virtual-desktop-hypervisor
|
||||||
[...]
|
[...]
|
||||||
Enter the number of the file you want to select: 10
|
Enter the number of the file you want to select: 10
|
||||||
|
@ -4,9 +4,7 @@
|
|||||||
core_count=$(nproc --all)
|
core_count=$(nproc --all)
|
||||||
|
|
||||||
# Check if nproc --all returns a numerical value greater than 2
|
# Check if nproc --all returns a numerical value greater than 2
|
||||||
if (( core_count > 2 )); then
|
if (( core_count < 2 )); then
|
||||||
echo "System has more than 2 core (nproc --all: $core_count)."
|
|
||||||
else
|
|
||||||
echo "Warning: System has only $core_count core)."
|
echo "Warning: System has only $core_count core)."
|
||||||
echo "The script requires at least four cores"
|
echo "The script requires at least four cores"
|
||||||
exit 1 # Exit with an error code to indicate the condition is not met
|
exit 1 # Exit with an error code to indicate the condition is not met
|
||||||
|
@ -5,17 +5,17 @@ DEFAULT_MEMORY=4096
|
|||||||
DEFAULT_DISK_SIZE=10
|
DEFAULT_DISK_SIZE=10
|
||||||
|
|
||||||
# Prompt user for VM memory size
|
# Prompt user for VM memory size
|
||||||
read -r -p "Provide memory desired VM memory in MB or press Enter to keep default value of $DEFAULT_MEMORY): " memory_size
|
read -r -p "Provide desired VM memory in MB or press Enter to keep default value of $DEFAULT_MEMORY MB): " memory_size
|
||||||
memory_size=${memory_size:-$DEFAULT_MEMORY}
|
memory_size=${memory_size:-$DEFAULT_MEMORY}
|
||||||
|
|
||||||
# Validate memory size
|
# Validate memory size
|
||||||
if ! [[ "$memory_size" =~ ^[0-9]+$ ]] || (( memory_size < 2048 )); then
|
if ! [[ "$memory_size" =~ ^[0-9]+$ ]] || (( memory_size < 2048 )); then
|
||||||
echo "Invalid memory size. Must be a number greater than or equal to 2048. Using default value of $DEFAULT_MEMORY."
|
echo "Invalid memory size. Must be a number greater than or equal to 2048. Using default value of $DEFAULT_MEMORY MB."
|
||||||
memory_size=$DEFAULT_MEMORY
|
memory_size=$DEFAULT_MEMORY
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prompt user for VM disk size
|
# Prompt user for VM disk size
|
||||||
read -r -p "Provide desired disk size of VM in GB or press Enter to use default disk size of $DEFAULT_DISK_SIZE: " disk_size
|
read -r -p "Provide desired disk size of VM in GB or press Enter to use default disk size of $DEFAULT_DISK_SIZE GB: " disk_size
|
||||||
disk_size=${disk_size:-$DEFAULT_DISK_SIZE}
|
disk_size=${disk_size:-$DEFAULT_DISK_SIZE}
|
||||||
|
|
||||||
# Validate disk size
|
# Validate disk size
|
||||||
@ -24,44 +24,43 @@ if ! [[ "$disk_size" =~ ^[0-9]+$ ]] || (( disk_size < 10 )); then
|
|||||||
disk_size=$DEFAULT_DISK_SIZE
|
disk_size=$DEFAULT_DISK_SIZE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Define URI options for qemu
|
# Set the choices
|
||||||
uri_options=("qemu:///system" "qemu:///session")
|
CHOICE_SYSTEM="qemu:///system"
|
||||||
|
CHOICE_SESSION="qemu:///session"
|
||||||
|
|
||||||
# Prompt user to select URI
|
# Display the choices to the user
|
||||||
select uri in "${uri_options[@]}"; do
|
echo "Please select an option or press Enter to keep default value of $CHOICE_SESSION):"
|
||||||
if [[ -n "$uri" ]]; then
|
echo "1) $CHOICE_SYSTEM (system-based or rootfull virtual machine)"
|
||||||
break # Exit the select loop if a valid option is chosen
|
echo "2) $CHOICE_SESSION (session-based or rootless virtual machine)"
|
||||||
else
|
|
||||||
echo "Invalid selection. Please choose a valid URI."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
case "$uri" in
|
# Prompt the user for input
|
||||||
qemu:///session)
|
IFS= read -r -p "Enter your choice (1 or 2): " user_choice
|
||||||
disk_path="$HOME/.local/share/libvirt/images/"
|
|
||||||
;;
|
# Validate the user's input
|
||||||
qemu:///system)
|
if [[ ! "$user_choice" =~ ^[12]$ ]]; then
|
||||||
disk_path="/var/lib/libvirt/images/"
|
echo "Invalid choice. Defaulting to session-based VM."
|
||||||
;;
|
uri="$CHOICE_SESSION" # Default to session-based if input is invalid
|
||||||
|
else
|
||||||
|
# Determine the selected option
|
||||||
|
case "$user_choice" in
|
||||||
|
1)
|
||||||
|
uri="$CHOICE_SYSTEM"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
uri="$CHOICE_SESSION"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Invalid URI selected. Exiting."
|
echo "Unexpected error: Invalid choice. This should not happen due to validation."
|
||||||
exit 1
|
exit 1
|
||||||
esac
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
case "$uri" in
|
# Display the selected option (optional)
|
||||||
qemu:///session)
|
echo "You selected: $uri"
|
||||||
network_type="user"
|
|
||||||
;;
|
|
||||||
qemu:///system)
|
|
||||||
network_type="default"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Invalid URI selected. Exiting."
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Get a list of files in "dishes" directory, restricted to those starting with "virtual"
|
# Get a list of files in "dishes" directory
|
||||||
mapfile -t dish_name < <(find "dishes/" -maxdepth 1 -type f -printf "%f\n" | sed 's/\.[^.]*$//')
|
mapfile -t dish_name < <(find "dishes/" -maxdepth 1 -type f \( -name "virtual*" \) -printf "%f\n" | sed 's/\.[^.]*$//')
|
||||||
|
|
||||||
# Check if there are any files
|
# Check if there are any files
|
||||||
if [ ${#dish_name[@]} -eq 0 ]; then
|
if [ ${#dish_name[@]} -eq 0 ]; then
|
||||||
|
@ -9,6 +9,4 @@ total_memory_mb=$(( total_memory / 1024 ))
|
|||||||
if [[ "$total_memory_mb" -lt "4096" ]]; then
|
if [[ "$total_memory_mb" -lt "4096" ]]; then
|
||||||
echo "Not enough RAM: The system has only ${total_memory_mb}MiB of RAM, but at least 4096 is required."
|
echo "Not enough RAM: The system has only ${total_memory_mb}MiB of RAM, but at least 4096 is required."
|
||||||
exit 1
|
exit 1
|
||||||
else
|
fi
|
||||||
echo "Sufficient memory available. System has ${total_memory_mb}MiB of RAM."
|
|
||||||
fi
|
|
Reference in New Issue
Block a user