summaryrefslogtreecommitdiff
path: root/ironic/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'ironic/cmd')
-rw-r--r--ironic/cmd/api.py3
-rw-r--r--ironic/cmd/conductor.py15
2 files changed, 14 insertions, 4 deletions
diff --git a/ironic/cmd/api.py b/ironic/cmd/api.py
index fe2a058eb..e95bd8c51 100644
--- a/ironic/cmd/api.py
+++ b/ironic/cmd/api.py
@@ -22,6 +22,7 @@ import sys
from oslo_config import cfg
from ironic.common import service as ironic_service
+from ironic.common import wsgi_service
from ironic.objects import base
from ironic.objects import indirection
@@ -38,7 +39,7 @@ def main():
# Build and start the WSGI app
launcher = ironic_service.process_launcher()
- server = ironic_service.WSGIService('ironic_api', CONF.api.enable_ssl_api)
+ server = wsgi_service.WSGIService('ironic_api', CONF.api.enable_ssl_api)
launcher.launch_service(server, workers=server.workers)
launcher.wait()
diff --git a/ironic/cmd/conductor.py b/ironic/cmd/conductor.py
index 14728a5a2..57dc90567 100644
--- a/ironic/cmd/conductor.py
+++ b/ironic/cmd/conductor.py
@@ -26,6 +26,7 @@ from oslo_log import log
from oslo_service import service
from ironic.common.i18n import _LW
+from ironic.common import rpc_service
from ironic.common import service as ironic_service
from ironic.conf import auth
@@ -58,12 +59,20 @@ def _check_auth_options(conf):
def main():
+ # NOTE(lucasagomes): Safeguard to prevent 'ironic.conductor.manager'
+ # from being imported prior to the configuration options being loaded.
+ # If this happened, the periodic decorators would always use the
+ # default values of the options instead of the configured ones. For
+ # more information see: https://bugs.launchpad.net/ironic/+bug/1562258
+ # and https://bugs.launchpad.net/ironic/+bug/1279774.
+ assert 'ironic.conductor.manager' not in sys.modules
+
# Parse config file and command line options, then start logging
ironic_service.prepare_service(sys.argv)
- mgr = ironic_service.RPCService(CONF.host,
- 'ironic.conductor.manager',
- 'ConductorManager')
+ mgr = rpc_service.RPCService(CONF.host,
+ 'ironic.conductor.manager',
+ 'ConductorManager')
_check_auth_options(CONF)