2021-01-18 04:55:59 +00:00
|
|
|
function vm_inst -a name os_variant install_source
|
|
|
|
argparse \
|
|
|
|
'm/memory=' \
|
|
|
|
'c/cpus=' \
|
|
|
|
'd/disk-size=' \
|
|
|
|
'b/bridge=' \
|
2022-01-23 18:05:31 +00:00
|
|
|
s/backing_store \
|
2021-12-28 23:03:49 +00:00
|
|
|
i/import \
|
|
|
|
n/netboot \
|
2022-01-23 18:05:31 +00:00
|
|
|
--ignore-unknown \
|
2021-01-18 04:55:59 +00:00
|
|
|
-- $argv
|
|
|
|
|
2021-12-28 23:03:49 +00:00
|
|
|
set -l memory 4096
|
|
|
|
set -l vcpus 2
|
|
|
|
set -l disk_size 40
|
|
|
|
set -l bridge_iface br0
|
2021-01-18 04:55:59 +00:00
|
|
|
|
|
|
|
if test -n "$_flag_m"
|
|
|
|
set memory $_flag_m
|
|
|
|
end
|
|
|
|
|
|
|
|
if test -n "$_flag_c"
|
|
|
|
set vcpus $_flag_c
|
|
|
|
end
|
|
|
|
|
|
|
|
if test -n "$_flag_d"
|
|
|
|
set disk_size $_flag_d
|
|
|
|
end
|
|
|
|
|
|
|
|
if test -n "$_flag_b"
|
|
|
|
set bridge_iface $_flag_b
|
|
|
|
end
|
|
|
|
|
|
|
|
set -l inst_args \
|
|
|
|
--name $name \
|
|
|
|
--memory $memory \
|
|
|
|
--vcpus $vcpus \
|
2021-12-28 23:03:49 +00:00
|
|
|
--os-variant $os_variant
|
|
|
|
|
|
|
|
if test -n "$_flag_b"
|
|
|
|
set inst_args $inst_args \
|
|
|
|
--network bridge=$bridge_iface
|
|
|
|
end
|
2021-01-18 04:55:59 +00:00
|
|
|
|
|
|
|
if test -n "$_flag_i"
|
|
|
|
set inst_args $inst_args \
|
|
|
|
--disk $install_source \
|
|
|
|
--import
|
2022-01-23 18:05:31 +00:00
|
|
|
else if test -n "$_flag_s"
|
|
|
|
set inst_args $inst_args \
|
|
|
|
--disk size=$disk_size,sparse=yes,backing_store=$install_source \
|
|
|
|
--import
|
2021-01-19 05:41:46 +00:00
|
|
|
else if test -n "$_flag_n"
|
|
|
|
set inst_args $inst_args \
|
|
|
|
--disk size=$disk_size,sparse=yes \
|
|
|
|
--pxe
|
2021-01-18 04:55:59 +00:00
|
|
|
else
|
|
|
|
set inst_args $inst_args \
|
|
|
|
--disk size=$disk_size,sparse=yes \
|
|
|
|
--cdrom $install_source
|
|
|
|
end
|
|
|
|
|
2022-01-23 18:05:31 +00:00
|
|
|
virt-install $inst_args $argv
|
2021-01-18 04:55:59 +00:00
|
|
|
end
|