Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test tombstoning PR against ACD installation from #3 #7

Closed
geerlingguy opened this issue Apr 14, 2020 · 2 comments · Fixed by #9
Closed

Test tombstoning PR against ACD installation from #3 #7

geerlingguy opened this issue Apr 14, 2020 · 2 comments · Fixed by #9

Comments

@geerlingguy
Copy link
Owner

geerlingguy commented Apr 14, 2020

In #3 I got ACD installing (a very preliminary pre-build) and am using that to test the 2.9-era playbook (making sure modules and roles still work correctly).

However, ACD is currently failing because it needs this (ansible/ansible#67684) tombstoning/redirection PR in place to resolve the modules to the proper locations.

I'm not sure if that PR works or not, yet, but having a test playbook like this one should ensure there's some form of CI against it using an external playbook. I just need to figure out how to get that PR integrated with what I'm building for ACD...

Currently the ACD build fails with:

ERROR! couldn't resolve module/action 'docker_container'. This often indicates a misspelling, missing collection, or incorrect module path.

The error appears to be in '/opt/hostedtoolcache/Python/3.7.6/x64/lib/python3.7/site-packages/molecule/provisioner/ansible/playbooks/docker/destroy.yml': line 8, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

  tasks:
    - name: Destroy molecule instance(s)
      ^ here
@geerlingguy
Copy link
Owner Author

So my quick idea of:

  1. Install acd using method I'm currently using.
  2. pip3 show ansible and get the Location returned there.
  3. cd into the $Location/ansible.
  4. wget https://github.com/ansible/ansible/pull/67684.patch
  5. git apply -v

Does not work, because the patch paths are for ansible src, which has an extra lib dir in each file path, meaning I get errors:

...
Checking patch lib/ansible/plugins/loader.py...
error: lib/ansible/plugins/loader.py: No such file or directory

The above file would be, instead plugins/loader.py.

I could maybe go up two directories (so be inside the python3.6 directory) and do a string replace inside the patch file for lib/ to dist-packages, but that feels really hacky to me.

How does one manage patches to pip-installed packages? Or is there a better way to test ACD right now so I can test with that patch? Or could I just test ansible/ansible@devel with that patch applied (for now)?

geerlingguy added a commit that referenced this issue Apr 20, 2020
geerlingguy added a commit that referenced this issue Apr 20, 2020
geerlingguy added a commit that referenced this issue May 11, 2020
geerlingguy added a commit that referenced this issue May 11, 2020
geerlingguy added a commit that referenced this issue May 11, 2020
geerlingguy added a commit that referenced this issue May 11, 2020
geerlingguy added a commit that referenced this issue May 11, 2020
geerlingguy added a commit that referenced this issue May 11, 2020
geerlingguy added a commit that referenced this issue May 11, 2020
Issue #7: Attempt to patch ansible ACD installation with PR 67684.
@geerlingguy
Copy link
Owner Author

I asked @abadger if he could get the tombstoning PR incorporated into the ACD distro I was installing from https://toshio.fedorapeople.org/ansible/acd/, and after that, it seems like everything works just fine, woohoo!

@s-hertel also mentioned that this playbook was working fine after applying that PR locally.

So now the main blocker is #12, so moving efforts there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant