no error if content source conf file is not readable
I inadvertently created a conf file in /etc/pulp/content/sources/conf.d with permissions of 600 instead of 644. When I ran 'pulp-admin content sources list', it simply showed that there were no content sources instead of returning an error. This caused a couple of hours of debugging on my part to find my mistake.
Ideally, the load_all() function in model.py will throw an exception if it tries to read a conf file that is not readable.
Updated by email@example.com almost 7 years ago
This appears to be a bug in ConfigParser.read(). As a workaround, I suggest adding:
if not os.access(path, os.R_OK): <log something> continue
immediately following the check to see if it is a file.
If confirmed that this is in ConfigParser, let's file a bug on it upstream.
Updated by mhrivnak almost 7 years ago
ConfigParser has unconventional behavior; we have not discovered a bug in it. The read() function returns a list of files that were successfully read, and we were ignoring that list. There is a reasonable explanation detailed here: https://docs.python.org/2/library/configparser.html#ConfigParser.RawConfigParser.read