The code was unconditionally retrieving a value from
ipsilon.conf and replacing strings in it. This would fail
if the config file didn't exist, there was no global section
or if cache_dir wasn't there.
https://fedorahosted.org/ipsilon/ticket/186
Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
'ipsilon-%s.conf' % args['instance'])
data_dir = os.path.join(DATADIR, args['instance'])
'ipsilon-%s.conf' % args['instance'])
data_dir = os.path.join(DATADIR, args['instance'])
- tconf = ConfigParser.SafeConfigParser()
- tconf.read(os.path.join(instance_conf, 'ipsilon.conf'))
- cache_dir = tconf.get('global', 'cache_dir').replace('"', '')
+ try:
+ tconf = ConfigParser.SafeConfigParser()
+ tconf.read(os.path.join(instance_conf, 'ipsilon.conf'))
+ cache_dir = tconf.get('global', 'cache_dir')
+ except (ConfigParser.NoOptionError, ConfigParser.NoSectionError):
+ cache_dir = None
+ else:
+ cache_dir = cache_dir.replace('"', '')
if not os.path.exists(instance_conf):
raise Exception('Could not find instance %s configuration'
if not os.path.exists(instance_conf):
raise Exception('Could not find instance %s configuration'