Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

What to do with inventory and vault scripts in community.general? #16

Closed
felixfontein opened this issue May 6, 2021 · 7 comments · Fixed by ansible-collections/community.general#2696

Comments

@felixfontein
Copy link
Contributor

During the big content migration from ansible/ansible, quite a few inventory and vault scripts were moved to community.general; see https://github.com/ansible-collections/community.general/tree/main/scripts/inventory and https://github.com/ansible-collections/community.general/tree/main/scripts/vault.

Since inventory and vault scripts are not 1st or even 2nd class citizens of collections, are not related to code in the collection (the only exception being the infoblox script, but the content it uses is now deprecated), have no tests (only sanity tests run on them), and in case of inventory scripts are even discouraged in favor of inventory plugins (which are 1st class citizens of collections), I want to propose the idea to move them to a separate repository (which is not a collection repository).

In most cases, it seems that users download or copy these scripts to where they use them anyway, instead of running them from community.general directly, so IMO there's no reason they should be part of community.general. The only advantage of having them in a collection that's included in Ansible is that if you install Ansible, they are around somewhere in your filesystem (but you have to find them first before you can use them :) ).

What do you think?

@gundalow
Copy link
Contributor

Thanks for raising this.

I think there are a few different things we can do here

  1. For every inventory script that was in ansible per-ansible-base https://github.com/ansible/ansible/tree/pre-ansible-base/contrib/inventory search for docs pointing to them, including Blogs, docsite, generally. Contact author to point to the plugin version
  2. Review the docsite which talks about inventory/vault script/plugins and add big red warning to move to plugins
  3. Is this worth a blog post/Reddit stating old-name -> new name?

@jamescassell
Copy link

IIRC, the benefit of an an inventory script vs plugin is that the script can have any license whereas the plugin must be GPL. Shouldn't affect stuff in c.g, though.

@felixfontein
Copy link
Contributor Author

Decisions from today's meeting:

  1. We will move the scripts to https://github.com/ansible-community/contrib-scripts
  2. The decision whether the scripts will ship with Ansible 5+ or not will be made later.

@Akasurde
Copy link

Akasurde commented Jun 3, 2021

Please DO NOT include the following -

  • vmware.py is deprecated and has a counterpart vmware_vm_inventory.py in community.vmware.
  • ec2.py is deprecated and has a counterpart aws_ec2.py in amazon.aws.
  • infoblox.py is deprecated and has a counterpart nios_inventory.py in infoblox.nios_modules.

@felixfontein
Copy link
Contributor Author

We begin with moving all scripts. Cleanup can come later, but right now the scripts are mentioned by the docsite, so leaving them out will break links.

I added all scripts to https://github.com/ansible-community/contrib-scripts and created ansible-collections/community.general#2696 to remove the scripts from community.general. Next step is to update documentation links.

@felixfontein
Copy link
Contributor Author

@Akasurde only infoblox.py is part of community.general, I don't know where the others live.

@felixfontein
Copy link
Contributor Author

Removal announcement in ansible-collections/community.general#2697.

kristianheljas added a commit to kristianheljas/ansible that referenced this issue Jan 18, 2023
These scripts were removed from community.general in ansible-collections/community.general#2696 and moved to ansible-community/contrib-scripts per ansible-community/community-topics#16 (comment)
samccann pushed a commit to ansible/ansible that referenced this issue Jan 19, 2023
These scripts were removed from community.general in ansible-collections/community.general#2696 and moved to ansible-community/contrib-scripts per ansible-community/community-topics#16 (comment)
samccann pushed a commit to samccann/ansible that referenced this issue Jan 19, 2023
These scripts were removed from community.general in ansible-collections/community.general#2696 and moved to ansible-community/contrib-scripts per ansible-community/community-topics#16 (comment)

(cherry picked from commit 97993ee)
nitzmahone pushed a commit to ansible/ansible that referenced this issue Jan 19, 2023
* Update authentication.rst (#79623)

(cherry picked from commit e7af753)

* Fix typo (#79641)

(cherry picked from commit 8e7cc37)

* correct the mistake of example repeat_original (#79659)

there is a little mistake

##### ISSUE TYPE
- Docs Pull Request

+label: docsite_pr

(cherry picked from commit 6f8c1da)

* switched reference from katacoda to instruqt (#79698)

(cherry picked from commit 0fc932f)

* contributor_path: fix typos (#79678)

(cherry picked from commit fe7d488)

* Fix broken reference to FAQ (#79621)

(cherry picked from commit 602824d)

* Docsite: add Security Automation Working Group to Communication guide (#79692)

(cherry picked from commit 65efa4b)

* Docsite: remove dead Lockdown Working Group from Communication guide (#79693)

(cherry picked from commit 55f9d7f)

* Fix `undef()` example to a valid Jinja template (#79701)

(cherry picked from commit e41d287)

* Truthy value should be one of false or true (#79730)

Otherwise ansible-lint complains: https://yamllint.readthedocs.io/en/stable/rules.html#module-yamllint.rules.truthy

(cherry picked from commit b756a08)

* Fix regex filter docs (#79736)

* Fix notes in regex_replace doc

The documentation says that this maps to 'regex.replace' when it should say 're.replace'. The distinction is important because of the third-party 'regex' module that has more features than the built-in 're' module. https://pypi.org/project/regex/

* Fix notes in re.search docs

The documentation says that this maps to 'regex.search' when it should say 're.search'. The distinction is important because of the third-party 'regex' module that has more features than the built-in 're' module. https://pypi.org/project/regex/

(cherry picked from commit cf50d81)

* complex_data_manipulation.rst: fix typo (#79758)

(cherry picked from commit b5b7f9b)

* Fix broken link for inventory script examples (#79762)

These scripts were removed from community.general in ansible-collections/community.general#2696 and moved to ansible-community/contrib-scripts per ansible-community/community-topics#16 (comment)

(cherry picked from commit 97993ee)

* communication.rst: improve (#79751)

(cherry picked from commit 11a27ee)

* Fix broken docs links. (#79769)

(cherry picked from commit 5d71ace)

Co-authored-by: Gineesh Madapparambath <net.gini@gmail.com>
Co-authored-by: Kristopher Henry Kram <kristopher@kristopherkram.com>
Co-authored-by: evangelionlion <546620084@qq.com>
Co-authored-by: Deric Crago <deric.crago@gmail.com>
Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
Co-authored-by: Rune Juhl Jacobsen <rune@juhljacobsen.dk>
Co-authored-by: Kristian Heljas <11139388+kristianheljas@users.noreply.github.com>
Co-authored-by: Hofer-Julian <30049909+Hofer-Julian@users.noreply.github.com>
Co-authored-by: antonc42 <antonc42@users.noreply.github.com>
Co-authored-by: Kenyon Ralph <kenyon@kenyonralph.com>
Co-authored-by: Matt Clay <matt@mystile.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants