Bring env OSPROFILER_CONNECTION_STRING into effect
The --connection-string is marked required, and parse_args() assumes the flag invalid if it's not supplied as command line argument, even if env OSPROFILER_CONNECTION_STRING is setted. We should not rely on the required=True of argparse module, but check the required args on our own to take env arguments into consideration. Change-Id: I50f5f369ec41ddc82f9b66f5910b7805940fb387
This commit is contained in:
parent
55b0542eaa
commit
ede0ec402e
|
@ -36,7 +36,6 @@ class TraceCommands(BaseCommand):
|
||||||
@cliutils.arg("trace", help="File with trace or trace id")
|
@cliutils.arg("trace", help="File with trace or trace id")
|
||||||
@cliutils.arg("--connection-string", dest="conn_str",
|
@cliutils.arg("--connection-string", dest="conn_str",
|
||||||
default=(cliutils.env("OSPROFILER_CONNECTION_STRING")),
|
default=(cliutils.env("OSPROFILER_CONNECTION_STRING")),
|
||||||
required=True,
|
|
||||||
help="Storage driver's connection string. Defaults to "
|
help="Storage driver's connection string. Defaults to "
|
||||||
"env[OSPROFILER_CONNECTION_STRING] if set")
|
"env[OSPROFILER_CONNECTION_STRING] if set")
|
||||||
@cliutils.arg("--transport-url", dest="transport_url",
|
@cliutils.arg("--transport-url", dest="transport_url",
|
||||||
|
@ -59,6 +58,12 @@ class TraceCommands(BaseCommand):
|
||||||
def show(self, args):
|
def show(self, args):
|
||||||
"""Display trace results in HTML, JSON or DOT format."""
|
"""Display trace results in HTML, JSON or DOT format."""
|
||||||
|
|
||||||
|
if not args.conn_str:
|
||||||
|
raise exc.CommandError(
|
||||||
|
"You must provide connection string via"
|
||||||
|
" either --connection-string or "
|
||||||
|
"via env[OSPROFILER_CONNECTION_STRING]")
|
||||||
|
|
||||||
trace = None
|
trace = None
|
||||||
|
|
||||||
if not uuidutils.is_uuid_like(args.trace):
|
if not uuidutils.is_uuid_like(args.trace):
|
||||||
|
@ -156,7 +161,6 @@ class TraceCommands(BaseCommand):
|
||||||
|
|
||||||
@cliutils.arg("--connection-string", dest="conn_str",
|
@cliutils.arg("--connection-string", dest="conn_str",
|
||||||
default=cliutils.env("OSPROFILER_CONNECTION_STRING"),
|
default=cliutils.env("OSPROFILER_CONNECTION_STRING"),
|
||||||
required=True,
|
|
||||||
help="Storage driver's connection string. Defaults to "
|
help="Storage driver's connection string. Defaults to "
|
||||||
"env[OSPROFILER_CONNECTION_STRING] if set")
|
"env[OSPROFILER_CONNECTION_STRING] if set")
|
||||||
@cliutils.arg("--error-trace", dest="error_trace",
|
@cliutils.arg("--error-trace", dest="error_trace",
|
||||||
|
@ -164,6 +168,11 @@ class TraceCommands(BaseCommand):
|
||||||
help="List all traces that contain error.")
|
help="List all traces that contain error.")
|
||||||
def list(self, args):
|
def list(self, args):
|
||||||
"""List all traces"""
|
"""List all traces"""
|
||||||
|
if not args.conn_str:
|
||||||
|
raise exc.CommandError(
|
||||||
|
"You must provide connection string via"
|
||||||
|
" either --connection-string or "
|
||||||
|
"via env[OSPROFILER_CONNECTION_STRING]")
|
||||||
try:
|
try:
|
||||||
engine = base.get_driver(args.conn_str, **args.__dict__)
|
engine = base.get_driver(args.conn_str, **args.__dict__)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
Loading…
Reference in New Issue