antsibull
antsibull copied to clipboard
Remove the examples don't have FQCN from the Ansible-maintained collections
I believe this is boilerplate text added via the docs pipeline: These examples assume the collections keyword is defined in playbook and do not use the fully qualified collection name.
The Ansible content team has decided to update all their examples to use FQCN before their 1.0.0 release. So we'll need a way to NOT put that boilerplate in the following collections:
https://github.com/ansible-collections/amazon.aws https://github.com/ansible-collections/ansible.netcommon https://github.com/ansible-collections/ansible.posix https://github.com/ansible-collections/ansible.windows https://github.com/ansible-collections/arista.eos https://github.com/ansible-collections/cisco.asa https://github.com/ansible-collections/cisco.ios https://github.com/ansible-collections/cisco.iosxr https://github.com/ansible-collections/cisco.nxos https://github.com/ansible-collections/community.aws https://github.com/ansible-collections/kubernetes https://github.com/ansible-collections/community.network https://github.com/ansible-collections/vmware https://github.com/ansible-collections/vmware_rest https://github.com/ansible-collections/frr.frr https://github.com/ansible-collections/ibm.qradar https://github.com/ansible-collections/junipernetworks.junos https://github.com/ansible-collections/openvswitch.openvswitch https://github.com/ansible-collections/splunk.es https://github.com/ansible-collections/symantec.epm https://github.com/ansible-collections/vyos.vyos
ON HOLD - Ansible team is evaluating that list above to see if all will be done in time.
Just an FYI the ansible.windows has updated its examples to the FQCN version with https://github.com/ansible-collections/ansible.windows/commit/947da18c67b814f3feac71b92db1920a020822da.
- Do we think this is auto-detectable or does it need to be manually selectable?
- If manually selected, does it make more sense to be a per-collection setting or a per-plugin setting?
Which boiler plate is being referred to?
https://toshio.fedorapeople.org/ansible/docsite/collections/ansible/netcommon/net_linkagg_module.html#examples
https://toshio.fedorapeople.org/ansible/docsite/collections/ansible/netcommon/net_linkagg_module.html#examples
@samccann Thanks. So this is the EXAMPLE block in every module, I don't believe we could update this via docs build. We'd need to update every module like https://github.com/ansible-collections/ansible.windows/commit/947da18c67b814f3feac71b92db1920a020822da
See also https://github.com/ansible-collections/overview/issues/40 which has some other details, as well as a link to a script which can help doing the bulk Short -> FQCN update.
@gundalow the issue is some teams have already updated to use FQCN on their collections. So we can't have this boilerplate list on all collections.
@abadger I don't know of a way to detect this programmatically, so I was thinking we'd need a manual list of collections to apply the boilerplate text to. The Collection owners I work with are making this change per collection (either the entire collection uses FQCN or none do). I sure hope teams aren't making the change per plugin but I don't know for sure.
When we're ready for this, I think we can implement it by adding a file to the ansible-build-data repo that lists which collections do and do not need to have the boilerplate.
Alternatives:
- Same file but have it per-plugin. Probably a little more complex to code and the file will be bigger.
- Put this information into the collection. I don't think galaxy will show any extra information... We may have to parse runtime,yml for information soon so it could go in there. But runtime.yml might not be easily extendable (need code and schema changes in ansible-base in order to do so). Another ad hoc file is probably something the collection designers want to avoid.