managedit/openstack-setup — Issue #4: nova-api doesn't run, IllegalFlagValue in log files
Author: Tobbe
Created: 2012-01-08 13:45:37+00:00
State: open

When installing a comment was generated in nova.conf on the --multi_host=True line. That comment cases a stack trace to be printed in the nova logs, and nova-api does not stay running. (It prints a pid, but then it exits/crashes). Removing the comment seems to fix it.

This is the log output:

2012-01-08 14:24:06,871 CRITICAL nova [-] flag --multi_host=True # Use multiple nova-network nodes. With this setting, every nova-compute node also needs nova-network.: ('Non-boolean argument to boolean flag', 'True # Use multiple nova-network nodes. With this setting, every nova-compute node also needs nova-network.')
(nova): TRACE: Traceback (most recent call last):
(nova): TRACE: File "/usr/bin/nova-api", line 51, in
(nova): TRACE: servers.append(service.WSGIService(api))
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/service.py", line 294, in __init__
(nova): TRACE: self.app = self.loader.load_app(name)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/wsgi.py", line 411, in load_app
(nova): TRACE: return deploy.loadapp("config:%s" % self.config_path, name=name)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
(nova): TRACE: return loadobj(APP, uri, name=name, **kw)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 272, in loadobj
(nova): TRACE: return context.create()
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
(nova): TRACE: return self.object_type.invoke(self)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 144, in invoke
(nova): TRACE: **context.local_conf)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
(nova): TRACE: val = callable(*args, **kw)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 25, in urlmap_factory
(nova): TRACE: app = loader.get_app(app_name, global_conf=global_conf)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 350, in get_app
(nova): TRACE: name=name, global_conf=global_conf).create()
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
(nova): TRACE: return self.object_type.invoke(self)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 203, in invoke
(nova): TRACE: app = context.app_context.create()
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 710, in create
(nova): TRACE: return self.object_type.invoke(self)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 146, in invoke
(nova): TRACE: return fix_call(context.object, context.global_conf, **context.local_conf)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/paste/deploy/util.py", line 56, in fix_call
(nova): TRACE: val = callable(*args, **kw)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 96, in factory
(nova): TRACE: return cls()
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 101, in __init__
(nova): TRACE: self._setup_routes(mapper)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 200, in _setup_routes
(nova): TRACE: self._setup_base_routes(mapper, '1.1')
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 115, in _setup_base_routes
(nova): TRACE: if FLAGS.allow_admin_api:
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/flags.py", line 143, in __getattr__
(nova): TRACE: self.ParseNewFlags()
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/flags.py", line 126, in ParseNewFlags
(nova): TRACE: new_flags(self.__dict__['__stored_argv'])
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/nova/flags.py", line 75, in __call__
(nova): TRACE: args = gflags.FlagValues.__call__(self, argv)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/gflags.py", line 1188, in __call__
(nova): TRACE: flag.Parse(arg)
(nova): TRACE: File "/usr/lib/python2.7/dist-packages/gflags.py", line 1742, in Parse
(nova): TRACE: raise IllegalFlagValue("flag --%s=%s: %s" % (self.name, argument, e))
(nova): TRACE: IllegalFlagValue: flag --multi_host=True # Use multiple nova-network nodes. With this setting, every nova-compute node also needs nova-network.: ('Non-boolean argument to boolean flag', 'True # Use multiple nova-network nodes. With this setting, every nova-compute node also needs nova-network.')
(nova): TRACE: