shared testing

News and Announcements related to GhostBSD
ASX
Posts: 988
Joined: Wed May 06, 2015 12:46 pm

shared testing

Post by ASX »

There is task that would greatly benefit the project: the abilty to share a virtual environment remotely.

We are consolidating our infrastructre, with one webserver and two package builders.

The two package bulders are also good candidates to support ISO builds, (with the added benefit of being able to use the local package repository).

1) First thing that come to my mind is virtualbox (headless) shared thru VNC protocol, I have no idea if the VNC protocol is the bare one or if it support some improvement/enhancement.

2) NoMachine (formerly NX) in the past was my preferred remote desktop solution, unfortunately is not available for FreeBSD.
Considering that also VirtualBox is better supported under Linux, I was thinking at a Linux server (no, I'm not crazy), that would act as host and would fully support both NoMachine Server and VirtualBox.
The guests would be our GhostBSD releases

3) I wonder if we could use some serious hypervisor (SmartOS ?) and install both FreeBSD and Linux, running in parallel ... but I really don't have experience with such hypervisors.

4) Do you have better ideas ? bhyve ? Qemu ? Jails ? Other ?

5) EDIT FreeNAS Corral containers may be ? :mrgreen:
kraileth
Posts: 312
Joined: Sun Sep 04, 2016 12:30 pm

Re: shared testing

Post by kraileth »

ASX wrote:There is task that would greatly benefit the project: the abilty to share a virtual environment remotely.
Exactly what do you want to achieve with this? Maybe the lack of sleep is hurting my brain more badly than I thought, but I'm not immediately seeing the huge benefits of this. Is it meant as a development tool or do you want to hand out (unprivileged) access to people who would want to try out GhostBSD?
1) First thing that come to my mind is virtualbox (headless) shared thru VNC protocol, I have no idea if the VNC protocol is the bare one or if it support some improvement/enhancement.
VNC should be suitable for this. At my job we have a Proxmox environment runnig and you're connecting to the VMs using VNC. That works really well.
2) NoMachine (formerly NX) in the past was my preferred remote desktop solution, unfortunately is not available for FreeBSD.
Considering that also VirtualBox is better supported under Linux, I was thinking at a Linux server (no, I'm not crazy), that would act as host and would fully support both NoMachine Server and VirtualBox.
Don't know NoMachine, but you're right about VirtualBox and Linux. I've updated my main machine to 11.1-PRERELEASE a couple of days ago, and VBox is acting completely weird. Linux guests work, but FreeBSD guests tend to randomly crash the whole system every 5 min or so which is pretty bad... Quite annoying to say the least. So from a stability point of view, using Linux makes sense if we do this and opt for VirtualBox.
3) I wonder if we could use some serious hypervisor (SmartOS ?) and install both FreeBSD and Linux, running in parallel ... but I really don't have experience with such hypervisors.
I've been wanting to try SmartOS for a while but I never found the time for it. I've seen an extended talk about another Solaris-based OS at a German Unix conference and especially those "LX-branded zones" were really cool. But I've also found out that Solaris is another world, quite alien to me. So for me the desire to do something with it shifted from "sometime" to "ceartainly not in the near future as there are enough other things to do".
4) Do you have better ideas ? bhyve ? Qemu ? Jails ? Other ?
Bhyve: Yes, that's an option. I have some bhyve VMs running for a customer but haven't ever used it with a graphical console. As far as I know it should be able to do VNC for a while now, though. We'd however have to use a pretty recent version of FreeBSD in that case. I think 11.0 might be too old to support everything that we need. Since 11.1 is around the corner, they might have backported all the required parts. Also for bhyve there's libvirt-bhyve. I don't think it's a complete solution right now allowing people to VNC into a VM using the graphical VirtManager, yet, but eventually it should be able to do just that. A lot of people are familiar with that thing and once that works it wouldn't make much of a difference if you're accessing a VM running in KVM or in Bhyve.

Qemu: Weelll... I don't know. That would probably work, but my gut instinct says that we should do than on Linux, too, if we opt for Qemu.

Jails: I'm not sure if jails are an ideal facility to run a desktop. If they are, the definitely have the huge advantage of being frugal when it comes to system resources.

Other: Not that I have experience with it, but I just wanted to throw in Xen which is able to run FreeBSD as Dom0, too.

Edit:
5) EDIT FreeNAS Corral containers may be ? :mrgreen:
That!! :twisted:
ASX
Posts: 988
Joined: Wed May 06, 2015 12:46 pm

Re: shared testing

Post by ASX »

kraileth wrote: Exactly what do you want to achieve with this?
The ability to have the whole Development Team looking into an issue while it is happening :D

When required, of course.
User avatar
ericbsd
Developer
Posts: 2056
Joined: Mon Nov 19, 2012 7:54 pm

Re: shared testing

Post by ericbsd »

That is an excellent idea.
ASX
Posts: 988
Joined: Wed May 06, 2015 12:46 pm

Re: shared testing

Post by ASX »

FYI:

NoMmachine is similar to VNC, but with enhancement to facilitate use on low bandwidth, integrated ssh, ability to share the USB locally/remotly, ability to transfer audio and so on.

SmartOS basically is: Illumos kernel, + ZFS + KVM, an infrastructure to run multiple guests OSes.
kraileth
Posts: 312
Joined: Sun Sep 04, 2016 12:30 pm

Re: shared testing

Post by kraileth »

ASX wrote:
kraileth wrote: Exactly what do you want to achieve with this?
The ability to have the whole Development Team looking into an issue while it is happening :D

When required, of course.
So this is an internal thing. That was an important piece of information.

Ok. Another few questions that come to mind: Do you intend to just keep it running (and one of us gets the duty of keeping it updated)? Or will they be reset to a fresh snapshot when the current problem was solved?
ASX wrote:FYI:

NoMmachine is similar to VNC, but with enhancement to facilitate use on low bandwidth, integrated ssh, ability to share the USB locally/remotly, ability to transfer audio and so on.

SmartOS basically is: Illumos kernel, + ZFS + KVM, an infrastructure to run multiple guests OSes.
What I like about SmartOS is that they use Pkgsrc. That's at least something that I remotely feel confident with. ;)
ASX
Posts: 988
Joined: Wed May 06, 2015 12:46 pm

Re: shared testing

Post by ASX »

kraileth wrote:So this is an internal thing. That was an important piece of information.
Yes, internal only.
Ok. Another few questions that come to mind: Do you intend to just keep it running (and one of us gets the duty of keeping it updated)? Or will they be reset to a fresh snapshot when the current problem was solved?
It is meant to get an ISO image running, ideally it would reside on the builder, thus we could automate part of the process like:
-> update ports tree -> pkgs build -> Iso build. And then -> interactive tests

Obviously the last step will be performed manually, and there is where sharing the session would be of help.
kraileth
Posts: 312
Joined: Sun Sep 04, 2016 12:30 pm

Re: shared testing

Post by kraileth »

ASX wrote:Obviously the last step will be performed manually, and there is where sharing the session would be of help.
When it comes to testing, I'm all for it. At a later point in time it might even make sense to invest some more effort and try to get some automated tests working. But even this kind of infrastructure that supports manual testing has a lot of value to it.

I think I favor the Bhyve way so far. I'd have to take a look at how well it performs with VNC, though.
ASX
Posts: 988
Joined: Wed May 06, 2015 12:46 pm

Re: shared testing

Post by ASX »

I have found this, based on a fork of NX 3.x codebase:

http://xpra.org/

It is available in ports/pkgs, I'm going to perform a few tests. ;)

a GUI frontend for several OSes (apparently including FreeBSD) is available:

http://winswitch.org/
ASX
Posts: 988
Joined: Wed May 06, 2015 12:46 pm

Re: shared testing

Post by ASX »

Got xpra working, subsequently installed virtualbox-ose ...

Image

apparently it works, and should allow to share the window, (virtualbox in this case) ... similarly to tmux you can disconnect and reconnect later ...however I'm not satisfied ... may be be me ... but I have much better recollection of NX ...
Post Reply