From 2734bb1a8d2072e846e8564e95e7fb2d2631b451 Mon Sep 17 00:00:00 2001 From: Luka Peschke Date: Wed, 31 Aug 2016 16:09:10 +0200 Subject: [PATCH] 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 --- cloudkitty/cli/writer.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cloudkitty/cli/writer.py b/cloudkitty/cli/writer.py index 7466a7e9..445c1484 100644 --- a/cloudkitty/cli/writer.py +++ b/cloudkitty/cli/writer.py @@ -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)