yum module does not support yum --config=http://file-location

Hello,

I just discoverd that the yum module does not support the yum option -c or --config as it is supposed to be.

According to man yum (and successfully tested on commandline):

-c, --config=[config file]

Specifies the config file location - can take HTTP and FTP URLs and local file paths.

But in the module code you have the following in yum_base, list_stuff and ensure:

if conf_file and os.path.exists(conf_file):

This of course will never work for a config file that starts with http:// or ftp for that matter.
Removing the os.path.exists check made the yum module work with the config file passed as conf_file=http://hostaddress/repodef.repo

I know this might be a seldom used feature, but in our case it was needed to get a package installed on machines that dont have general access to a yum repo.
(and that package was needed to enable ansible file operations, so simply copying a temporary repo definition over via ansible was also no option)

Thats why I suggest to either remove the os.path.exists check, or only use it when the conf_file string does not contain http:// or ftp://

Kind regards
Markus

Sounds like a good candidate for a ansible-modules-core issue at
https://github.com/ansible/ansible-modules-core/issues

(Would the yum_repository module be useful in this case?
http://docs.ansible.com/ansible/yum_repository_module.html)