Am having some issues getting back to a working state with the dev VM for a project that was built last year with Sage/Trellis/Bedrock.
In summary, since then I upgraded my laptop and pulled the files from the old machine over to the new one. When trying to run up the VM for this project to update plugins/wordpress, I found I couldn’t access the site. The site was originally set up with the domain using a .dev extension locally… so I’ve walked through the instructions on changing to a .test. i.e. these ones: Updating Development from .dev to .test TLD
When running Vagrant provision this happened:
Michaels-MBP-13:trellis michaelmcmahon$ vagrant provision
**==> default: Running provisioner: ansible...**
Vagrant gathered an unknown Ansible version:
and falls back on the compatibility mode '1.8'.
Alternatively, the compatibility mode can be specified in your Vagrantfile:
https://www.vagrantup.com/docs/provisioning/ansible_common.html#compatibility_mode
default: Running ansible-galaxy...
Traceback (most recent call last):
File "/usr/local/bin/ansible-galaxy", line 43, in <module>
import ansible.constants as C
ImportError: No module named ansible.constants
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.
Subsequently I have spent some time trying to figure out what the issue is. I’ve checked the version of Ansible… it’s 2.6.4
Have looked through the error logs on the VM and don’t see any errors.
Current status is that Vagrant Up no longer works. This is what I see…
Michaels-MBP-13:majacmedical.com.au michaelmcmahon$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
**==> default: Box 'base' could not be found. Attempting to find and install...**
default: Box Provider: virtualbox
default: Box Version: >= 0
**==> default: Box file was not detected as metadata. Adding it directly...**
**==> default: Adding box 'base' (v0) for provider: virtualbox**
default: Downloading: base
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.
Couldn't open file /Users/michaelmcmahon/Sites/majacmedical.com.au/base
Not as yet. Am now searching for documentation on how to do that…
I guess I would want to do this with the same version of Trellis/Sage/Bedrock that I’m using on this theme right? Otherwise the issue could be in the difference between the old and current versions?
When I google errors such as Adding box 'base' (v0) for provider: virtualbox** and Couldn't open file /**/base, I see suggestions that you have created your own Vagrantfile instead of just using the one included with Trellis. This could happen if you vagrant init somewhere, or perhaps if you vagrant up from a directory other than your Trellis project.
Very helpful. Looks like I needed Ansible 2.5.3 so I’ve rolled back to that.
Am running Vagrant Up right now and it looks like it’s setting up the dev machine (I guess that’s being done from scratch because of the change to the .test TLD)…
I don’t think the VagrantFile had been changed. So fingers crossed this will get things rolling again.
Okay, turns out the Vagrant Up was running in my dummy project.
Back to the main project, still getting this error about “No module named six”. From reading in this forum, this seems to be related to Ansible version. Do you think I need to go back below 2.5.3?
Michaels-MBP-13:trellis michaelmcmahon$ vagrant provision
**==> default: Running provisioner: ansible...**
Vagrant has automatically selected the compatibility mode '2.0'
according to the Ansible version installed (2.5.3).
Alternatively, the compatibility mode can be specified in your Vagrantfile:
https://www.vagrantup.com/docs/provisioning/ansible_common.html#compatibility_mode
default: Running ansible-galaxy...
- changing role composer from 1.5.0 to 1.5.0
- downloading role 'composer', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-composer/archive/1.5.0.tar.gz
- extracting composer to /Users/michaelmcmahon/Sites/majacmedical.com.au/trellis/vendor/roles/composer
- composer (1.5.0) was installed successfully
- changing role ntp from 1.3.0 to 1.3.0
- downloading role 'ntp', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-ntp/archive/1.3.0.tar.gz
- extracting ntp to /Users/michaelmcmahon/Sites/majacmedical.com.au/trellis/vendor/roles/ntp
- ntp (1.3.0) was installed successfully
- changing role logrotate from e7a498d to e7a498d
- downloading role 'logrotate', owned by nickhammond
- downloading role from https://github.com/nickhammond/ansible-logrotate/archive/e7a498d.tar.gz
- extracting logrotate to /Users/michaelmcmahon/Sites/majacmedical.com.au/trellis/vendor/roles/logrotate
- logrotate (e7a498d) was installed successfully
- changing role swapfile from 0.4 to 0.4
- downloading role 'swapfile', owned by kamaln7
- downloading role from https://github.com/kamaln7/ansible-swapfile/archive/0.4.tar.gz
- extracting swapfile to /Users/michaelmcmahon/Sites/majacmedical.com.au/trellis/vendor/roles/swapfile
- swapfile (0.4) was installed successfully
- changing role geerlingguy.daemonize from 1.1.1 to 1.1.1
- downloading role 'daemonize', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-daemonize/archive/1.1.1.tar.gz
- extracting geerlingguy.daemonize to /Users/michaelmcmahon/Sites/majacmedical.com.au/trellis/vendor/roles/geerlingguy.daemonize
- geerlingguy.daemonize (1.1.1) was installed successfully
- changing role mailhog from 2.1.0 to 2.1.0
- downloading role 'mailhog', owned by geerlingguy
- downloading role from https://github.com/geerlingguy/ansible-role-mailhog/archive/2.1.0.tar.gz
- extracting mailhog to /Users/michaelmcmahon/Sites/majacmedical.com.au/trellis/vendor/roles/mailhog
- mailhog (2.1.0) was installed successfully
**[WARNING]: - dependency geerlingguy.daemonize from role mailhog differs from**
**already installed version (1.1.1), skipping**
default: Running ansible-playbook...
ERROR! Unexpected Exception, this is probably a bug: No module named six
to see the full traceback, use -vvv
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.
We do a lot of Ansible and Python troubleshooting over here even though it’s not really the appropriate place for it. Please look at existing threads on this forum along with other places, such as Stack Overflow, to try and figure out how to fix your environment issues.