ansible-collections / overview

Collections overview, how to request a namespace
GNU General Public License v3.0
247 stars 50 forks source link

repo: community.proxmox #232

Closed krauthosting closed 9 months ago

krauthosting commented 9 months ago
SUMMARY

As spoken at CfgMgmtCamp'24 let's group around the current Proxmox modules.
Beside modules from community.general we want to contribute more modules. Some out-of-tree on GitHub but also an active development of a connection plugin. Users are also very interested in roles to interact with Proxmox as VMware alternative. Goal is an collection alternative to community.vmware with community.proxmox :smiley:

Name of collection

community.proxmox

GitHub maintainers

https://github.com/krauthosting https://github.com/Thulium-Drake https://github.com/johanvdw https://github.com/UnderGreen https://github.com/jilijamt https://github.com/UnderGreen https://github.com/helldorado https://github.com/castorsky https://github.com/Kogelvis https://github.com/jwbernin https://github.com/l00ptr https://github.com/paginabianca

Andersson007 commented 9 months ago

@krauthosting hello, thanks for requesting the repo, we'll handle the request ASAP

Andersson007 commented 9 months ago

the repo has been created and the folks listed were added as maintainers (please let them know to check their mailboxes for the invite)

Andersson007 commented 9 months ago

@krauthosting @Thulium-Drake @johanvdw @UnderGreen @helldorado @castorsky @Kogelvis @jwbernin @l00ptr @paginabianca

Could you please:

I'll close the issue. If there are any questions, feel free to ask here or on Matrix (andersson007_) or here. Thanks!

PS thanks for the effort to move the stuff from community.general and the desire to maintain and develop it!

krauthosting commented 9 months ago

@Andersson007 Thanks :kissing_closed_eyes: Put could you empty the repo from the initial commit? We're aiming to use "git filter-repo" to keep the history on all Proxmox modules. @felixfontein guessed it would be a blank repo and no ugly force push needed.

Will need a bit time till we initialize the repo with history of community.general. Next commit will add then README & co, before we start merging actual PRs.
Are scheduling internal work time for all that from the 19-23th of February on.

@felixfontein Thanks for sorting out and mentioning all on those pending work: https://github.com/ansible-collections/community.general/pull/4027 https://github.com/ansible-collections/community.general/pull/6872 https://github.com/ansible-collections/community.general/pull/7728

Could somebody still take care if we need to merge them before splitting repos? Or we just merge current PRs as is, move the issue to stabilize till next release? Our primary goal would to have a clean git while ramping up regular work time.

felixfontein commented 9 months ago

Put could you empty the repo from the initial commit?

In case the branch protections aren't active yet, you can simply force push over the current repo contents to get rid of them :) I would only enable branch protections once the basic repo setup is done.

BTW, if someone can give me moderator or even commit rights (not sure what's really needed) for the repo, I can move issues over from community.general. (To move issues between repos in one organization one needs appropriate access rights in both repos.)

Could somebody still take care if we need to merge them before splitting repos?

It's easier to handle them before splitting, but you can always cherry-pick the commits over after the split. It's a bit more work, but doable :)

@krauthosting what do you think if I add you to the maintainer list for the proxmox stuff in c.g? Then you'll get pinged for every issue and PR that involves the proxmox modules (both existing, and new ones once they are created). Then you can directly interact with folks who created issues/PRs in the wrong repo (which will probably happen for some time, or even years, speaking from experience :) ) - at least as long as the modules/plugins are still in c.g's main branch.

Andersson007 commented 9 months ago

@felixfontein @krauthosting i've just disabled Require linear history so you can purge the repo (not sure if's that setting though). There are no other rules enabled for main. @felixfontein i made you a maintainer too Folks please let me know when i can enable Require linear history again. thanks!

felixfontein commented 9 months ago

@Andersson007 there are still branch protections for the main branch which prevent force pushes:

remote: error: GH006: Protected branch update failed for refs/heads/main.
remote: error: Cannot force-push to this branch

In branch protections, there's a box at the bottom "Rules applied to everyone including administrators" where you can enable force pushes. But I guess it's easiest to simply delete the branch protection for main completely for now.

Another problem is that there's now the tag "generated from https://github.com/ansible-collections/collection_template", which really shouldn't be there. The only way to get rid of it seems to be by deleting the repository.

@krauthosting another thing I remembered you have to take care of when using git filter-repo: the modules directory of c.g was reorganized in http://github.com/ansible-collections/community.general/commit/b531ecdc9bfe48fe98ea6b67279eb048e0c9071d:

plugins/modules/{cloud/misc => }/proxmox.py       
plugins/modules/{cloud/misc => }/proxmox_disk.py  
.../{cloud/misc => }/proxmox_domain_info.py       
.../modules/{cloud/misc => }/proxmox_group_info.py
plugins/modules/{cloud/misc => }/proxmox_kvm.py   
plugins/modules/{cloud/misc => }/proxmox_nic.py   
plugins/modules/{cloud/misc => }/proxmox_snap.py  
.../{cloud/misc => }/proxmox_storage_info.py      
.../modules/{cloud/misc => }/proxmox_tasks_info.py
.../modules/{cloud/misc => }/proxmox_template.py  
.../modules/{cloud/misc => }/proxmox_user_info.py 
.../modules/{cloud/misc => }/test_proxmox_kvm.py  
.../modules/{cloud/misc => }/test_proxmox_snap.py 
.../{cloud/misc => }/test_proxmox_tasks_info.py   
Andersson007 commented 9 months ago

@felixfontein

krauthosting commented 9 months ago

@felixfontein Thanks for taking care and sure add us to the maintainer list for the Proxmox. As said in Ghent we will try to schedule regular work time, so at least initially it might help to redirect PRs & co. Brilliant idea, thanks for taking care! Also for mentioning the renaming for git filter-repo :heart: We scheduled to look at it next week ...

@Andersson007 Also big thanks for helping :1st_place_medal: Should have stated our goals better before the repo creation knowing "best practice" in Ansible was to dump git history. Not huge fans of Microsoft's closed-source AI training 'Hub we just care git itself is clean. But will just git push --force if too cumbersome to mess with the project as is ... like in godmode :godmode: :rofl:

l00ptr commented 9 months ago

I will try my best to work on that collection. I wasn't in Ghent, but I think it's a great idea to move the Proxmox collection on a specific repository.

The maintainer invitation has expired for me I can't accept it. Could you invite me again ?

Best regards, L.

Andersson007 commented 9 months ago

@l00ptr sent, thanks

l00ptr commented 9 months ago

request for forum tag / group done: https://forum.ansible.com/t/requesting-a-forum-group/503/19

l00ptr commented 9 months ago

@krauthosting how can i help on that collection ?

Andersson007 commented 8 months ago

@l00ptr thanks for creating the request!

I created the proxmox tag and the group.

@krauthosting you seem not to be on the forum yet, I tried to add you as an owner. @Thulium-Drake i made you an owner (you can edit the group profile), could you please make @krauthosting an owner too after they join the forum and add other members. People can join as regular members on their own too.

Now you need:

  1. Fill in the group information. There's now just a template. There are also a couple of examples you'll find in the text.
  2. You can also add a nice avatar.
  3. Put a link to the group in README and in other sources
  4. Spread the word about it, including by announcing it via Bullhorn
  5. After you move the content to the collection, let me know, I'll add your team to the Ansible communication guide.

Have question or need help? Please let me know

krauthosting commented 8 months ago

@krauthosting how can i help on that collection ? @l00ptr Please continue as you already did in reviewing and closing open PRs :hugs:
Priority has to get them closed so we can split the repo with git history and move issues.

krauthosting commented 8 months ago

@Andersson007 Carol and Greg ensured in Belgium we're on the forum :wink: Joined the group now, can you still make us the owner? Otherwise we put the link in the README and will gather folks there.

Andersson007 commented 8 months ago

@krauthosting sure, you're an owner now:) thanks

krauthosting commented 8 months ago

@felixfontein @l00ptr We created now a draft of the filtered repo for review :smile: But mind we will force push there and break any remotes during the QA and update once we finally split. Please give us feedback on:

https://github.com/krauthosting/community.proxmox (just for QA and later our PRs)

We progressed on to close these open issues:
ansible-collections/community.general#5449 ansible-collections/community.general#6843

But we still have those issues with PRs left: ansible-collections/community.general#7969 ansible-collections/community.general#7817

Once we have those PRs closed and your feedback we can do the last filter-repo run and initialize community.proxmox and move all other issues without PRs. Guess that the desired workflow to have a clean collection split :hugs

krauthosting commented 8 months ago

Progress Update: We've imported the modules from community.general using the repo-filter below and have migrated their namespace to community.proxmox. The docs are building fine thanks to ansibull-docs and sanity+unit tests are passing too.

# Test scaffolding
tests/.gitignore
tests/.config.yml
tests/galaxy-importer.cfg
tests/integration/requirements.yml

# Unit Tests Scaffolding
tests/unit/requirements.txt
tests/unit/requirements.yml
tests/unit/plugins/modules/utils.py
tests/unit/compat
# Unit Tests
tests/unit/plugins/inventory/test_proxmox.py
glob:tests/unit/plugins/modules/test_proxmox*

# Integration Tests
glob:tests/integration/targets/proxmox*

.gitignore

# Helper plugins
plugins/module_utils/version.py
plugins/doc_fragments/attributes.py
# Core Plugins
plugins/doc_fragments/proxmox.py
plugins/inventory/proxmox.py
plugins/module_utils/proxmox.py
glob:plugins/modules/proxmox*
felixfontein commented 8 months ago

You might want to remove

tests/integration/requirements.yml
tests/unit/requirements.txt
tests/unit/requirements.yml
tests/galaxy-importer.cfg
tests/utils/

from the tree filter and add them directly to the result if needed (tests/galaxy-importer.cfg isn't needed at all). Changes to these files are contributing to quite a few commits, that make the contributor stats look like I've been doing a huge amount of work on the proxmox modules/plugins :) - just look at https://github.com/krauthosting/community.proxmox/graphs/contributors

mariolenz commented 8 months ago

This issue has been closed. I don't think you should still discuss here, it would be better to move your discussions to the new repo (or maybe to the forum).

PS The collection doesn't have a name yet: https://github.com/ansible-collections/community.proxmox/blob/59f422042c9c5540dd33cc1c0e64e79d7003de5c/galaxy.yml#L3-L4

Andersson007 commented 8 months ago

yeah, forum/target repo feels like a good place for related discussions:)

xN4P4LM commented 8 months ago

👋 Hello! Know the discussion here is transitioning to a new location, where would that be?

Was starting to work on my own proxmox collection, then saw this was created last month.

Would be happy to help contribute to this module!

I'm also xn4p4lm over on the Ansible Forums

Andersson007 commented 8 months ago

@xn4p4lm hello, great, thanks! Help is always welcome in the community collections! I see you already joined the forum group, cool

cc @krauthosting ^