diff --git a/octavia/api/v2/controllers/load_balancer.py b/octavia/api/v2/controllers/load_balancer.py index 14069028aa..6c9a4a93f9 100644 --- a/octavia/api/v2/controllers/load_balancer.py +++ b/octavia/api/v2/controllers/load_balancer.py @@ -324,7 +324,9 @@ class LoadBalancersController(base.BaseController): if not load_balancer.project_id: raise exceptions.ValidationException(detail=_( - "Missing project ID in request where one is required.")) + "Missing project ID in request where one is required. " + "An administrator should check the keystone settings " + "in the Octavia configuration.")) self._auth_validate_action(context, load_balancer.project_id, constants.RBAC_POST) diff --git a/octavia/cmd/api.py b/octavia/cmd/api.py index 14e59cb9df..b44ed45dbd 100644 --- a/octavia/cmd/api.py +++ b/octavia/cmd/api.py @@ -20,6 +20,7 @@ from oslo_log import log as logging from oslo_reports import guru_meditation_report as gmr from octavia.api import app as api_app +from octavia.common import constants from octavia import version @@ -35,6 +36,11 @@ def main(): port = cfg.CONF.api_settings.bind_port LOG.info("Starting API server on %(host)s:%(port)s", {"host": host, "port": port}) + if cfg.CONF.api_settings.auth_strategy != constants.KEYSTONE: + LOG.warning('Octavia configuration [api_settings] auth_strategy is ' + 'not set to "keystone". This is not a normal ' + 'configuration and you may get "Missing project ID" ' + 'errors from API calls."') srv = simple_server.make_server(host, port, app) srv.serve_forever()