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

Remove collection runtime dependencies #354

Closed
7 of 21 tasks
felixfontein opened this issue May 17, 2020 · 14 comments · Fixed by #1317
Closed
7 of 21 tasks

Remove collection runtime dependencies #354

felixfontein opened this issue May 17, 2020 · 14 comments · Fixed by #1317
Labels
bug This issue/PR relates to a bug has_pr

Comments

@felixfontein
Copy link
Collaborator

felixfontein commented May 17, 2020

SUMMARY

While including other collections for tests is fine, including them for runtime is dangerous. Changes in other collections can randomly break things in this collection.

I want to track dependencies to other collections in this issue, with the aim of being able to eventually remove them.

  • google.cloud:
    • Runtime:
      • plugins/lookup/gcp_storage_file.py (uses function navigate_hash and class GcpSession)
  • ansible.netcommon:
    • Runtime:
      • plugins/modules/net_tools/nios/nios_network.py (uses functions validate_ip_address, validate_ip_v6_address)
  • ansible.posix:
    • Runtime:
      • plugins/modules/system/aix_filesystem.py (uses function ismount)
    • Testing only:
      • tests/unit/plugins/modules/system/interfaces_file/interfaces_file/test_interfaces_file.py
  • cisco.intersight:
    • Runtime:
      • plugins/modules/remote_management/intersight/intersight_info.py (uses class IntersightModule and constant intersight_argument_spec next to docs fragment cisco.intersight.intersight)
  • community.kubernetes:
    • Runtime:
      • plugins/connection/oc.py
      • plugins/inventory/kubevirt.py
      • plugins/module_utils/kubevirt.py
      • plugins/modules/cloud/kubevirt/kubevirt_vm.py
      • plugins/modules/cloud/kubevirt/kubevirt_rs.py
      • plugins/modules/cloud/kubevirt/kubevirt_pvc.py
      • plugins/modules/cloud/kubevirt/kubevirt_template.py
      • plugins/modules/cloud/kubevirt/kubevirt_cdi_upload.py
      • plugins/modules/cloud/kubevirt/kubevirt_preset.py
    • Testing only:
      • tests/unit/plugins/modules/cloud/kubevirt/test_kubevirt_rs.py
      • tests/unit/plugins/modules/cloud/kubevirt/kubevirt_fixtures.py
ISSUE TYPE
  • Bug Report
COMPONENT NAME

collection

ANSIBLE VERSION

devel

@ansibullbot
Copy link
Collaborator

Files identified in the description:
None

If these files are inaccurate, please update the component name section of the description or use the !component bot command.

click here for bot help

@ansibullbot

This comment has been minimized.

@ansibullbot ansibullbot added affects_2.10 bug This issue/PR relates to a bug needs_info This issue requires further information. Please answer any outstanding questions needs_template This issue/PR has an incomplete description. Please fill in the proposed template correctly and removed needs_info This issue requires further information. Please answer any outstanding questions needs_template This issue/PR has an incomplete description. Please fill in the proposed template correctly labels May 17, 2020
@felixfontein
Copy link
Collaborator Author

CC @gundalow @abadger @Andersson007

@felixfontein
Copy link
Collaborator Author

How I would proceed:

  • google.cloud: just copy the required things over and drop the runtime dependency.
  • ovirt.ovirt: vendor the requirements and mark them deprecated (as the modules themselves), and remove them once the modules are removed.

I guess the ansible.netcommon and ansible.posix dependencies shouldn't do random changes, so we can live with them.

I'm somewhat worried over cisco.intersight and community.kubernetes. If we could get rid of the modules/plugins, that would be great ;-) I guess that the dependent collections don't want to take them? That would be especially helpful for the cisco.intersight dependency, in particular because it has been authored by Cisco themselves. For the kubevirt stuff, moving it to a dedicated collection might help if community.kubernetes doesn't want to have it.

@felixfontein
Copy link
Collaborator Author

Looks like intersight_facts was moved to https://github.com/CiscoDevNet/ansible-intersight, while intersight_info was moved here. That makes no sense to me. Pinging @dsoper2 and @CiscoUcs as the module authors. I really think that intersight_info should also be moved to that collection.

@felixfontein
Copy link
Collaborator Author

I've added a commit to vendor the ovirt.ovirt parts to #353.

@dsoper2
Copy link

dsoper2 commented May 18, 2020

Looks like intersight_facts was moved to https://github.com/CiscoDevNet/ansible-intersight, while intersight_info was moved here. That makes no sense to me. Pinging @dsoper2 and @CiscoUcs as the module authors. I really think that intersight_info should also be moved to that collection.

Agreed - I had forgot the facts rename to info. I'll do the same rename in the collection and all cisco.intersight content (modules and utils) can be pulled from core.

@felixfontein
Copy link
Collaborator Author

#372 loosens the dependency on google.cloud: the gcp_storage_file plugin will error when being called, instead of terminating loading of lookup plugins for community.general when the import from ansible_collections.google.cloud fails.

@felixfontein
Copy link
Collaborator Author

@dsoper2 please CC me in the ansible/ansible PR which changes routing.

@felixfontein
Copy link
Collaborator Author

I've added plugins/connection/oc.py to the list of plugins depending on community.kubernetes (#577).

@felixfontein
Copy link
Collaborator Author

For the kubevirt modules, see ansible-collections/community.kubernetes#221. For oc see #866.

@felixfontein
Copy link
Collaborator Author

With the plan in ansible-collections/overview#117 (comment) all dependencies will vanish!

@felixfontein
Copy link
Collaborator Author

ansible.posix is no longer a runtime dependency! \o/

@felixfontein
Copy link
Collaborator Author

ansible.netcommon was removed in #1561, google.cloud in #1319. community.kubernetes will be removed in #1317, which will finally resolve this issue.

dmsimard added a commit to dmsimard/community.general that referenced this issue Jan 5, 2021
This also removes the dependency on community.kubernetes which fixes
ansible-collections#354.
felixfontein added a commit that referenced this issue Jan 5, 2021
* Remove kubevirt and set up redirects to community.kubevirt

This also removes the dependency on community.kubernetes which fixes
#354.

* Update changelogs/fragments/1317-kubevirt-migration-removal.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/1317-kubevirt-migration-removal.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add missed redirects

Co-authored-by: Felix Fontein <felix@fontein.de>
krauthosting pushed a commit to krauthosting/community.proxmox that referenced this issue Feb 26, 2024
* Remove kubevirt and set up redirects to community.kubevirt

This also removes the dependency on community.kubernetes which fixes
ansible-collections/community.general#354.

* Update changelogs/fragments/1317-kubevirt-migration-removal.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Update changelogs/fragments/1317-kubevirt-migration-removal.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

* Add missed redirects

Co-authored-by: Felix Fontein <felix@fontein.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue/PR relates to a bug has_pr
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants