Ansible.netcommon broken with Ansible Core 2.19.0

The concerned PRs are merged, and we are planning to push a release by Thursday (Aug 14)
While we are planning the release, I would like to thank @mattclay @nitzmahone @Ruchi_Pakhle @gundalow @komal for all the help and support in getting things fixed and running.
Regards

5 Likes

ansible.netcommon v8.1.0 is released :tada:
The underlying network platform collections would have a iteration of major releases to update the known dependency (planned next week)

Regards.

4 Likes

@KB-perByte I’m not quite sure what this means. Does ansible.netcommon v8.1.0 fix the issues with ansible-core 2.19.0, or will the collection be compatible with ansible-core 2.19.1+ only?

I’m sorry if you’ve already answered this somewhere else. I wasn’t able to find this :frowning:

BTW the meta/runtime.yml states requires_ansible: ">=2.16.0". Out of curiosity: If the collection will be compatible with 2.19.1 but not 2.19.0, would there be a way to define this? Something like requires_ansible: ">=2.16.0;!2.19.0" or similar?

@KB-perByte why are you bumping major versions for the network collections? I checked prep release 11.0.0 by KB-perByte Ā· Pull Request #1225 Ā· ansible-collections/cisco.ios Ā· GitHub as an example, and I see zero reason to make a major version bump. The only changes seem to be a bugfix and a dependency bump, which can both be done in a minor release. Same for prep release 12.0.0 by KB-perByte Ā· Pull Request #559 Ā· ansible-collections/cisco.iosxr Ā· GitHub, there’s no reason to make this a new major release.

Please reconsider and make minor releases!

Is is really acceptable to do a dependency bump to anothor major version in a new minor version? I’m always unsure about this and try to avoid it.

Anyway, I’m not even sure if this dependency bump is really necessary. I’ve commented in the PRs.

I think it’s OK (that doesn’t say anything about whether it’s a good idea), since the package manager (ansible-galaxy) has a resolver that takes care of dependencies.

Whether it’s a good idea: I agree with you that it’s not necessary, and I personally wouldn’t do it either. Bumping the minimum required dependency version without this being really required only makes it harder for many users who cannot update to that dependency for whatever reason.

Also ansible-galaxy is still missing some important features, like making use of requires_ansible (that was originally planned for ansible-core 2.19, but got moved to later), which can make this bump more problematic for users if ansible.netcommon drops support for ansible-core versions with that bump.

@felixfontein @mariolenz The concern is real. But we need to bump the dependency to make sure that the platform collection always resolves aka pulls in the correct version of netcommon, to support all versions of ansible-core that we are testing with that is 2.15 - 2.19 and devel, milestone.

Now,

  • Core ≤ 2.18

    • :white_check_mark: netcommon works fine up to v8.0.1
    • :white_check_mark: Platform collections (e.g., cisco.ios, cisco.nxos, arista.eos) are not impacted
  • Core = 2.19

    • :cross_mark: netcommon ≤ v8.0.1 → fails
    • :cross_mark: Platform collections depending on this netcommon also fail
  • Core = 2.19 + netcommon v8.1.0 (released)

    • :white_check_mark: netcommon itself works
    • :cross_mark: Platform collections still fail if someone is using things with/ later core 2.19.0, because they depend on the older netcommon (≤8.0.1)
  • Resolution

    • A major release is needed for the platform collections (cisco.ios, cisco.nxos, arista.eos, etc.)
    • They must bump their dependency to netcommon v8.1.0 minimum
    • After this coordinated release, everything will be consistent and fine.

We recommend doing major releases if we are dealing with breaking changes. Now, most of our customers/ community hooks into the latest releases of the collections anyways to address bug fixes and optimisation that goes in.

Regards

1 Like

I still don’t get why a major release is needed for this. A minor release would be fine as well?

We just released Ansible 12.0.0b4 which includes the new ansible.netcommon releases as well as the new network collection releases. Would be great if everyone who has appropriate hardware can help taking a look whether the issues have been resolved!

1 Like

Thank you!
Someone from my team can help confirm that @felixfontein
CC @rohitthakur2590 @chetna

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.