Browse Source

Make baremetal --debug actually work

The --debug option exists but does nothing. Wire in openstacksdk logging
and make sure ironicclient can log as well.

Change-Id: I136503f546be2ecbd3203ee07597df59a40a594e
changes/00/781100/4
Dmitry Tantsur 9 months ago
parent
commit
4a22f29f1e
  1. 18
      ironicclient/shell.py
  2. 5
      releasenotes/notes/debug-e9dd680d783fa4b6.yaml

18
ironicclient/shell.py

@ -19,6 +19,7 @@ try:
import ironic_inspector_client
except ImportError:
ironic_inspector_client = None
import openstack
from openstack import config as os_config
from osc_lib import utils
import pbr.version
@ -168,8 +169,25 @@ class App(app.App):
)
return parser
def _configure_ironic_logging(self):
openstack.enable_logging(debug=self.options.debug)
# NOTE(dtantsur): I wish logging.basicConfig worked.. but it does not.
for name in ('ironicclient', 'ironic_inspector_client'):
logger = logging.getLogger(name)
logger.setLevel(
logging.DEBUG if self.options.debug else logging.WARNING)
# warnings are already configured by something else, only configure
# debug logging for ironic.
if not logger.handlers and self.options.debug:
handler = logging.StreamHandler()
handler.setFormatter(logging.Formatter(
# This is the openstacksdk default value
'%(asctime)s %(levelname)s: %(name)s %(message)s'))
logger.addHandler(handler)
def initialize_app(self, argv):
super(App, self).initialize_app(argv)
self._configure_ironic_logging()
self.cloud_region = self.config.get_one(argparse=self.options)
# Compatibility with OSC
self.client_manager = ClientManager(self.cloud_region, self.options)

5
releasenotes/notes/debug-e9dd680d783fa4b6.yaml

@ -0,0 +1,5 @@
---
fixes:
- |
The ``--debug`` option now works correctly with the built-in ``baremetal``
command line tool.
Loading…
Cancel
Save