Skip to content
This repository has been archived by the owner on Jul 30, 2020. It is now read-only.

POC for Ansible Role Loader #106

Closed
chouseknecht opened this issue Jun 29, 2018 · 7 comments
Closed

POC for Ansible Role Loader #106

chouseknecht opened this issue Jun 29, 2018 · 7 comments

Comments

@chouseknecht
Copy link
Contributor

chouseknecht commented Jun 29, 2018

Work with Matt Davis to get a POC underway to load Ansible content installed by Mazer.

  • Start with roles
  • Decide if current Mazer namespace approach works
  • Make a first pass at finding roles
  • Decide how to reference roles in playbooks. Can we still support the old model?
  • Working branch in Ansible core
  • Any POC worked reviewed by Matt Davis and maybe Toshio
@alikins
Copy link
Contributor

alikins commented Jul 6, 2018

A wip POC that works with current unmodified ansible: https://gist.github.com/alikins/d03ec3bea757e8f18f8d7667ae0c8b82

Another example of that POC, but also using ROLES_PATH precedence as a way to support "short role names": https://gist.github.com/alikins/279f35a26342919899453e6660b859d2

This is based on ansible's ability to reference roles by relative urls.

@tima
Copy link
Contributor

tima commented Jul 6, 2018

cc @nitzmahone @thaumos

@chouseknecht chouseknecht changed the title Start POC for Ansible Role Loader POC for Ansible Role Loader Jul 25, 2018
@chouseknecht
Copy link
Contributor Author

chouseknecht commented Jul 25, 2018

@alikins

From the discussion last week with @thaumos and @nitzmahone, we need to get the POC to a state where the community can try it out and provide feedback. Here's what we agreed to do:

  • Add the code to a feature branch in ansible/ansible
  • Add documentation to the Mazer section of Galaxy docs. Specifically, the Using Content in Playbooks should be updated
  • We should also add a note to the Installing, indicating that roles installed via Mazer are best consumed using the Ansible feature branch, and how to install the feature branch.
  • Update the project README to reflect the above 2 points as well.

To point 3 above (the one about installation), if it makes sense, could we make Ansible a dependency of Mazer, and specifically reference the feature branch in requirements.txt?

@alikins
Copy link
Contributor

alikins commented Jul 25, 2018

@chouseknecht "To point 3 above (the one about installation), if it makes sense, could we make Ansible a dependency of Mazer, and specifically reference the feature branch in requirements.txt?"

Not sure it makes sense to me (mazer doesn't require ansible to be installed to run) but I'll poke at it a bit and see what happens. Main concern would be if that requirement would cause a 'pip install mazer' to potentially clobber an existing pip install of ansible (if virtualenv or similar tools aren't being used).

@alikins
Copy link
Contributor

alikins commented Jul 25, 2018

https://ironboundsoftware.com/blog/2016/04/18/working-with-pip-branch/ seems to suggest the git branch dep is workable, but then it also mentions:

The first step is to uninstall Project A so that we don’t risk any bizarre cross-talk. This is done by invoking:

pip uninstall project_a

Also seems to generally assume virtualenv is in use, which may not be true. I'll test it out and see what happens.

@alikins
Copy link
Contributor

alikins commented Jul 25, 2018

Add the code to a feature branch in ansible/ansible

https://github.com/ansible/ansible/tree/mazer_role_loader

@alikins
Copy link
Contributor

alikins commented Jul 26, 2018

See ansible/galaxy#972 for galaxy.ansible.com/docs changes

chouseknecht pushed a commit to chouseknecht/galaxy that referenced this issue Jul 28, 2018
chouseknecht pushed a commit to ansible/galaxy that referenced this issue Jul 28, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants