)]}'
{"tempest/cmd/account_generator.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"fe96f24d3e569b6f6d57599b97431e6130b3af4f","unresolved":false,"context_lines":[{"line_number":447,"context_line":""},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"def main(opts\u003dNone):"},{"line_number":450,"context_line":"    if not opts:"},{"line_number":451,"context_line":"        opts \u003d get_options()"},{"line_number":452,"context_line":"    setup_logging()"},{"line_number":453,"context_line":"    resources \u003d generate_resources(opts)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_470f90e1","line":450,"updated":"2015-12-04 05:22:45.000000000","message":"We need a deprecation warning here too, to warn users that are still using the old entrypoints","commit_id":"6b3930d89011cce5633390dd5bce108e318dc81c"},{"author":{"_account_id":10644,"name":"David Paterson","email":"davpat2112@yahoo.com","username":"dpaterson"},"change_message_id":"821031e62eb2b279c514202c99e11ce5aac52cae","unresolved":false,"context_lines":[{"line_number":447,"context_line":""},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"def main(opts\u003dNone):"},{"line_number":450,"context_line":"    if not opts:"},{"line_number":451,"context_line":"        opts \u003d get_options()"},{"line_number":452,"context_line":"    setup_logging()"},{"line_number":453,"context_line":"    resources \u003d generate_resources(opts)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_a9695127","line":450,"in_reply_to":"7a740942_470f90e1","updated":"2015-12-15 16:27:01.000000000","message":"Sure, will add.","commit_id":"6b3930d89011cce5633390dd5bce108e318dc81c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0d5d5abbd1c13d3d5021c3361b2adb7915b40ed6","unresolved":false,"context_lines":[{"line_number":110,"context_line":"               \u0027One primary user, one alt user, \u0027"},{"line_number":111,"context_line":"               \u0027one swift admin, one stack owner \u0027"},{"line_number":112,"context_line":"               \u0027and one admin (optionally) will be created \u0027"},{"line_number":113,"context_line":"               \u0027for each concurrent thread.\u0027)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def setup_logging():"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_a20c0695","line":113,"range":{"start_line":113,"start_character":42,"end_line":113,"end_character":45},"updated":"2016-01-13 07:09:11.000000000","message":"\u0027tempest help\u0027 will show all these description. I think we should show just 1 line there.\n\nHow about adding new line there. So that only first line can be shown in \u0027tempest help\u0027 and complete description in subcommand help-\n\n\nDESCRIPTION \u003d (\u0027Create accounts.yaml file for concurrent test runs. \u0027\n               \u0027\\n One primary user, one alt user, \u0027\n               \u0027one swift admin, one stack owner \u0027\n               \u0027and one admin (optionally) will be created \u0027\n               \u0027for each concurrent thread.\u0027)","commit_id":"743d1ae0d8d9fbe5ff6526edd2dbfd6fe6c632dc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ec40e27b2fd2be322c4ca117b90f9ff781ee5f6c","unresolved":false,"context_lines":[{"line_number":110,"context_line":"               \u0027One primary user, one alt user, \u0027"},{"line_number":111,"context_line":"               \u0027one swift admin, one stack owner \u0027"},{"line_number":112,"context_line":"               \u0027and one admin (optionally) will be created \u0027"},{"line_number":113,"context_line":"               \u0027for each concurrent thread.\u0027)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def setup_logging():"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_6538213e","line":113,"range":{"start_line":113,"start_character":42,"end_line":113,"end_character":45},"in_reply_to":"da6ed579_02fe1c37","updated":"2016-01-14 01:01:59.000000000","message":"I mean \u0027tempest help\u0027 shows full description for this subcommand which is little bit unreadable as shown below.\n\nShowing 1 descriptive line in help and full description in subcommand help will be more clear (by introducing new line after first line.). \n\nopenstack1@openstack1-VirtualBox:/opt/stack/tempest$ tempest help\nusage: tempest [--version] [-v] [--log-file LOG_FILE] [-q] [-h] [--debug]\nTempest cli application\n  .  \n  .\nCommands:\n  account-generator  Create accounts.yaml file for concurrent test runs. One primary user, one alt user, one swift admin, one stack owner and one admin (optionally) will be created for each concurrent thread.\n  cleanup        Cleanup after tempest run\n  complete       print bash completion command\n  help           print detailed help for another command\n  init           Setup a local working environment for running tempest\n  list-plugins   List all tempest plugins\n  run-stress     Run tempest stress tests\n  verify-config  Verify your current tempest configuration\nopenstack1@openstack1-VirtualBox:/opt/stack/tempest$","commit_id":"743d1ae0d8d9fbe5ff6526edd2dbfd6fe6c632dc"},{"author":{"_account_id":10644,"name":"David Paterson","email":"davpat2112@yahoo.com","username":"dpaterson"},"change_message_id":"b17db2acb184c048918ad92f774a9dee1f5b1ae7","unresolved":false,"context_lines":[{"line_number":110,"context_line":"               \u0027One primary user, one alt user, \u0027"},{"line_number":111,"context_line":"               \u0027one swift admin, one stack owner \u0027"},{"line_number":112,"context_line":"               \u0027and one admin (optionally) will be created \u0027"},{"line_number":113,"context_line":"               \u0027for each concurrent thread.\u0027)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def setup_logging():"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_02fe1c37","line":113,"range":{"start_line":113,"start_character":42,"end_line":113,"end_character":45},"in_reply_to":"da6ed579_a20c0695","updated":"2016-01-13 14:16:31.000000000","message":"This is because tempest has many sub-commands.  If you run \u0027tempest help account-generator\u0027 you see only the help for this command.","commit_id":"743d1ae0d8d9fbe5ff6526edd2dbfd6fe6c632dc"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"5bce53405e96e432080815538c81e5f442955800","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        LOG.warn(\"Use of: \u0027tempest-account-generator\u0027 is deprecated, \""},{"line_number":476,"context_line":"                 \"please use: \u0027tempest account-generator\u0027\")"},{"line_number":477,"context_line":"        opts \u003d get_options()"},{"line_number":478,"context_line":"    setup_logging()"},{"line_number":479,"context_line":"    resources \u003d generate_resources(opts)"},{"line_number":480,"context_line":"    create_resources(opts, resources)"},{"line_number":481,"context_line":"    dump_accounts(opts, resources)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_a62664cc","line":478,"updated":"2016-01-13 01:49:47.000000000","message":"I think setup_loggin() should be before using LOG otherwise an error occurs when we use tempest-account-generator.","commit_id":"743d1ae0d8d9fbe5ff6526edd2dbfd6fe6c632dc"},{"author":{"_account_id":10644,"name":"David Paterson","email":"davpat2112@yahoo.com","username":"dpaterson"},"change_message_id":"b17db2acb184c048918ad92f774a9dee1f5b1ae7","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        LOG.warn(\"Use of: \u0027tempest-account-generator\u0027 is deprecated, \""},{"line_number":476,"context_line":"                 \"please use: \u0027tempest account-generator\u0027\")"},{"line_number":477,"context_line":"        opts \u003d get_options()"},{"line_number":478,"context_line":"    setup_logging()"},{"line_number":479,"context_line":"    resources \u003d generate_resources(opts)"},{"line_number":480,"context_line":"    create_resources(opts, resources)"},{"line_number":481,"context_line":"    dump_accounts(opts, resources)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_02acdc32","line":478,"in_reply_to":"da6ed579_a62664cc","updated":"2016-01-13 14:16:31.000000000","message":"Done","commit_id":"743d1ae0d8d9fbe5ff6526edd2dbfd6fe6c632dc"},{"author":{"_account_id":9364,"name":"Stephen Lowrie","email":"stephen.lowrie@rackspace.com","username":"step6829"},"change_message_id":"ee79e521e4ae50324b09a5ada4004c7faea72d95","unresolved":false,"context_lines":[{"line_number":446,"context_line":"    _parser_add_args(parser)"},{"line_number":447,"context_line":"    opts \u003d parser.parse_args()"},{"line_number":448,"context_line":"    if opts.config_file:"},{"line_number":449,"context_line":"        config.CONF.set_config_path(opts.config_file)"},{"line_number":450,"context_line":"    return opts"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_dd2694cd","line":449,"updated":"2016-01-13 19:35:19.000000000","message":"You\u0027re only running set_config_path if this is called in the deprecated way. Should this be moved into main after the if checking that opts exists?","commit_id":"1c8fc96bf2f64744028d22abb27ce719e9059e79"},{"author":{"_account_id":10644,"name":"David Paterson","email":"davpat2112@yahoo.com","username":"dpaterson"},"change_message_id":"63a29afb8cb700b55373f4dc263bfcda3af975d3","unresolved":false,"context_lines":[{"line_number":446,"context_line":"    _parser_add_args(parser)"},{"line_number":447,"context_line":"    opts \u003d parser.parse_args()"},{"line_number":448,"context_line":"    if opts.config_file:"},{"line_number":449,"context_line":"        config.CONF.set_config_path(opts.config_file)"},{"line_number":450,"context_line":"    return opts"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_e9c63648","line":449,"in_reply_to":"da6ed579_dd2694cd","updated":"2016-01-13 20:53:24.000000000","message":"_paser_add_args is called from both deprecated and cliff command.  That said putting it in main seems clearer.","commit_id":"1c8fc96bf2f64744028d22abb27ce719e9059e79"},{"author":{"_account_id":9364,"name":"Stephen Lowrie","email":"stephen.lowrie@rackspace.com","username":"step6829"},"change_message_id":"083e94bdd1a50dd38dcaea98fead997d2af085a9","unresolved":false,"context_lines":[{"line_number":446,"context_line":"    _parser_add_args(parser)"},{"line_number":447,"context_line":"    opts \u003d parser.parse_args()"},{"line_number":448,"context_line":"    if opts.config_file:"},{"line_number":449,"context_line":"        config.CONF.set_config_path(opts.config_file)"},{"line_number":450,"context_line":"    return opts"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da6ed579_494bc287","line":449,"in_reply_to":"da6ed579_e9c63648","updated":"2016-01-13 21:01:55.000000000","message":"While _parser_add_args is called in both the parse_args call occurs after leaving the function, in get_options for the deprecated command and inside the internals of the cliff.command.Command class, so it couldn\u0027t be added there.","commit_id":"1c8fc96bf2f64744028d22abb27ce719e9059e79"}]}
