-
Notifications
You must be signed in to change notification settings - Fork 924
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
Proposed changes to job-destinations and ansible-galaxy admin tutorials to prevent ansible-playbook errors. #4308
Proposed changes to job-destinations and ansible-galaxy admin tutorials to prevent ansible-playbook errors. #4308
Conversation
Following the job-destinations and ansible-galaxy instructions as they currently are, will both result in failed ansible playbook runs. See the details about the problems and my proposed fixed below. If my proposed fixes are not ideal, then feel free to reject them and just use this pull-request as informational messages about current problems in these tutorials: * ansible-galaxy tutorial: Following this tutorial will result in ansible playbook errors at line 926 where the variable "miniconda_version: 4.12.0" is defined. This tutorial used to work without errors but recently the miniconda role fails when miniconda_version 4.12 is defined. The cause of this is because the miniconda role by default attempts to install the latest conda version and then downgrades to the version defined in "miniconda_version". The latest miniconda versions can't be downgraded to 4.12 because a 'UnsatisfiableError' error will occur because of python version constraints. (the latest conda version being installed by the role uses python 3.11 which causes the version constraint error.) One workaround for this problem is to define extra variables, as can be seen in the diff. Two other possible solutions are to have the playbook install the latest conda version or to modify the code of the miniconda_role. * job-destinations tutorial: In this tutorial, the student is instructed to run the ansible playbook after having added the usegalaxy_eu.tpv_auto_lint role. However running this playbook at this point will also result in ansible errors. This happens because TPV itself has not yet been installed. Skipping the playbook run at this point and only running it after the "Configuring TPV" section proved to be a workaround for me. As mentioned in the tutorial, adding TPV as a runner will cause Galaxy to automatically install TPV. The tpv_auto_lint role will only work at this point because it requires TPV to be installed. My proposed fix would be to remove the instruction to run the ansible-playbook at this point and run it after the "Configuring TPV" section.
Hi @Edmontosaurus, I'm sorry we didn't get around to reviewing this earlier (it came in during GCC month, just before I went into vacation.) Welcome to the GTN! Thank you for the very detailed bug report @Edmontosaurus ! Would you please add your username name to the As of #4370 we've chosen to bump to a newer conda version which should resolve part of this issue, I've merged in a commit to fix the conflict, but once you record your contributions I'll merge this! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change for the TPV tutorial looks great. The tutorial is broken without it. Very keen to merge. Thank you @Edmontosaurus !
since @Edmontosaurus hasn't responded here or in slack we can just merge. |
Hi! Thanks for merging. I've been meaning to respond, but only saw I got some responses to this recently and have been very busy. Apologies for my lack of response :) |
@Edmontosaurus do you want to provide some contributor information? and we will add you to the contributors of this tutorial. You can provide any of the following fields, 'joined' of course is set automatically
|
Yes, no problem. This would be:
Would you like me to create an additional pull-request for this? Or can you add this to the CONTRIBUTORS.yaml file yourself? |
I'll take care of it, no worries. |
#4477 PR is here :) |
Cool. Thanks :) |
Following the job-destinations and ansible-galaxy instructions as they currently are, will both result in failed ansible playbook runs. See the details about the problems and my proposed fixed below. If my proposed fixes are not ideal, then feel free to reject them and just use this pull-request as informational messages about current problems in these tutorials:
ansible-galaxy tutorial: Following this tutorial will result in ansible playbook errors at line 926 where the variable "miniconda_version: 4.12.0" is defined. This tutorial used to work without errors but recently the miniconda role fails when miniconda_version 4.12 is defined. The cause of this is because the miniconda role by default attempts to install the latest conda version and then downgrades to the version defined in "miniconda_version". The latest miniconda versions can't be downgraded to 4.12 because a 'UnsatisfiableError' error will occur because of python version constraints. (the latest conda version being installed by the role uses python 3.11 which causes the version constraint error.) One workaround for this problem is to define extra variables, as can be seen in the diff. Two other possible solutions are to have the playbook install the latest conda version or to modify the code of the miniconda_role.
job-destinations tutorial: In this tutorial, the student is instructed to run the ansible playbook after having added the usegalaxy_eu.tpv_auto_lint role. However running this playbook at this point will also result in ansible errors. This happens because TPV itself has not yet been installed. Skipping the playbook run at this point and only running it after the "Configuring TPV" section proved to be a workaround for me. As mentioned in the tutorial, adding TPV as a runner will cause Galaxy to automatically install TPV. The tpv_auto_lint role will only work at this point because it requires TPV to be installed. My proposed fix would be to remove the instruction to run the ansible-playbook at this point and run it after the "Configuring TPV" section.
Thank you for contributing to the GTN! 💛
Please check that:
Once these are done, you're ready to go!
Consider sustainable computing with Draft Mode 💚
Is your pull request finished? 100% ready to be merged? Or do you want some time to work on it first (which we encourage! It's great to have visibility)
If not, then please consider creating this pull request as a draft.
Regular pull requests will trigger automated test runs when they are created
and every time you update them.
As a small contribution to sustainable computing, we skip the most energy intensive of these tests for pull requests marked as drafts. Once your pull request is ready to go, then you can click a button saying "Ready for Review" and the tests will be run!