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

Container image Tag Documentation #990

Closed
ryanmerolle opened this issue Feb 8, 2022 · 7 comments
Closed

Container image Tag Documentation #990

ryanmerolle opened this issue Feb 8, 2022 · 7 comments

Comments

@ryanmerolle
Copy link

It seems like the logic behind container image tags is not well documented.

For example, I am not sure why:

  • latest tag is pointing to stable-2.11-latest.
  • There is no tag stable-2.12-latest
  • There is no tags showing the exact underlying ansible version the runner is leveraging (ie full semantic tagging like ansible 2.11.1).

I am assuming there is logic for all of the above, and a whole process for promoting the latest tag and promoting an image to stable-<ansible_version>-latest, but its just not all clear to me.

Thanks for the wonderful work!

@github-actions github-actions bot added the needs_triage New item that needs to be triaged label Feb 8, 2022
@Shrews
Copy link
Contributor

Shrews commented Feb 8, 2022

Unfortunately, the image publishing jobs have been neglected for a while (the person in charge of them has since moved on to other things), so they were in a pretty sorry state.

The tl;dr of it is that it looks to me as if we have several image publishing jobs across multiple branches (the devel branch and two release branches) creating much confusion as the image tagging scheme seemed to change across release branches. There should only be the following image tags, if things were working correctly:

  • stable-2.9-devel : This is the ansible 2.9 stable branch, development branch of runner
  • stable-2.10-devel : This is the ansible-base 2.10 stable branch, development branch of runner
  • stable-2.11-devel : This is the ansible-core 2.11 stable branch, development branch of runner
  • stable-2.12-devel : This is the ansible-core 2.12 stable branch, development branch of runner
  • latest: This should be identical to stable-2.12-devel

The other tags are artifacts of the competing publishing jobs from the release_2.1 and release_2.0 branches. I have changes up to disable those.

Note that NONE of these images are using a stable branch of ansible-runner, which I find strange and very bad form since we could easily break these images with new features going into runner. I'm not sure why this is setup this way, or how to change it without breaking the world.

[Edited for proper ansible release names.]

@Shrews
Copy link
Contributor

Shrews commented Feb 8, 2022

For reference, see PR #991 and PR #992 which should disable the image publishing from the two release branches.

@goneri
Copy link

goneri commented Feb 8, 2022

In our case (Content team), our entry point is: https://github.com/ansible/network-ee and this is how we build our images: https://github.com/ansible/ansible-zuul-jobs/blob/master/playbooks/ansible-ee/pre.yaml#L19-L41

@Shrews
Copy link
Contributor

Shrews commented Feb 8, 2022

Another tag to be expected that I missed:

  • devel : This is ansible-core development branch, development branch of runner

@Shrews
Copy link
Contributor

Shrews commented Feb 14, 2022

After mulling this over (reviewing history, discussion with others, etc), the two PRs mentioned above (#991 and #992) and also PR #996 will make the following images available, and makes the most sense out of the current situation with the images, IMO:

Container images based on Runner devel branch:

  • stable-2.9-devel : This is the ansible 2.9 stable branch, devel branch of runner
  • stable-2.10-devel : This is the ansible-base 2.10 stable branch, devel branch of runner
  • stable-2.11-devel : This is the ansible-core 2.11 stable branch,devel branch of runner
  • stable-2.12-devel : This is the ansible-core 2.12 stable branch, devel branch of runner
  • devel: This is ansible-core development branch, devel branch of runner

Container images based on Runner release_2.1 branch (latest released version):

  • stable-2.9-latest : This is the ansible 2.9 stable branch, release_2.1 branch of runner
  • stable-2.10-latest : This is the ansible-base 2.10 stable branch, release_2.1 branch of runner
  • stable-2.11-latest : This is the ansible-core 2.11 stable branch, release_2.1 branch of runner
  • stable-2.12-latest : This is the ansible-core 2.12 stable branch, release_2.1 branch of runner
  • latest: This is identical to stable-2.12-latest

Note that all images are still being based on HEAD of the referenced Ansible and Runner branches. We currently have no mechanism in place to make images based on release versions of either branch. The three PRs referenced above do not attempt to fix that, only bring order to the current chaos.

@ryanmerolle
Copy link
Author

ryanmerolle commented Feb 14, 2022

That makes sense.. I see the tags/changes in quay now also. Thanks for looking at this!

@Shrews
Copy link
Contributor

Shrews commented Feb 14, 2022

Referenced PRs are merged. Closing this.

@Shrews Shrews closed this as completed Feb 14, 2022
@sivel sivel removed the needs_triage New item that needs to be triaged label May 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants