Hello everyone,
We are thinking of certifying community.mysql which will result in its availability on Automation Hub.
What the certification will bring to the community:
- Some additional testing and manual checks that will ensure the collection will run on Ansible Automation Platform: even if most of users don’t run it there it’s addition testing which is always good, isn’t it?
- Red Hat allocates time of Ansible content team to ensure everything is well tested which will result in better coverage, additional checks, etc. Red Hat’s testing approach is understandably very thorough and good IMO.
- If there are critical bugs or security vulnerabilities, Red Hat will allocate resources to fix them ASAP
- The collection must be renamed to
ansible.mysqlor there must be a fork serving as downstream - IMPORTANT: the community maintainers will keep their permissions in the projects whether it’s renamed or if
community.mysqlstay as upstream. - So I personally don’t see any downsides here. A couple of examples of certified collections: vmware.vmware, ansible.windows, ansible.posix
I see two options here:
Option 1: Two collections exist: community.mysql (upstream), ansible.mysql (downstream)
- We fork
ansible.mysql(will be downstream) fromcommunity.mysql(will be upstream). - In
ansible.mysql,- We’ll put it clear in README and contributor docs that contributors / users should go to
community.mysqlto open issues/PRs. - We’ll backport stuff from
community.mysqland release periodically with some delay (we’ll develop
- We’ll put it clear in README and contributor docs that contributors / users should go to
- We certify and release
ansbile.mysqlon AH. - If maintenance upstream → downstream get burdensome, we’ll deprecate
community.mysqland move the development fully toansible.mysql(it’ll work same as in ansbile.windows, ansible.posix, so there’ll be no upstream-downstream).
Pros of this approach:
- No need to replace community.mysql with ansible.mysql in the Ansible community package immediately by adding all those redirects and deprecations
- ansible.mysql is more stable as it’ll be released with some delay
Cons:
- Potential maintenance burden (tracking 2 collections, backporting stuff)
- Potential split brain; potential merge conflicts later
Option 2: Rename community.mysql to ansible.mysql: it’s known process already done in collections many times)
- We fork ansible.mysql from community.mysql
- We put deprecations and redirects in community.mysql to refer users to run ansible.mysql instead. The work will continue in ansible.mysql. No changes to community.mysql since then. Users who run community.mysql will actually run ansible.mysql transperantly.
- Then, in 1 year or so (after two major ansible package releases), community.mysql will be removed from the Ansible community package and possibly archived. The work will continue in ansible.mysql.
What do anybody think? Would be great to hear opinions of our community mainteiners @laurent-indermuehle @betanummeric and @markuman