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

What version of ansible-base should ansible depend on? #94

Closed
abadger opened this issue Jun 12, 2020 · 5 comments
Closed

What version of ansible-base should ansible depend on? #94

abadger opened this issue Jun 12, 2020 · 5 comments
Labels
Policy ansible project policy decision

Comments

@abadger
Copy link
Contributor

abadger commented Jun 12, 2020

The current ansible package will depend on the latest version of ansible-base at the time the build file is built (around beta release of the next version of ansible) or any newer compatible version.

Is that what we want or do we want to always use X.Y.0 or newer?

@abadger abadger added the Policy ansible project policy decision label Jun 12, 2020
@webknjaz
Copy link
Member

Could you write down a few examples? Are you suggesting >=X.Y.Z vs. >=X.Y,<X.Y+1?

Also, s/ansible/ansible-base/, right?

@abadger
Copy link
Contributor Author

abadger commented Jun 12, 2020

Yes, the second ansible should have been ansible-base. I've corrected the description now.

Example of what we do now:

  • ansible-base-2.10.0-rc2 is the latest version on pypi

  • I build ansible-2.10.0-alpha1.

    • The build finds the ansible-base-2.10.0-rc2 release and creates the ansible package with this dependency:
    • ansible-base>=2.10.0-rc2,<2.11
  • A month later, ansible-base-2.10.1 is the latest 2.10.x version on pypi. There's also an ansible-base-2.11.0-rc1.

  • I build ansible-2.10.4.

    • The build sees that it needs a version compatible with ansible-base-2.10.x.
    • The build finds ansible-base-2.10.1 and creates this dependency:
      • ansible-base>=2.10.1,<2.11

This should mean that whenever you upgrade the ansible package, the ansible-base package may be updated as well.

Example of the alternative:

  • ansible-base-2.10.0-rc2 is the latest version on pypi

  • I build ansible-2.10.0-alpha1.

    • The build finds the ansible-base-2.10.0-rc2 release and creates the ansible package with this dependency:
    • ansible-base>2.9,!=2.9,<2.11
  • A month later, ansible-base-2.10.1 is the latest 2.10.x version on pypi. There's also an ansible-base-2.11.0-rc1.

  • I build ansible-2.10.4.

    • The build sees that it needs a version compatible with ansible-base-2.10.x.
    • The build finds ansible-base-2.10.1 and creates the same dependency as the prior package:
      • ansible-base>2.9,!=2.9,<2.11

This scenario means that you can continue to run an older, compatible, version of ansible-base (anything i the 2.10.x series) with newer versions of this ansible release series.

@webknjaz
Copy link
Member

For pushing people to update ansible-base, the first scenario sounds better. But OTOH testing against pre-release combos may suffer.

@felixfontein
Copy link
Collaborator

I think non-pre-releases of ansible should require at least the latest compatible ansible-base package available via PyPI which isn't a prerelease - i.e. what we are currently doing.

If you want to try ansible with another ansible-base, you can always install that one manually and install ansible with --no-deps. (I' assuming the only dependency of ansible is ansible-base.)

Prerelease versions of ansible could have less strict requirements though IMO.

@abadger
Copy link
Contributor Author

abadger commented Oct 13, 2020

The answer to this was: ansible 2.10.x should depend on ansible-base >= 2.10.y with latest y that was around when ansible 2.10.x is built:

ansible/community#539 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Policy ansible project policy decision
Projects
None yet
Development

No branches or pull requests

3 participants