Skip to content

[proxmox] Refactor Proxmox LXC module #7272

Open
@b-

Description

@b-

Preface

The Ansible module, community.general.proxmox, seems to be quite neglected compared to the community.general.proxmox_kvm module. Maybe "neglected" isn't quite the right word for it as much as, "crusty?"

Issue Type

Feature Idea

Component Name

proxmox

Additional Information

I guess I should be more specific. Until #7263 the module doesn't return any structured data at all, and while trying to add the taskid for potentially long-lived tasks such as creating a VM I noticed that the code in general could stand to be refactored pretty heavily.

For instance, the timeout code and much of the boilerplate for API calls are all duplicated throughout the module. Compare https://github.com/ansible-collections/community.general/blob/fc530cd3f56d44ba7fef342d4a766c368ee6d419/plugins/modules/proxmox_kvm.py#L1103C1-L1111C20 and https://github.com/ansible-collections/community.general/blob/fc530cd3f56d44ba7fef342d4a766c368ee6d419/plugins/modules/proxmox.py#L555C1-L566C21


I'm submitting this as a Feature Request rather than a Documentation Issue or a Bug Report because I want to make a general meta-issue about this and I intend to do as much contribution towards this goal as I can, too. However, I'm not exactly the most experienced Python user, and definitely can't do this alone.

Perhaps we could start a Proxmox working group? I see the wiki is pretty directly asking someone to, so here's a ping to @gundalow and @dagwieers. I'll also join the #ansible-cloud IRC channel.

Code of Conduct

  • I agree to follow the Ansible Code of Conduct

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureThis issue/PR relates to a feature requestmodulemodulepluginsplugin (any type)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions