)]}'
{"tempest/cli/__init__.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bfda39501807f015dc7532e9efe152060d08a4b5","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"@staticmethod"},{"line_number":36,"context_line":"def cmd(cmd, action, flags\u003d\u0027\u0027, params\u003d\u0027\u0027, fail_ok\u003dFalse, merge_stderr\u003dFalse):"},{"line_number":37,"context_line":"    \"\"\"Executes specified command for the given action.\"\"\""},{"line_number":38,"context_line":"    cmd \u003d \u0027 \u0027.join([os.path.join(CONF.cli.cli_dir, cmd),"},{"line_number":39,"context_line":"                    flags, action, params])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_b521c79f","line":36,"updated":"2014-06-13 22:23:30.000000000","message":"cmd method with cmd arg might be bad...","commit_id":"5ceba48a13979968c5a1a5c4d7f3284e872129b4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bfda39501807f015dc7532e9efe152060d08a4b5","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                  CONF.identity.admin_password,"},{"line_number":157,"context_line":"                  CONF.identity.uri))"},{"line_number":158,"context_line":"        flags \u003d creds + \u0027 \u0027 + flags"},{"line_number":159,"context_line":"        return cmd(cmd, action, flags, params, fail_ok)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def assertTableStruct(self, items, field_names):"},{"line_number":162,"context_line":"        \"\"\"Verify that all items has keys listed in field_names.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_752bbf81","line":159,"updated":"2014-06-13 22:23:30.000000000","message":"I have a feeling this might \u0027splode.","commit_id":"5ceba48a13979968c5a1a5c4d7f3284e872129b4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"75d9a2dcf6a98071cdf05d62296a1fef55ad6f32","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def check_client_version(client, version):"},{"line_number":57,"context_line":"    current_version \u003d execute(client, \u0027\u0027, flags\u003d\u0027--version\u0027)"},{"line_number":58,"context_line":"    return versionutils.is_compatible(version, current_version,"},{"line_number":59,"context_line":"                                      same_major\u003dFalse)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_45091e30","line":57,"updated":"2014-06-18 14:10:15.000000000","message":"Need to check that current_version is a \u0027normal\u0027 package version and skip anything that\u0027s coming from trunk, i.e. during a gate run of Tempest.  See details in the spec:\n\nhttps://review.openstack.org/#/c/99984/3/specs/minversion-check-for-cli-tests.rst\n\nI\u0027m thinking I\u0027ll check if \"origin/HEAD\" is in the suffix of the version and if so, assume it\u0027s valid.","commit_id":"b9dab5ffb1dc5bc38c129e63c8fd09350525f61c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"78590904f768554387e0c6dbde88f990c19b8653","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"def check_client_version(client, version):"},{"line_number":57,"context_line":"    current_version \u003d execute(client, \u0027\u0027, flags\u003d\u0027--version\u0027)"},{"line_number":58,"context_line":"    # NOTE(mriedem): check to see if the current version is coming from trunk"},{"line_number":59,"context_line":"    # and if so assume it\u0027s valid since it\u0027s the latest code."},{"line_number":60,"context_line":"    if current_version.endswith(\u0027origin/HEAD\u0027):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1ae5cdf2_067f12e1","line":57,"updated":"2014-06-18 18:32:09.000000000","message":"Looks like this is actually coming back as the empty string:\n\nhttps://gist.github.com/mriedem/fd47e0b521a603bf9679","commit_id":"c6f8b8fbf655addd7b4f0285f973f9b90c8acdeb"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"e368ae5fb6297cad54f5ea8cc98c74d9da0c2a59","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def check_client_version(client, version):"},{"line_number":58,"context_line":"    current_version \u003d execute(client, \u0027\u0027, params\u003d\u0027--version\u0027)"},{"line_number":59,"context_line":"    if not current_version.strip():"},{"line_number":60,"context_line":"        raise exceptions.TempestException(\u0027\"%s --version\" output was empty\u0027 %"},{"line_number":61,"context_line":"                                          client)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_3459f05a","line":58,"updated":"2014-07-02 02:46:44.000000000","message":"the version sting is return to stderr, so you get empty string.\n\nit will be returned when merge_stderr\u003dTrue.\n\ncurrent_version \u003d execute(client, \u0027\u0027, params\u003d\u0027--version\u0027, merge_stderr\u003dTrue)","commit_id":"3431986f2f5427106eb9a51ae776f1182b3313b0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"50c9be9c37555238bfd527a8badba7ed288174c5","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def check_client_version(client, version):"},{"line_number":58,"context_line":"    current_version \u003d execute(client, \u0027\u0027, params\u003d\u0027--version\u0027)"},{"line_number":59,"context_line":"    if not current_version.strip():"},{"line_number":60,"context_line":"        raise exceptions.TempestException(\u0027\"%s --version\" output was empty\u0027 %"},{"line_number":61,"context_line":"                                          client)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_88d28ad0","line":58,"in_reply_to":"baada198_08c91a78","updated":"2014-07-02 15:22:49.000000000","message":"Ah I see, the nova-manage tests for version merge stderr also:\n\nhttp://git.openstack.org/cgit/openstack/tempest/tree/tempest/cli/simple_read_only/test_nova_manage.py#n61\n\nI owe you one. :)","commit_id":"3431986f2f5427106eb9a51ae776f1182b3313b0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dab5bdf19a8fbec1a1aa73d7751abefff5843764","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"def check_client_version(client, version):"},{"line_number":58,"context_line":"    current_version \u003d execute(client, \u0027\u0027, params\u003d\u0027--version\u0027)"},{"line_number":59,"context_line":"    if not current_version.strip():"},{"line_number":60,"context_line":"        raise exceptions.TempestException(\u0027\"%s --version\" output was empty\u0027 %"},{"line_number":61,"context_line":"                                          client)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baada198_08c91a78","line":58,"in_reply_to":"baada198_3459f05a","updated":"2014-07-02 15:17:19.000000000","message":"Huh, I wouldn\u0027t have expected it to go to stderr, but I\u0027ll try that, thanks!","commit_id":"3431986f2f5427106eb9a51ae776f1182b3313b0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"decc95fb4ae158fd6e7eba9a12ed1e892f079645","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                                          client)"},{"line_number":63,"context_line":"    # NOTE(mriedem): check to see if the current version is coming from trunk"},{"line_number":64,"context_line":"    # and if so assume it\u0027s valid since it\u0027s the latest code."},{"line_number":65,"context_line":"    if current_version.endswith(\u0027origin/HEAD\u0027):"},{"line_number":66,"context_line":"        return True"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    return versionutils.is_compatible(version, current_version,"}],"source_content_type":"text/x-python","patch_set":9,"id":"baada198_717276e6","line":65,"updated":"2014-07-02 19:15:12.000000000","message":"I think this is probably an issue in python-novaclient, that\u0027s the only one that has sometlike this in pip-freeze output:\n\nhttp://logs.openstack.org/31/100031/9/check/check-tempest-dsvm-full/ba417c6/logs/pip-freeze.txt.gz\n\nThe rest have a master branch.  I think this might be due to novaclient\u0027s setup.cfg not have a pbr setup hook defined like the other clients.","commit_id":"6eac45ac4f6dea8671de8f3208eec3cd56999e62"}]}
