ansible-galaxy fails to install roles the second time

35 views
Skip to first unread message

Riain Condon

unread,
Jan 13, 2021, 6:40:54 AM1/13/21
to Ansible Project
Hi,

I'm using Ansible Galaxy v2.9.15 and attempting to install roles. This is all run as part of a Jenkins pipeline so ansible-galaxy is used across several jobs all installing the same central roles when they're run. 

Here's essentially what's happening:

+ ansible-galaxy -vvv install --force git+https://stash/ansible.digital.roles.git,develop ansible-galaxy 2.9.15

config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/jenkins-slave/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible-galaxy
python version = 2.7.5 (default, Aug 13 2020, 02:51:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Using /etc/ansible/ansible.cfg as config file
Opened /home/jenkins-slave/.ansible/galaxy_token

Processing role ansible.digital.roles
- changing role ansible.digital.roles from develop to develop

archiving [u'/usr/bin/git', 'archive', u'--prefix=ansible.digital.roles/', u'--output=/home/jenkins-slave/.ansible/tmp/ansible-local-5372Tp6n8A/tmpySnNvS.tar', u'develop']
- extracting ansible.digital.roles to /home/jenkins-slave/.ansible/roles/ansible.digital.roles

[WARNING]: - ansible.digital.roles was NOT installed successfully: /home /jenkins-slave/.ansible/roles/ansible.digital.roles doesn't appear to contain a role. please remove this directory manually if you really want to put the role here. ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list.

So, this error occurs and if I then re-run this after deleting the ansible.digital.roles directory manually, it works fine. However, re-running again after it succeeds ends up with the above error again.

Does anyone know a solution/work around? Is using --ignore-errors a safe way to workaround this or could it end up masking other errors down the line?

Thanks,
Riain

Stefan Hornburg (Racke)

unread,
Jan 13, 2021, 6:51:17 AM1/13/21
to ansible...@googlegroups.com
Hello Riain,

why don't you remove the target directory before running the ansible-galaxy install?

With using --force it downloads and overwrites the files in the target directory anyway.

Regards
Racke

>
> --
> You received this message because you are subscribed to the Google Groups "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
> ansible-proje...@googlegroups.com <mailto:ansible-proje...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/9c86a3ea-6166-4836-a988-71939e1c25acn%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/9c86a3ea-6166-4836-a988-71939e1c25acn%40googlegroups.com?utm_medium=email&utm_source=footer>.


--
Ecommerce and Linux consulting + Perl and web application programming.
Debian and Sympa administration. Provisioning with Ansible.

OpenPGP_signature

Riain Condon

unread,
Jan 13, 2021, 7:04:03 AM1/13/21
to Ansible Project
Hey Racke,

Thanks for the quick reply! That's a great and simple idea, thanks! I suppose as we are overwriting it anyway it probably would have the same effect on other jobs running.

That being said, is there a way to set the role installation directory on the fly? It might make more sense to install it to the job's directory and clean that each time, rather than a central directory, if that makes sense.

Thanks again,
Riain

Stefan Hornburg (Racke)

unread,
Jan 13, 2021, 7:10:08 AM1/13/21
to ansible...@googlegroups.com
On 1/13/21 1:04 PM, Riain Condon wrote:
> Hey Racke,
>
> Thanks for the quick reply! That's a great and simple idea, thanks! I suppose as we are overwriting it anyway it
> probably would have the same effect on other jobs running.
>
> That being said, is there a way to set the role installation directory on the fly? It might make more sense to install
> it to the job's directory and clean that each time, rather than a central directory, if that makes sense.
>
> Thanks again,
> Riain

Hello Riain,

yes it makes sense to install it in the job directory. You can tell Ansible where to look for roles, so that should be
no problem.

Also if you retrieve the role from a git repository, it probably behaves in the same way when you using git to install
the role.

Regards
Racke
> <https://groups.google.com/d/msgid/ansible-project/9c86a3ea-6166-4836-a988-71939e1c25acn%40googlegroups.com?utm_medium=email&utm_source=footer
> <https://groups.google.com/d/msgid/ansible-project/9c86a3ea-6166-4836-a988-71939e1c25acn%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
>
>
> --
> Ecommerce and Linux consulting + Perl and web application programming.
> Debian and Sympa administration. Provisioning with Ansible.
>
> --
> You received this message because you are subscribed to the Google Groups "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
> ansible-proje...@googlegroups.com <mailto:ansible-proje...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/8f3af4dd-a1dc-4439-9fff-d415906826b7n%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/8f3af4dd-a1dc-4439-9fff-d415906826b7n%40googlegroups.com?utm_medium=email&utm_source=footer>.
OpenPGP_signature

Riain Condon

unread,
Jan 13, 2021, 7:34:37 AM1/13/21
to Ansible Project
Great :D thanks a mill, Racke. Just did this and works perfect.

Thanks again,
Riain

Reply all
Reply to author
Forward
0 new messages