Avoid any security issues related to passing an arbitrary binary path to a script running under sudo.
With INTEGER, Cumulus fails to handle files larger than 2GB when using PostgreSQL. Problem reported and patch provided by Feng (email@example.com). Closes #108.
This allows to customize virtual machines started without propagation, for instance file:/// images. Closes #107.
When this feature is enabled, a copy-on-write volume is created to store modifications to the virtual machine image. If the image cache is also enabled, images are directly hard linked from the image cache into the virtual machine secureimages directory. These images stay unmodified because all writes are stored in the copy-on-write file. Since this feature is experimental and needs careful management of disk space, it is disabled by default. Closes #106.
…und cruft so this will only work if it is run in the right order
Detect qcow2 images by reading the image file header. It contains the "QFI" string and the qcow version number. The libvirt template is configured to use the qcow2 driver when a qcow2 image is detected. The root partition is altered by attaching it to a host device using qemu-nbd. Since qemu-nbd can be named differently depending on the Linux distribution, it is configurable by mount.conf. Closes #105.
The destroy method in WorkspaceHomeImpl was taking a per-instance lock for the whole duration of an instance termination. This blocked the find method (called by --status queries) which tries to take the same lock. This commit changes the locking code of destroy so that it is released while making the lengthy call to the workspace control agent. We also add an additional instance-specific lock for destroy. This way, a second call to destroy will block at the beginning. When this second call eventually proceeds, it will not find the instance because it has been removed (which is the current behavior). It also prevents the remove handler to be called concurrently with a destroy from another workspace action (for instance at the end of a start). Closes #102.
Administrators can revert to the old behavior by setting CREATE_SSH_DIR to false. Closes #96.
After being daemonized for the propagate and unpropagate operations, workspace-control would write duplicate log entries. This happens because we don't remove the old log handler before adding a new one. We now remove the log handler when we are closing the log file before forking. Closes #103.