cisco.catalystcenter (successor to the deprecated cisco.dnac) #88
Replies: 6 comments 4 replies
|
@bvargasre hello, thanks for the inclusion request! As soon as someone from @ansible-collections/steering-committee has time, they'll review it |
Ansible Collections Checklist (short version)For details about the following points, refer to the Collection Requirements. Every comment should say whether the reviewer expects it to be addressed, or whether it's optional. Note for reviewers: If you don't know how to check any of the points below, please ask maintainers of the collection you're reviewing or a Steering Committee member for clarifications in comments of corresponding inclusion discussion. Public availability and communication:
Standards and documentation:
Collection management:
Tests: Note for reviewers: If you don't know how to check the points below, please ask maintainers of the collection you're reviewing how you can do it.
|
|
Thanks a lot for the detailed explanation! I'll take some time to go through everything carefully. If I have any questions while reviewing it, I'll be sure to let you know. Thanks again for your help! |
|
I'm rolling out antsibull-nox for CI on collection and I'm about to add support for a new Catalyst Center API/lab version, which will push that modules count even higher. That's surfacing a real problem I wanted your take on. With the nox matrix in place, sanity against devel was failing, so I dug in with py-spy while it was running. It wasn't hung, it was actively burning CPU and climbing past 3GB of memory in a couple of minutes, stuck inside ansible.constants/PyYAML repeatedly re-parsing ansible-core's own config YAML. That lines up with ansible-test's importer unloading ansible./ansible_collections. modules between each file it checks, so the cost seems to scale with how many files get imported. Separately, sanity for ansible-core 2.20 and 2.21 in the same matrix takes over an hour and failing me, while 2.16-2.18 finish under 10 minutes on the same PR. I've disabled include_devel for now and I'm turning on change-detection-in-prs, but that doesn't fix full/scheduled runs, and the module count is only going up with the new API version, so I want to actually bring the number down. My plan: a lot of our modules are pure read-only (_info) siblings of the same resource that only differ in which "view" of the data they return (foo_info, foo_count_info, foo_query_info, foo_summary_analytics_info, foo_trend_analytics_info, foo_top_n_analytics_info, etc.). I want to merge each of those families into one _info module with a new view parameter, and retire the absorbed ones. In our case that's roughly 250 families with 2+ sibling GET modules (a bit over 500 modules total), collapsing down to those ~250, so it cuts somewhere around 300 modules plus their matching action files. One thing I'm not sure about: would removing the old module names outright be a problem, given the functionality itself isn't actually going away (it's still there, just behind the view parameter on the surviving module), or do we have to go through a full deprecation cycle regardless? My concern is that if a deprecation period is required, the module-count problem would still be sitting there for as long as that cycle lasts, since the old modules would keep existing until the window closes. Part of what I'm trying to do here is actually test whether cutting the count down gets nox's sanity matrix to pass reliably in the first place, or whether more changes would still be needed on top of this either way. This is a PR where I had the aforementioned problem What would you recommend here? |
|
@bvargasre thanks for fixing the points
plugins/modules/discovery_workflow_manager.py
plugins/modules/network_settings_workflow_manager.py (9 occurrences)
plugins/modules/inventory_workflow_manager.py (3 occurrences)
plugins/modules/swim_workflow_manager.py (4 occurrences)
plugins/modules/template_workflow_manager.py
|
|
There's also a forum discussion whether to include this collection or not https://forum.ansible.com/t/including-large-specialized-collections-in-ansible-community-package/46222 , FYI |
Uh oh!
There was an error while loading. Please reload this page.
New collection inclusion request: cisco.catalystcenter
Description
cisco.catalystcenterprovides Ansible modules, roles, and Cisco ValidatedPlaybooks (CVP) to automate Cisco Catalyst Center (formerly DNA Center). It
covers device inventory, provisioning, SDA, network settings, assurance,
templates, and day-N operations through the Catalyst Center REST API.
This collection is the direct successor to
cisco.dnac, which is deprecatedfollowing Cisco renamed DNA Center to Catalyst Center. This request follows
up on cisco-en-programmability/dnacenter-ansible#327, where the Ansible
community package release managers asked us to either follow the standard
renaming process or submit
cisco.catalystcenterfor inclusion review andremove
cisco.dnacin Ansible 14.Backward compatibility with cisco.dnac
To smooth migration for existing
cisco.dnacusers, we have restored fullbackward-compatible aliases (released in
2.10.0):dnac_*names as aliases:dnac_host,dnac_port,dnac_username,dnac_password,dnac_verify,dnac_version,dnac_debug,dnac_log,dnac_log_level,dnac_log_file_path,dnac_log_append,dnac_api_task_timeout,dnac_task_poll_interval, plus theuseralias on the username option.catalystcenter_api_portis kept as an alias ofcatalystcenter_port.dnac_responsereturn key is still emitted alongsidecatalystcenter_response.These aliases are present in the shared argument spec, in the inline argument
specs of all workflow_manager and playbook_config_generator modules, and are
documented in the doc fragments.
ansible-test sanity(validate-modules)passes for all the affected modules.
With backward compatibility in place,
cisco.dnaccan now be removed in favorof
cisco.catalystcenter.Links
Maintainers
Automation Hub:
Yes
Collection Requirements
We meet the Collection Requirements: Yes
Note
Backward compatibility for the
cisco.dnac->cisco.catalystcenterrename isin place. If anything else is required to proceed with the inclusion review, we
are actively watching this discussion and will address it promptly.
All reactions