Create DBCommand object after parsing

The DBCommand object needed to execute the command was created during
the parsing of the command-line arguments and the config file.

This caused keystone to raise an error because the authentication
informations weren't know at this point of the program's execution.

The object is now created after prepare_service.

Change-Id: If4efa31d93ae72b9506e0eb1a53e4b79d5618058
Closes-Bug: #1610235
This commit is contained in:
Luka Peschke 2016-08-31 16:09:10 +02:00
parent 9a591c7065
commit 2734bb1a8d
1 changed files with 12 additions and 5 deletions

View File

@ -71,17 +71,23 @@ class DBCommand(object):
print(tenant)
def add_command_parsers(subparsers):
command_object = DBCommand()
def call_generate(command_object):
command_object.generate()
def call_tenants_list(command_object):
command_object.tenants_list()
def add_command_parsers(subparsers):
parser = subparsers.add_parser('generate')
parser.set_defaults(func=command_object.generate)
parser.set_defaults(func=call_generate)
parser.add_argument('--tenant', nargs='?')
parser.add_argument('--begin', nargs='?')
parser.add_argument('--end', nargs='?')
parser = subparsers.add_parser('tenants_list')
parser.set_defaults(func=command_object.tenants_list)
parser.set_defaults(func=call_tenants_list)
parser.add_argument('--begin', nargs='?')
parser.add_argument('--end', nargs='?')
@ -96,4 +102,5 @@ CONF.register_cli_opt(command_opt)
def main():
service.prepare_service()
CONF.command.func()
command_object = DBCommand()
CONF.command.func(command_object)