Closed justinlevi closed 8 years ago
Oh, I'm also working off the latest master commit as of this morning. https://github.com/geerlingguy/drupal-vm/commit/9ada7ab8c5e6731c7c8362a9e09ad65fc5142308
You are correct, that is the line causing trouble :) The fix should already be in upstream though. Try updating the role.
sudo ansible-galaxy install -r provisioning/requirements.yml --force
This was first fixed in https://github.com/geerlingguy/ansible-role-php/commit/29826297df63d5cce4673d71ab7084af96b38a62 and then more recently revamped to apply to all config files regardless of the daemon/webserver settings https://github.com/geerlingguy/ansible-role-php/commit/a1dd9901ec5e0a456849a2808ee63d8a5f5180f1.
@oxyc good deal. glad to see I was at least looking in the right place. Could you explain to me what is meant by The fix should already be in upstream though
I have the latest version of drupal-vm as of this morning. If the upstream has the fix, wouldn't doing a $vagrant up
and/or $vagrant reload --provision
use the fixed ansible role? Again, forgive my ignorance with this Ansible stuff. I'm still trying to wrap my head around how it all works.
also, where should I run that command? From a terminal ssh connection within the VM? Today I'm working on a Windows 7 box and running that command gives me:
λ vagrant ssh
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 4.2.0-27-generic x86_64)
* Documentation: https://help.ubuntu.com/
vagrant@vm:~$ sudo ansible-galaxy install -r provisioning/requirements.yml --force
[ERROR]: Unable to open provisioning/requirements.yml: [Errno 2] No such file or directory:
'provisioning/requirements.yml'
I realize I'm probably missing something obvious here but I'm not clear when this upstream fix would show up for me if it's not there with the latest git pull of the drupal-vm repo.
Thanks for your help understanding how this all works!
The roles do not get updated by any vagrant
commands unfortunately, you need to update them manually :/ If you're on windows I think you need to do it from the /vagrant
directory on the guest VM (basically from the root of the Drupal VM checkout where that requirements.yml file is accessable).
cd /vagrant
sudo ansible-galaxy install -r provisioning/requirements.yml --force
Unfortunately, I'm getting a missing command error when I try to run that on windows. Likely because ansible and ruby are not setup on my PATH variable.
I figured out thought that if I just delete my provisioning/roles folder then a $vagrant destroy && vagrant up
that did the trick.
I noticed that the roles folder doesn't seem to be created anymore. Is there a way to add a check in the VagrantFile to delete that if it exists so other people don't run into this issue?
:+1: great! Yes it seems that ansible-galaxy
doesn't have an update
command. If the role directory already exists it fails to download a new version, which is why we use the --force
flag. The provisioning script for windows doesn't use --force
however and that's why it worked for you after you deleted the directories and not before.
Hopefully ansible-galaxy will one day support a lockfile like composer. I'm guessing Drupal VM would start using --force
when that happens.
My solution to that was SSH into the VM and do the ansible-galaxy update from inside the VM on my Windows machine.
Yeah, if you don't have Ansible installed locally (if you're on Windows, this is most likely the case), then you have to vagrant ssh
in, then cd
to the /vagrant
directory and run the galaxy install command inside there. Fingers are still crossed for Galaxy to someday use an idempotent command for ensuring the latest versions of all the roles are present...
I couldn't get it to re-provision using my config.yml values using the ssh and galaxy setup. I had to manually delete the roles folder, and then vagrant reload --provision
and it worked.
We recently discovered that the config.yml PHP settings don't seem to be getting applied to the php.ini file loaded by apache at
/etc/php5/fpm/php.ini
but instead are getting applied to/etc/php5/apache2/php.ini
.Here are the values I expect to show up in my php.ini
Here's what I'm seeing at phpinfo()
Configuration File (php.ini) Path = /etc/php5/fpm/php.ini memory_limit = 128M
Here's my complete config.yml
I tried to dig in a bit further and maybe it has something to do with this file???
drupal-vm\provisioning\roles\geerlingguy.php\vars\Debian.yml:
I could be totally off though as I don't have any experience with the magic that's going on here :)