cloudius-systems / capstan

Capstan, a tool for packaging and running your application on OSv. http://osv.io/capstan
Other
363 stars 82 forks source link

Dependency on running KVM #147

Open jpenninkhof opened 9 years ago

jpenninkhof commented 9 years ago

Currently Capstan wants to be able to launch a KVM virtual machine to do it job. Even during the build process. Most build servers (such as Jenkins) however, are installed on Virtual Machines. Nested virtual machines are sporadically supported, but almost never a good idea.

Not sure if it's feasible, but it would be great if Capstan would not be dependent on running KVM during build operations.

dorlaor commented 9 years ago

The reason is that we execute OSv on top of KVM just to make the ZFS filesystem image. There was a time that we used ZFS with fuse but since it needed root we removed it.

You could run qemu without VT instead (it may need to change Capstan a bit for it) though it will be slow

On Wed, Aug 26, 2015 at 5:06 PM, Jan Penninkhof notifications@github.com wrote:

Currently Capstan wants to be able to launch a KVM virtual machine to do it job. Even during the build process. Most build servers (such as Jenkins) however, are installed on Virtual Machines. Nested virtual machines are sporadically supported, but almost never a good idea.

Not sure if it's feasible, but it would be great if Capstan would not be dependent on running KVM during build operations.

— Reply to this email directly or view it on GitHub https://github.com/cloudius-systems/capstan/issues/147.

jpenninkhof commented 9 years ago

I think it makes sense to make sure that it'll run as a non-root user as well. Build servers usually build using a non-root user as well (provided they're configured properly ;)

It would be great to be able to have the option to run the build on qemu without VT as well. I'd say that it doesn't really matter that the process takes a bit longer. If a build needs to run quickly, it's probably executed locally rather than on a build-server.

I've tried to find the source code that takes care of the creation of the image, but as this was the first time looking at Go, I'm afraid I'm not proficient/comfortable enough to send you a pull request. So I hope someone else can have a look into this sometime.