Has anyone setup a windows interactive session through Open Ondemand? Is it possible?
I’m unsure myself if anyone has implemented this.
But, I can say that it is possible with the caveat that it isn’t something we could provide much guidance on beyond you would have to try some combination of a containerization with singularity somehow to do this and wire it back, using virtualbox to load the image maybe or something like wine
with the container.
I really don’t have much guidance so I apologize, but maybe someone else has spent time on this and can provide more details.
Thanks Travis.
Or maybe connecting to a desktop on a vmware server in some way via open ondemand. I guess the user could start a linux interactive desktop then use a url to get to the vmware instance.
Just out of curiosity, what is it about the windows desktop that is specifically needed?
To have the user login to an interactive desktop to then connect to another interactive desktop makes me wonder what could be provided to avoid something like that.
I am not sure. I was asked if it is possible. I am not sure why they need to use cluster resources just to go to a windows desktop. But I said I would ask.
Ok, thanks for the follow up. If they possibly think they need the windows desktop for a specific app is mostly what I was curious about on the chance we provided that app for use already as an interactive app.
@rsand Yes it is possible. You could create a standard interactive app and adapt script.sh.erb
to something like
module load QEMU
/usr/local/bin/qemu-wrapper-ood <%= context.os %> <%= context.memory %> <%= context.disk %>
where the context variables are formed as usual using form.yml
and the qemu-wrapper-ood
is a script that contains the logic to run qemu
on the basis of what the user requested in the submission form, for instance
OS=$1
MEM=$2
DISK=$3
# prepare user's img
BASEDIR=/data2/${USER}/qemu
mkdir -p ${BASEDIR}
# do not overwrite img if it exists, but re-use it
if [[ -f "${BASEDIR}/${OS}.qcow2" ]]; then
echo "qcow2 img found..running it.."
qemu-system-x86_64 -drive file=${BASEDIR}/${OS}.qcow2,if=ide -m ${MEM} -boot c -display gtk -enable-kvm -vga virtio -full-screen
else
echo "qcow2 img NOT found..creating one.."
qemu-img create -f qcow2 ${BASEDIR}/${OS}.qcow2 ${DISK}
chmod 600 ${BASEDIR}/${OS}.qcow2
qemu-system-x86_64 -drive file=${BASEDIR}/${OS}.qcow2,if=ide -cdrom /data2/ISOs/${OS}.iso -m ${MEM} -boot d -display gtk -enable-kvm
fi
Clearly /data2/ISOs/
contains the windows ISOs that you might want to serve.
I hope this helps.
Leonardo,
Thank you. We will give this a try.
Did Leonardo’s suggestion work?
We didn’t get into doing it because there would be a lot of trouble getting it into AD. I am sure it would work though.
I just started using qemu now but the options I have with RHEL 8 are not the same as what was given by Leonado. The qemu-system-x86_64 is replaced by qemu-kvm. I can get a windows desktop running inside of an xfce interactive desktop using virt-manager but I would like to know how to use the qemu-kvm to start the windows desktop without the RHEL8 interactive desktop. Does anyone have any insight into converting what Leonardo has here with the equivalent in qemu-kvm? I can come close but the display elements are for the virt-manager viewer and not with gtk.
It seems that the gtk display is not available with the RHEL 8 version of qemu-kvm so I will have to use the spice display agent just like the virt-manager app does when it sets up a vm but I have not been able to do that even after starting up the vdagentd on a server to create a display for the Windows Desktop.
Hi @rsand, perhaps you can try installing the pkg qemu-ui-gtk
available in the Raven Extra third-party repo (Raven's RPM packages repository). That package provides the additional GTK UI for QEMU and should make the -display gtk
available to your qemu-kvm
I think. Note though that Raven is not an official repository and comes with no warranty. Alternatively, please take a look at the official fedora repos which usually have more pkgs than rhel including qemu-ui-gtk
.