Ensure non-default FLAGS.logfile_mode is properly converted to an octet.

Fixes bug 862969.

Change-Id: I35ac84d5f5f547fef8e3eec1d3a31f94ea8ae96e
This commit is contained in:
Adam Gandelman 2011-09-29 21:06:06 -07:00
parent eb3a978813
commit aa67698a7d
2 changed files with 4 additions and 3 deletions

View File

@ -351,7 +351,7 @@ DEFINE_string('lock_path', os.path.join(os.path.dirname(__file__), '../'),
'Directory for lock files')
DEFINE_string('logdir', None, 'output to a per-service log file in named '
'directory')
DEFINE_integer('logfile_mode', 0644, 'Default file mode of the logs.')
DEFINE_string('logfile_mode', '0644', 'Default file mode of the logs.')
DEFINE_string('sqlite_db', 'nova.sqlite', 'file name for sqlite')
DEFINE_string('sql_connection',
'sqlite:///$state_path/$sqlite_db',

View File

@ -259,9 +259,10 @@ class NovaRootLogger(NovaLogger):
self.addHandler(self.filelog)
self.logpath = logpath
mode = int(FLAGS.logfile_mode, 8)
st = os.stat(self.logpath)
if st.st_mode != (stat.S_IFREG | FLAGS.logfile_mode):
os.chmod(self.logpath, FLAGS.logfile_mode)
if st.st_mode != (stat.S_IFREG | mode):
os.chmod(self.logpath, mode)
else:
self.removeHandler(self.filelog)
self.addHandler(self.streamlog)