Merge branch 'virtiofsd-usermapping' into fvs
This commit is contained in:
commit
4e229b4a5d
6 changed files with 37 additions and 11 deletions
|
@ -19,6 +19,8 @@ options:
|
|||
--os OS operating system (win10|linux|..)
|
||||
--data-disk size additional data-disk
|
||||
--bridge virbrX additional network interface on bridge virbrX
|
||||
--uid uid set uid on guest
|
||||
--gid gid set gid on guest
|
||||
--macvtap additional network interface on device macvtap
|
||||
--options options additional options for virt-install command
|
||||
EOF
|
||||
|
@ -109,12 +111,25 @@ create_clone() {
|
|||
create_printerlist() {
|
||||
## Prepare .printerlist.csv
|
||||
mkdir -p "${VM_MEDIADIR}"
|
||||
chgrp "$(id -g)" "${VM_MEDIADIR}"
|
||||
echo "Name;IppURL" > "${VM_MEDIADIR}/.printerlist.csv"
|
||||
for p in $(lpstat -v | cut -f 3 -d" " | sed 's/:$//'); do
|
||||
echo "$p;ipp://192.168.122.1/printers/$p" >> "${VM_MEDIADIR}/.printerlist.csv"
|
||||
done
|
||||
}
|
||||
|
||||
start_virtiofsd() {
|
||||
# BEGIN temporary fix, while linux-starter are not migrated to --uid and --gid
|
||||
if [[ "$LIBVIRTOSINFO" =~ debian.* ]]; then
|
||||
[[ "$GUEST_UID" == 0 ]] && GUEST_UID=1010
|
||||
[[ "$GUEST_GID" == 0 ]] && GUEST_GID=1010
|
||||
fi
|
||||
# END temporary fix
|
||||
socket="/run/user/$(id -u $USER)/virtiofs-${VM_NAME}.sock"
|
||||
/usr/local/bin/virtiofsd --uid-map=:${GUEST_UID}:${UID}:1: --gid-map=:${GUEST_GID}:$(id -g):1: \
|
||||
--socket-path "$socket" --shared-dir "/lmn/media/${USER}" --syslog &
|
||||
}
|
||||
|
||||
QEMU='qemu:///session'
|
||||
|
||||
NEWCLONE=0
|
||||
|
@ -122,10 +137,12 @@ PERSISTENT=0
|
|||
LIBVIRTOSINFO="win10"
|
||||
LIBVIRTOPTS=""
|
||||
NO_VIEWER=0
|
||||
GUEST_UID=0
|
||||
GUEST_GID=0
|
||||
|
||||
source /etc/lmn/vm.conf
|
||||
|
||||
TEMP=$(getopt -o no:ps --long new,no-viewer,options:,persistent,system,memory:,data-disk:,heads:,cpu:,bridge:,macvtap,os:,help -n $0 -- "$@")
|
||||
TEMP=$(getopt -o no:ps --long new,no-viewer,options:,persistent,system,memory:,data-disk:,heads:,cpu:,bridge:,macvtap,os:,uid:,gid:,help -n $0 -- "$@")
|
||||
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
|
||||
|
||||
eval set -- "$TEMP"
|
||||
|
@ -203,6 +220,14 @@ while true; do
|
|||
LIBVIRTOSINFO=$2
|
||||
shift 2
|
||||
;;
|
||||
--uid )
|
||||
GUEST_UID=$2
|
||||
shift 2
|
||||
;;
|
||||
--gid )
|
||||
GUEST_GID=$2
|
||||
shift 2
|
||||
;;
|
||||
--help )
|
||||
show_help
|
||||
exit 1
|
||||
|
@ -245,7 +270,7 @@ if ! virsh --connect="${QEMU}" list | grep "${VM_NAME}-clone"; then
|
|||
|
||||
create_printerlist
|
||||
# start virtiofsd-service
|
||||
[[ "${QEMU}" = 'qemu:///session' ]] && sudo /usr/local/bin/vm-virtiofsd "${VM_NAME}"
|
||||
[[ "${QEMU}" = 'qemu:///session' ]] && start_virtiofsd
|
||||
|
||||
# finally, create the new vm
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue