Module 'requirements'

I was glancing at some of the new modules (e.g. the 'rabbit_*' stuff)
and I noticed the 'requirements' in the DOCUMENTATION string are empty.
In other words, it would seem to me that the module is self-sufficient,
which it isn't: it needs the rabbitmqctl program.

I then checked get_url, which I originally wrote, and therein it says:

        requirements: [ urllib2, urlparse ]

which is cool, but I find no further use of 'requirements' when we
generate the docs, which is NOT cool; mea culpa!

If you agree, I think we should require 'requirements' :wink: so that
people know what the module needs to run, and I'll take it upon myself
to munge that into the doc generators.

        -JP

+1, It'd be even nicer if the requirements specified where they are
needed. i.e. is it required on the target or on the manager machine?

Jimmy.

+1, It'd be even nicer if the requirements specified where they are
needed. i.e. is it required on the target or on the manager machine?

Good catch! Maybe

        requirements_manager: [ a,b ]
        requirements_host: [c, d]

        -JP

The reason I didn’t add any requirements to the rabbitmq* modules was because I thought it would be implied since that utility comes with RabbitMQ itself and therefore would be installed with the host you are managing. I am fine with being explicit about it and will add the information.

I am fine with being explicit about it and will add the information.

Just to clarify, I wasn't picking on *you*, Chris. :slight_smile:

        -JP

+1, I got burned the other day because I forgot to install the requirements for the apt-repository module.

Oddly, the docstring for that module, says it requires python-apt, and the unstructured notes at the bottom say that it requires python-software-properties.

Not backward compatible, JP.

requirements: # managed node requirements
control_requirements: # control machine requirements

perhaps. Make it so!

Not backward compatible, JP.

Point.

requirements: # managed node requirements
control_requirements: # control machine requirements

perhaps. Make it so!

Your wish, is my pull-request. It will be done!

        -JP

PR submitted.

        -JP

I know, it was a good example. :slight_smile: It was something I did think about though.

I’ve just configured and installed rabbit and used your modules. I wouldn’t (and didn’t) expect it to auto install rabbitmq-server.

I’m using the normal apt package distribution, but there have been cases in the past where we needed to install a specific version of rabbitmq, so I would leave the choice of installation to the user.

or maybe if its installed then the requirements are satisfied and it does nothing.