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

Prepare for official Ansible module submition #3

Open
zwindler opened this issue Jul 26, 2018 · 1 comment
Open

Prepare for official Ansible module submition #3

zwindler opened this issue Jul 26, 2018 · 1 comment

Comments

@zwindler
Copy link
Collaborator

zwindler commented Jul 26, 2018

Hi,

As we discussed on Centreon Slack channel, I dropped my own centreon ansible module, as it uses CLAPI and this one uses Centreon API which is way better.

We also talked about making this module an official, community maintained, Ansible module, and there are some things that need to be taken care of first.

The guidelines can be found here : https://docs.ansible.com/ansible/latest/dev_guide/developing_modules.html

Basically, we need to :

  • Go talk to the devs of Ansible to submit the idea of this module before anything else (ansible-devel on IRC)
  • Go talk to the devs of Centreon to see if they are willing to help ?
  • Create a standard ansible standard dev platform (might be better to have a VM that follows the best practices, see https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html. I can provide it)
  • Find a name for the module/modules that follows the naming conventions (https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_in_groups.html#naming-convention)
  • Check that existing files are simple enough (UNIX philosophy of doing one thing well). This will probably lead to release not one but multiple modules, one for each Centreon object type (host, service, ...)
  • Reorganise files to follow Ansible organisation or discuss how to prepare for the PR
  • Check PEP8 compliance (now mandatory)
  • Check python 3 support, which is now mandatory (2.6 et 3.5 compat)
  • Write extensive documentation of all the module variables, Ansible style + examples + return values
  • Change the LICENCE to GPLv3. This is also mandatory. If that's not OK for you guillaume, we have a problem :/
  • Add some tests (although it's not mandatory, it's highly recommended)
  • Re-read the checklist one more time https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_checklist.html

Let's be honnest, it's going to be a huge work. But there is no hurry so I'm confident we can achieve it.

@zwindler
Copy link
Collaborator Author

zwindler commented Sep 6, 2018

With the licence and PEP8 checked, I take these points :

  • Go talk to the devs of Ansible to submit the idea of this module before anything else (ansible-devel on IRC) => maybe they'll have ideas about naming conventions and file organisation (2 remaining points)
  • Create a standard ansible standard dev platform (I'll provide a VM) & check Python 2.6+3.5 compat
  • Write extensive documentation of all the module variables, Ansible style + examples + return values

Hopefully after this there should be little left to do for submission

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant