Merge "Use cfg's new global CONF object"
This commit is contained in:
@@ -46,7 +46,6 @@ from nova import flags
|
|||||||
from nova import log as logging
|
from nova import log as logging
|
||||||
from nova.openstack.common import cfg
|
from nova.openstack.common import cfg
|
||||||
from nova import rpc
|
from nova import rpc
|
||||||
from nova import utils
|
|
||||||
|
|
||||||
|
|
||||||
delete_exchange_opt = \
|
delete_exchange_opt = \
|
||||||
@@ -71,8 +70,7 @@ def delete_queues(queues):
|
|||||||
x.queue_delete(q)
|
x.queue_delete(q)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
args = flags.parse_args(sys.argv)
|
||||||
args = flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
rpc.register_opts(flags.FLAGS)
|
rpc.register_opts(flags.FLAGS)
|
||||||
delete_queues(args[1:])
|
delete_queues(args[1:])
|
||||||
|
@@ -65,8 +65,7 @@ FLAGS = flags.FLAGS
|
|||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
rpc.register_opts(FLAGS)
|
rpc.register_opts(FLAGS)
|
||||||
admin_context = context.get_admin_context()
|
admin_context = context.get_admin_context()
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
begin, end = utils.last_completed_audit_period()
|
begin, end = utils.last_completed_audit_period()
|
||||||
print "Starting instance usage audit"
|
print "Starting instance usage audit"
|
||||||
|
@@ -51,8 +51,7 @@ from nova.vnc import xvp_proxy
|
|||||||
LOG = logging.getLogger('nova.all')
|
LOG = logging.getLogger('nova.all')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
servers = []
|
servers = []
|
||||||
|
@@ -42,8 +42,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
servers = []
|
servers = []
|
||||||
|
@@ -38,8 +38,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.WSGIService('ec2')
|
server = service.WSGIService('ec2')
|
||||||
|
@@ -38,8 +38,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.WSGIService('metadata')
|
server = service.WSGIService('metadata')
|
||||||
|
@@ -38,8 +38,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.WSGIService('osapi_compute')
|
server = service.WSGIService('osapi_compute')
|
||||||
|
@@ -38,8 +38,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.WSGIService('osapi_volume')
|
server = service.WSGIService('osapi_volume')
|
||||||
|
@@ -38,8 +38,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.Service.create(binary='nova-cert')
|
server = service.Service.create(binary='nova-cert')
|
||||||
|
@@ -40,8 +40,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.Service.create(binary='nova-compute')
|
server = service.Service.create(binary='nova-compute')
|
||||||
|
@@ -36,11 +36,9 @@ if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
|
|||||||
from nova import flags
|
from nova import flags
|
||||||
from nova import log as logging
|
from nova import log as logging
|
||||||
from nova import service
|
from nova import service
|
||||||
from nova import utils
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
server = service.Service.create(binary='nova-console')
|
server = service.Service.create(binary='nova-console')
|
||||||
service.serve(server)
|
service.serve(server)
|
||||||
|
@@ -35,12 +35,10 @@ from nova.consoleauth import manager
|
|||||||
from nova import flags
|
from nova import flags
|
||||||
from nova import log as logging
|
from nova import log as logging
|
||||||
from nova import service
|
from nova import service
|
||||||
from nova import utils
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
|
|
||||||
server = service.Service.create(binary='nova-consoleauth')
|
server = service.Service.create(binary='nova-consoleauth')
|
||||||
|
@@ -96,8 +96,7 @@ def init_leases(network_id):
|
|||||||
def main():
|
def main():
|
||||||
"""Parse environment and arguments and call the approproate action."""
|
"""Parse environment and arguments and call the approproate action."""
|
||||||
flagfile = os.environ.get('FLAGFILE', FLAGS.dhcpbridge_flagfile)
|
flagfile = os.environ.get('FLAGFILE', FLAGS.dhcpbridge_flagfile)
|
||||||
utils.default_cfgfile(flagfile)
|
argv = flags.parse_args(sys.argv)
|
||||||
argv = FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
|
|
||||||
rpc.register_opts(FLAGS)
|
rpc.register_opts(FLAGS)
|
||||||
|
@@ -87,6 +87,7 @@ from nova.db import migration
|
|||||||
from nova import exception
|
from nova import exception
|
||||||
from nova import flags
|
from nova import flags
|
||||||
from nova import log as logging
|
from nova import log as logging
|
||||||
|
from nova.openstack.common import cfg
|
||||||
from nova.openstack.common import importutils
|
from nova.openstack.common import importutils
|
||||||
from nova import quota
|
from nova import quota
|
||||||
from nova import rpc
|
from nova import rpc
|
||||||
@@ -1668,26 +1669,24 @@ def methods_of(obj):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
"""Parse options and call the appropriate class/method."""
|
"""Parse options and call the appropriate class/method."""
|
||||||
cfgfile = utils.default_cfgfile()
|
|
||||||
|
|
||||||
if cfgfile and not os.access(cfgfile, os.R_OK):
|
|
||||||
st = os.stat(cfgfile)
|
|
||||||
print "Could not read %s. Re-running with sudo" % cfgfile
|
|
||||||
try:
|
|
||||||
os.execvp('sudo', ['sudo', '-u', '#%s' % st.st_uid] + sys.argv)
|
|
||||||
except Exception:
|
|
||||||
print 'sudo failed, continuing as if nothing happened'
|
|
||||||
|
|
||||||
rpc.register_opts(FLAGS)
|
rpc.register_opts(FLAGS)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
argv = FLAGS(sys.argv)
|
argv = flags.parse_args(sys.argv)
|
||||||
logging.setup()
|
logging.setup()
|
||||||
except IOError, e:
|
except cfg.ConfigFilesNotFoundError:
|
||||||
if e.errno == errno.EACCES:
|
cfgfile = FLAGS.config_file[-1] if FLAGS.config_file else None
|
||||||
print _('Please re-run nova-manage as root.')
|
if cfgfile and not os.access(cfgfile, os.R_OK):
|
||||||
sys.exit(2)
|
st = os.stat(cfgfile)
|
||||||
raise
|
print _("Could not read %s. Re-running with sudo") % cfgfile
|
||||||
|
try:
|
||||||
|
os.execvp('sudo', ['sudo', '-u', '#%s' % st.st_uid] + sys.argv)
|
||||||
|
except Exception:
|
||||||
|
print _('sudo failed, continuing as if nothing happened')
|
||||||
|
|
||||||
|
print _('Please re-run nova-manage as root.')
|
||||||
|
sys.exit(2)
|
||||||
|
|
||||||
script_name = argv.pop(0)
|
script_name = argv.pop(0)
|
||||||
if len(argv) < 1:
|
if len(argv) < 1:
|
||||||
print _("\nOpenStack Nova version: %(version)s (%(vcs)s)\n") % \
|
print _("\nOpenStack Nova version: %(version)s (%(vcs)s)\n") % \
|
||||||
|
@@ -40,8 +40,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.Service.create(binary='nova-network')
|
server = service.Service.create(binary='nova-network')
|
||||||
|
@@ -42,8 +42,7 @@ from nova import utils
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = s3server.get_wsgi_server()
|
server = s3server.get_wsgi_server()
|
||||||
|
@@ -42,8 +42,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.Service.create(binary='nova-scheduler')
|
server = service.Service.create(binary='nova-scheduler')
|
||||||
|
@@ -40,8 +40,7 @@ from nova import service
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.Service.create(binary='nova-volume')
|
server = service.Service.create(binary='nova-volume')
|
||||||
|
@@ -35,15 +35,13 @@ from nova import flags
|
|||||||
from nova import log as logging
|
from nova import log as logging
|
||||||
from nova import rpc
|
from nova import rpc
|
||||||
from nova import service
|
from nova import service
|
||||||
from nova import utils
|
|
||||||
from nova.vnc import xvp_proxy
|
from nova.vnc import xvp_proxy
|
||||||
|
|
||||||
FLAGS = flags.FLAGS
|
FLAGS = flags.FLAGS
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
rpc.register_opts(FLAGS)
|
rpc.register_opts(FLAGS)
|
||||||
utils.default_cfgfile()
|
flags.parse_args(sys.argv)
|
||||||
flags.FLAGS(sys.argv)
|
|
||||||
logging.setup()
|
logging.setup()
|
||||||
|
|
||||||
wsgi_server = xvp_proxy.get_wsgi_server()
|
wsgi_server = xvp_proxy.get_wsgi_server()
|
||||||
|
@@ -33,19 +33,14 @@ import sys
|
|||||||
from nova.openstack.common import cfg
|
from nova.openstack.common import cfg
|
||||||
|
|
||||||
|
|
||||||
class NovaConfigOpts(cfg.CommonConfigOpts):
|
FLAGS = cfg.CONF
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
if 'project' not in kwargs:
|
|
||||||
kwargs['project'] = 'nova'
|
|
||||||
super(NovaConfigOpts, self).__init__(*args, **kwargs)
|
|
||||||
self.disable_interspersed_args()
|
|
||||||
|
|
||||||
def __call__(self, argv):
|
|
||||||
return argv[:1] + super(NovaConfigOpts, self).__call__(argv[1:])
|
|
||||||
|
|
||||||
|
|
||||||
FLAGS = NovaConfigOpts()
|
def parse_args(argv, default_config_files=None):
|
||||||
|
FLAGS.disable_interspersed_args()
|
||||||
|
return argv[:1] + FLAGS(argv[1:],
|
||||||
|
project='nova',
|
||||||
|
default_config_files=default_config_files)
|
||||||
|
|
||||||
|
|
||||||
class UnrecognizedFlag(Exception):
|
class UnrecognizedFlag(Exception):
|
||||||
|
@@ -34,54 +34,50 @@ class FlagsTestCase(test.TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(FlagsTestCase, self).setUp()
|
super(FlagsTestCase, self).setUp()
|
||||||
self.FLAGS = flags.NovaConfigOpts()
|
|
||||||
self.global_FLAGS = flags.FLAGS
|
|
||||||
self.flags(config_file=[])
|
|
||||||
|
|
||||||
def test_declare(self):
|
def test_declare(self):
|
||||||
self.assert_('answer' not in self.global_FLAGS)
|
self.assert_('answer' not in FLAGS)
|
||||||
flags.DECLARE('answer', 'nova.tests.declare_flags')
|
flags.DECLARE('answer', 'nova.tests.declare_flags')
|
||||||
self.assert_('answer' in self.global_FLAGS)
|
self.assert_('answer' in FLAGS)
|
||||||
self.assertEqual(self.global_FLAGS.answer, 42)
|
self.assertEqual(FLAGS.answer, 42)
|
||||||
|
|
||||||
# Make sure we don't overwrite anything
|
# Make sure we don't overwrite anything
|
||||||
self.global_FLAGS.set_override('answer', 256)
|
FLAGS.set_override('answer', 256)
|
||||||
self.assertEqual(self.global_FLAGS.answer, 256)
|
self.assertEqual(FLAGS.answer, 256)
|
||||||
flags.DECLARE('answer', 'nova.tests.declare_flags')
|
flags.DECLARE('answer', 'nova.tests.declare_flags')
|
||||||
self.assertEqual(self.global_FLAGS.answer, 256)
|
self.assertEqual(FLAGS.answer, 256)
|
||||||
|
|
||||||
def test_getopt_non_interspersed_args(self):
|
def test_getopt_non_interspersed_args(self):
|
||||||
self.assert_('runtime_answer' not in self.global_FLAGS)
|
self.assert_('runtime_answer' not in FLAGS)
|
||||||
|
|
||||||
argv = ['flags_test', 'extra_arg', '--runtime_answer=60']
|
argv = ['flags_test', 'extra_arg', '--runtime_answer=60']
|
||||||
args = self.global_FLAGS(argv)
|
args = flags.parse_args(argv, default_config_files=[])
|
||||||
self.assertEqual(len(args), 3)
|
self.assertEqual(len(args), 3)
|
||||||
self.assertEqual(argv, args)
|
self.assertEqual(argv, args)
|
||||||
|
|
||||||
def test_runtime_and_unknown_flags(self):
|
def test_runtime_and_unknown_flags(self):
|
||||||
self.assert_('runtime_answer' not in self.global_FLAGS)
|
self.assert_('runtime_answer' not in FLAGS)
|
||||||
import nova.tests.runtime_flags
|
import nova.tests.runtime_flags
|
||||||
self.assert_('runtime_answer' in self.global_FLAGS)
|
self.assert_('runtime_answer' in FLAGS)
|
||||||
self.assertEqual(self.global_FLAGS.runtime_answer, 54)
|
self.assertEqual(FLAGS.runtime_answer, 54)
|
||||||
|
|
||||||
def test_long_vs_short_flags(self):
|
def test_long_vs_short_flags(self):
|
||||||
self.global_FLAGS.clear()
|
FLAGS.clear()
|
||||||
self.global_FLAGS.register_cli_opt(cfg.StrOpt('duplicate_answer_long',
|
FLAGS.register_cli_opt(cfg.StrOpt('duplicate_answer_long',
|
||||||
default='val',
|
default='val',
|
||||||
help='desc'))
|
help='desc'))
|
||||||
argv = ['flags_test', '--duplicate_answer=60', 'extra_arg']
|
argv = ['flags_test', '--duplicate_answer=60', 'extra_arg']
|
||||||
args = self.global_FLAGS(argv)
|
args = flags.parse_args(argv, default_config_files=[])
|
||||||
|
|
||||||
self.assert_('duplicate_answer' not in self.global_FLAGS)
|
self.assert_('duplicate_answer' not in FLAGS)
|
||||||
self.assert_(self.global_FLAGS.duplicate_answer_long, 60)
|
self.assert_(FLAGS.duplicate_answer_long, 60)
|
||||||
|
|
||||||
self.global_FLAGS.clear()
|
FLAGS.clear()
|
||||||
self.global_FLAGS.register_cli_opt(cfg.IntOpt('duplicate_answer',
|
FLAGS.register_cli_opt(cfg.IntOpt('duplicate_answer',
|
||||||
default=60,
|
default=60, help='desc'))
|
||||||
help='desc'))
|
args = flags.parse_args(argv, default_config_files=[])
|
||||||
args = self.global_FLAGS(argv)
|
self.assertEqual(FLAGS.duplicate_answer, 60)
|
||||||
self.assertEqual(self.global_FLAGS.duplicate_answer, 60)
|
self.assertEqual(FLAGS.duplicate_answer_long, 'val')
|
||||||
self.assertEqual(self.global_FLAGS.duplicate_answer_long, 'val')
|
|
||||||
|
|
||||||
def test_flag_leak_left(self):
|
def test_flag_leak_left(self):
|
||||||
self.assertEqual(FLAGS.flags_unittest, 'foo')
|
self.assertEqual(FLAGS.flags_unittest, 'foo')
|
||||||
@@ -99,17 +95,3 @@ class FlagsTestCase(test.TestCase):
|
|||||||
self.assertEqual(FLAGS.flags_unittest, 'bar')
|
self.assertEqual(FLAGS.flags_unittest, 'bar')
|
||||||
FLAGS.reset()
|
FLAGS.reset()
|
||||||
self.assertEqual(FLAGS.flags_unittest, 'foo')
|
self.assertEqual(FLAGS.flags_unittest, 'foo')
|
||||||
|
|
||||||
def test_defaults(self):
|
|
||||||
self.FLAGS.register_opt(cfg.StrOpt('foo', default='bar', help='desc'))
|
|
||||||
self.assertEqual(self.FLAGS.foo, 'bar')
|
|
||||||
|
|
||||||
self.FLAGS.set_default('foo', 'blaa')
|
|
||||||
self.assertEqual(self.FLAGS.foo, 'blaa')
|
|
||||||
|
|
||||||
def test_templated_values(self):
|
|
||||||
self.FLAGS.register_opt(cfg.StrOpt('foo', default='foo', help='desc'))
|
|
||||||
self.FLAGS.register_opt(cfg.StrOpt('bar', default='bar', help='desc'))
|
|
||||||
self.FLAGS.register_opt(cfg.StrOpt('blaa',
|
|
||||||
default='$foo$bar', help='desc'))
|
|
||||||
self.assertEqual(self.FLAGS.blaa, 'foobar')
|
|
||||||
|
Reference in New Issue
Block a user