Warning message

There have been too many attempts to authenticate from your IP address. It is temporarily blocked.

Error message

You need to log in or create an account to access this page.

Great work so far, I'd really like to use aegir up for doing actual Aegir development because I already have a very similar system set up using Parallels, but it's a bit of a pain, and I can't automate it like I could with Vagrant.

The key to making this work would be to be able to use shared folders to run key bits of hostmaster from the host system, at least the hostmaster profile directory and provision's directory would be needed. This would be so that I could use my ssh keys/IDE on my host system to edit the files but the VM would be doing all the work, and I could simply throw it all away when I'm done.

So, this is a feature request to run some bits of Aegir, using shared folders, from code on the host.

Comments

ergonlogic’s picture

Assigned: Unassigned » ergonlogic

Thanks for the encouraging feedback, Steven!

I'd received another similar request to have platforms/ live on the host system, so that (non-Aegir development) Drupal development could have the same benefits (local SSH keys & IDE, etc.) It may make sense to mount all of /var/aegir locally, and kill both birds with one stone.

There were a couple challenges that surfaced when I looked into this a month or so ago. The first was the need for an 'aegir' user on the host system, so file ownership could be set up correctly. The second was that on *nix systems, VirtualBox shared folders suffer from significant performance problems, when compared to the native VM filesystem (http://vagrantup.com/docs/nfs.html#performance_benchmarks).

The solution would appear to be NFS, which essentially eliminates the performance gap, and also allows for mapping uids and gids between host and VM. I'm open to other suggestions, but I've been meaning to explore this solution anyway.

Note to self: this may also be an opportunity to explore http://drupal.org/project/drush-vagrant.

ergonlogic’s picture

I've managed to get NFS-mounted /var/aegir working in prototype form. This allows all of /var/aegir to be available in a project directory, under an 'aegir_root' folder. The contents are fully writable by, and in fact owned by, the host user. In the VM, they are owned (and writeable) by the aegir user.

This was particularly tricky, since one needs to have the same uid:gid for the 'aegir' user in the VM as for the user on the host. On most workstations, the uid of the user will be 1000, the first non-system user. However, this is the uid assigned when creating the 'vagrant' user during basebox creation with veewee. So, the solution involves a new base box where the 'vagrant' user is created with a different uid (1111). That way 1000 isn't taken already by the time we get around to creating 'aegir'.

We may run into problems where www-data needs access, but haven't tested that yet.

ergonlogic’s picture

Mounting /var/aegir locally has an interesting effect on the host machine's Drush if projects are built within ~/.drush/aegir-up/projects: Hosting Drush commands become available, as do those of other projects installed in Aegir. Not Provision commands, interestingly, as I suppose Drush can't see into /var/aegir/.drush.

Anyway this is not desired behaviour. So the project folder will have to live outside the aegir-up root.

ergonlogic’s picture

Version: 6.x-1.7-beta1 » 7.x-0.1-beta1
Status: Active » Fixed

This is available as part of the recent release as a Drush extension.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.