Closed ulrikkold closed 9 years ago
I have to follow up on this issue: It seems there is more than one problem with using an older version of Ansible (I used 1.5.4 - now I upgraded to 1.7+ from the Ubuntu PPA):
The installed Ansible roles in /etc/default/ansible/roles had the names from the requirements_pre.yml file: nbz4live.php-fpm
and NOT the expected php-fpm
. This is also the case with the rest of the roles and it gave problems ansible tried to find the roles.
After renaming the global roles, I tried to run vagrant provision
again and ran into another issue:
==> default: Running provisioner: ansible...
PYTHONUNBUFFERED=1 ANSIBLE_FORCE_COLOR=true ANSIBLE_HOST_KEY_CHECKING=false ANSIBLE_SSH_ARGS='-o UserKnownHostsFile=/dev/null -o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s' ansible-playbook --private-key=/home/uhk/Projects/TYPO3.Homestead/.vagrant/machines/default/virtualbox/private_key --user=vagrant --connection=ssh --limit='all' --inventory-file=/home/uhk/Projects/TYPO3.Homestead/.vagrant/provisioners/ansible/inventory --extra-vars={"ansible_ssh_user":"vagrant","hostname":"local.typo3.org"} site.yml
ERROR: replace is not a legal parameter in an Ansible task or handler
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.
After that I decided to look for an upgraded version of Ansible. I installed 1.7+ from the Ubuntu PPA and decided to help others with the same issue: Could you update the docs to say something about minimum requirements for Ansible is (probably) v1.7?
The only occurrence of 'replace' seems to be in the zsh configuration. Replace was introduced in ansible 1.6. I'll see if I can change that to a lineinfile action.
Can you please test if https://github.com/Tuurlijk/TYPO3.Homestead/commit/bd2e8f31a78bf0a46e6447f2ef68244a99a928ec fixes things for you? Can you then use the default Ubuntu ansible?
I'll take a look at it and see if I can use Ansible from the Ubuntu repos - not today though.
Any news here? ;-)
I am testing right now with ansible v1.5.4. I will test the latest updates afterwards.
The above problem with zsh has apparently disappeared when using ansible 1.5.4.
I got another error - but I trust that's a problem with the remote server and not with the playbooks:
TASK: [phpcommon | Add PackageCloud repo key] ***** failed: [default] => {"failed": true, "item": ""} msg: Failed to validate the SSL certificate for packagecloud.io:443. Use validate_certs=no or make sure your managed systems have a valid CA certificate installed. Paths checked for this platform: /etc/ssl/certs, /etc/pki/ca-trust/extracted/pem, /etc/pki/tls/certs, /usr/share/ca-certificates/cacert.org, /etc/ansible
I guess you can close this issue now.
Packagecloud.io cert is valid until 2016. Is your date and time in your vagrant box set-up correctly?
You can disable zsh when adding the following snippet to one of the files in Configuration/
homestead:
update_cache: yes
cache_valid_time: 3600
upgrade_packages: yes
use_zsh: no
My version of ansible is 1.5.4 (on Ubuntu). It seems the use of a YAML-file to declare roles is not possible until 1.8+ (according to this thread anyway: https://github.com/osxc/starter/issues/4). You might want to make a note in the README about this.
The solution: Strip the requirements.yml down to only contain one module name on each line. Like this:
$> cat requirements.yml nbz4live.php-fpm jdauphant.nginx tersmitten.composer laggyluke.nodejs f500.memcached