)]}'
{"ironicclient/osc/plugin.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a54415e02a3607a5fad230d4633b2f02b920b1da","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            key\u003dlambda k: [int(x) for x in k.split(\u0027.\u0027)]) + [\u0027latest\u0027],"},{"line_number":77,"context_line":"        action\u003dReplaceLatestVersion,"},{"line_number":78,"context_line":"        help\u003d\u0027Baremetal API version, default\u003d\u0027 +"},{"line_number":79,"context_line":"             http.DEFAULT_VER +"},{"line_number":80,"context_line":"             \u0027 (Env: OS_BAREMETAL_API_VERSION). \u0027"},{"line_number":81,"context_line":"             \u0027The default is \"latest\", which is the maximum version \u0027"},{"line_number":82,"context_line":"             \u0027supported by both the client and the server.\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_9078d1f8","line":79,"updated":"2017-10-18 15:07:43.000000000","message":"this doesn\u0027t look right.\n\nWhy don\u0027t you just change http.DEFAULT_VER to \u0027latest\u0027? (Do we even want http.DEFAULT_VER if it is still set to 1.9?)","commit_id":"0721b0af4ccab590d3719e0f3adc196c83fbfe86"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b9bd8c781de819efe1ddf09b8ebb0bab23028dad","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            key\u003dlambda k: [int(x) for x in k.split(\u0027.\u0027)]) + [\u0027latest\u0027],"},{"line_number":77,"context_line":"        action\u003dReplaceLatestVersion,"},{"line_number":78,"context_line":"        help\u003d\u0027Baremetal API version, default\u003d\u0027 +"},{"line_number":79,"context_line":"             http.DEFAULT_VER +"},{"line_number":80,"context_line":"             \u0027 (Env: OS_BAREMETAL_API_VERSION). \u0027"},{"line_number":81,"context_line":"             \u0027The default is \"latest\", which is the maximum version \u0027"},{"line_number":82,"context_line":"             \u0027supported by both the client and the server.\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_107621da","line":79,"in_reply_to":"3f4b6375_9078d1f8","updated":"2017-10-18 15:13:29.000000000","message":"++++++","commit_id":"0721b0af4ccab590d3719e0f3adc196c83fbfe86"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9227661b36ad72f0d5d6026ddaf12d3a956e8c5f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \u00271.%d\u0027 % i: \u0027ironicclient.v1.client.Client\u0027"},{"line_number":32,"context_line":"    for i in range(1, LAST_KNOWN_API_VERSION + 1)"},{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":"API_VERSIONS[\u00271\u0027] \u003d \u0027ironicclient.v1.client.Client\u0027"},{"line_number":35,"context_line":"# NOTE(dtantsur): flag to indicate that the requested version was \"latest\"."},{"line_number":36,"context_line":"# Due to how OSC works we cannot just add \"latest\" to the list of supported"},{"line_number":37,"context_line":"# versions - it breaks the major version detection."}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_f90474c8","line":34,"range":{"start_line":34,"start_character":20,"end_line":34,"end_character":51},"updated":"2017-10-19 14:42:16.000000000","message":"we could define a constant for it","commit_id":"2854f800dc25d44c5efdf8db38672889a2c2f275"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cae853e8209bb6eeaf13e6093a30d5d39edc3e5e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    \u00271.%d\u0027 % i: \u0027ironicclient.v1.client.Client\u0027"},{"line_number":32,"context_line":"    for i in range(1, LAST_KNOWN_API_VERSION + 1)"},{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":"API_VERSIONS[\u00271\u0027] \u003d \u0027ironicclient.v1.client.Client\u0027"},{"line_number":35,"context_line":"# NOTE(dtantsur): flag to indicate that the requested version was \"latest\"."},{"line_number":36,"context_line":"# Due to how OSC works we cannot just add \"latest\" to the list of supported"},{"line_number":37,"context_line":"# versions - it breaks the major version detection."}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_fa87c3d6","line":34,"range":{"start_line":34,"start_character":20,"end_line":34,"end_character":51},"in_reply_to":"3f4b6375_f90474c8","updated":"2017-10-19 15:29:02.000000000","message":"Done","commit_id":"2854f800dc25d44c5efdf8db38672889a2c2f275"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9227661b36ad72f0d5d6026ddaf12d3a956e8c5f","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            # explicitly requests \"latest\", we need to correct it."},{"line_number":116,"context_line":"            OS_BAREMETAL_API_LATEST \u003d True"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            # If the requested version if not \"latest\", we already unset this."},{"line_number":119,"context_line":"            OS_BAREMETAL_API_LATEST \u003d False"},{"line_number":120,"context_line":"        setattr(namespace, self.dest, values)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_b45961ff","line":118,"range":{"start_line":118,"start_character":39,"end_line":118,"end_character":41},"updated":"2017-10-19 14:42:16.000000000","message":"is","commit_id":"2854f800dc25d44c5efdf8db38672889a2c2f275"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cae853e8209bb6eeaf13e6093a30d5d39edc3e5e","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            # explicitly requests \"latest\", we need to correct it."},{"line_number":116,"context_line":"            OS_BAREMETAL_API_LATEST \u003d True"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            # If the requested version if not \"latest\", we already unset this."},{"line_number":119,"context_line":"            OS_BAREMETAL_API_LATEST \u003d False"},{"line_number":120,"context_line":"        setattr(namespace, self.dest, values)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_ba694b26","line":118,"range":{"start_line":118,"start_character":39,"end_line":118,"end_character":41},"in_reply_to":"3f4b6375_b45961ff","updated":"2017-10-19 15:29:02.000000000","message":"Done","commit_id":"2854f800dc25d44c5efdf8db38672889a2c2f275"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9b559a3f75324ed872e4d79de65ec102a8678f96","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    for i in range(1, LAST_KNOWN_API_VERSION + 1)"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":"API_VERSIONS[\u00271\u0027] \u003d CLIENT_CLASS"},{"line_number":36,"context_line":"# NOTE(dtantsur): flag to indicate that the requested version was \"latest\"."},{"line_number":37,"context_line":"# Due to how OSC works we cannot just add \"latest\" to the list of supported"},{"line_number":38,"context_line":"# versions - it breaks the major version detection."},{"line_number":39,"context_line":"OS_BAREMETAL_API_LATEST \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_2cfe02ae","line":36,"updated":"2017-10-23 14:48:23.000000000","message":"wondering whether it might be useful to comment as to why we\u0027re setting it True (normally, you\u0027d think it would be False, and set to True where the code handles the requested version. We\u0027re setting it to True cuz the default is \u0027latest\u0027. (I suppose we could also leave it False, and set it to True later, but I suspect you did this for a reason.)","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8989e552cab61168d65d570fbb51139ba84baa82","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    for i in range(1, LAST_KNOWN_API_VERSION + 1)"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":"API_VERSIONS[\u00271\u0027] \u003d CLIENT_CLASS"},{"line_number":36,"context_line":"# NOTE(dtantsur): flag to indicate that the requested version was \"latest\"."},{"line_number":37,"context_line":"# Due to how OSC works we cannot just add \"latest\" to the list of supported"},{"line_number":38,"context_line":"# versions - it breaks the major version detection."},{"line_number":39,"context_line":"OS_BAREMETAL_API_LATEST \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_303f5388","line":36,"in_reply_to":"3f4b6375_2cfe02ae","updated":"2017-10-24 14:10:21.000000000","message":"Leaving it as False will result it more code :)","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    for i in range(1, LAST_KNOWN_API_VERSION + 1)"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":"API_VERSIONS[\u00271\u0027] \u003d CLIENT_CLASS"},{"line_number":36,"context_line":"# NOTE(dtantsur): flag to indicate that the requested version was \"latest\"."},{"line_number":37,"context_line":"# Due to how OSC works we cannot just add \"latest\" to the list of supported"},{"line_number":38,"context_line":"# versions - it breaks the major version detection."},{"line_number":39,"context_line":"OS_BAREMETAL_API_LATEST \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_beed4db8","line":36,"in_reply_to":"3f4b6375_303f5388","updated":"2017-10-24 19:18:11.000000000","message":"C\u0027mon, don\u0027t you want to increase the number of lines you modified? :)","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a12c5725e9b4a0dfd53ad79e7c76d43d0f64f718","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            # explicitly requests \"latest\", we need to correct it."},{"line_number":117,"context_line":"            OS_BAREMETAL_API_LATEST \u003d True"},{"line_number":118,"context_line":"        else:"},{"line_number":119,"context_line":"            # If the requested version is not \"latest\", we already unset this."},{"line_number":120,"context_line":"            OS_BAREMETAL_API_LATEST \u003d False"},{"line_number":121,"context_line":"        setattr(namespace, self.dest, values)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_a9d424be","line":119,"updated":"2017-10-23 14:29:27.000000000","message":"I don\u0027t understand. What is \u0027this\u0027 here? Cuz I interpret it to be OS_BAREMETAL_API_LATEST, but that doesn\u0027t make sense, since you\u0027re unsetting it here, so it wasn\u0027t \u0027already unset\u0027.","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8989e552cab61168d65d570fbb51139ba84baa82","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            # explicitly requests \"latest\", we need to correct it."},{"line_number":117,"context_line":"            OS_BAREMETAL_API_LATEST \u003d True"},{"line_number":118,"context_line":"        else:"},{"line_number":119,"context_line":"            # If the requested version is not \"latest\", we already unset this."},{"line_number":120,"context_line":"            OS_BAREMETAL_API_LATEST \u003d False"},{"line_number":121,"context_line":"        setattr(namespace, self.dest, values)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_d0491f31","line":119,"in_reply_to":"3f4b6375_a9d424be","updated":"2017-10-24 14:10:21.000000000","message":"Done","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    for i in range(1, LAST_KNOWN_API_VERSION + 1)"},{"line_number":34,"context_line":"}"},{"line_number":35,"context_line":"API_VERSIONS[\u00271\u0027] \u003d CLIENT_CLASS"},{"line_number":36,"context_line":"# NOTE(dtantsur): flag to indicate that the requested version was \"latest\"."},{"line_number":37,"context_line":"# Due to how OSC works we cannot just add \"latest\" to the list of supported"},{"line_number":38,"context_line":"# versions - it breaks the major version detection."},{"line_number":39,"context_line":"OS_BAREMETAL_API_LATEST \u003d True"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_5e6ad9ec","line":36,"updated":"2017-10-24 19:18:11.000000000","message":"\"latest\" or \"1\" ? Maybe put LATEST_VERSION_VALUES above this, and then just mention that ... the requested version is one of LATEST_VERSION_VALUES.","commit_id":"99c8aefdcf72a48fd3ceb4ead102d6bac500a666"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    LOG.debug(\u0027Instantiating baremetal client: %s\u0027, baremetal_client_class)"},{"line_number":55,"context_line":"    LOG.debug(\u0027Baremetal API version: %s\u0027,"},{"line_number":56,"context_line":"              requested_api_version if not OS_BAREMETAL_API_LATEST"},{"line_number":57,"context_line":"              else \"latest\")"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    client \u003d baremetal_client_class("},{"line_number":60,"context_line":"        os_ironic_api_version\u003drequested_api_version,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_de56c92a","line":57,"updated":"2017-10-24 19:18:11.000000000","message":"do you care? I think (didn\u0027t test) that it could be \u00271\u0027 too?","commit_id":"99c8aefdcf72a48fd3ceb4ead102d6bac500a666"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"class ReplaceLatestVersion(argparse.Action):"},{"line_number":106,"context_line":"    \"\"\"Replaces `latest` keyword by last known version."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    OSC cannot accept the literal \"latest\" as a supported API version as it"},{"line_number":109,"context_line":"    breaks the major version detection (OSC tries to load configuration options"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_9e8bb11d","line":106,"updated":"2017-10-24 19:18:11.000000000","message":"maybe \u0027Replaces a \u0027latest\u0027 keyword by the last known version.","commit_id":"99c8aefdcf72a48fd3ceb4ead102d6bac500a666"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":105,"context_line":"class ReplaceLatestVersion(argparse.Action):"},{"line_number":106,"context_line":"    \"\"\"Replaces `latest` keyword by last known version."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    OSC cannot accept the literal \"latest\" as a supported API version as it"},{"line_number":109,"context_line":"    breaks the major version detection (OSC tries to load configuration options"},{"line_number":110,"context_line":"    from setuptools entrypoint openstack.baremetal.vlatest). This action"},{"line_number":111,"context_line":"    replaces \"latest\" with the latest known version, and sets the global"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_3eb4bdd0","line":108,"updated":"2017-10-24 19:18:11.000000000","message":"Should update the description to include \u00271\u0027 too.","commit_id":"99c8aefdcf72a48fd3ceb4ead102d6bac500a666"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    breaks the major version detection (OSC tries to load configuration options"},{"line_number":110,"context_line":"    from setuptools entrypoint openstack.baremetal.vlatest). This action"},{"line_number":111,"context_line":"    replaces \"latest\" with the latest known version, and sets the global"},{"line_number":112,"context_line":"    OS_BAREMETAL_API_LATEST flag to True."},{"line_number":113,"context_line":"    \"\"\""},{"line_number":114,"context_line":"    def __call__(self, parser, namespace, values, option_string\u003dNone):"},{"line_number":115,"context_line":"        global OS_BAREMETAL_API_LATEST"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_9ede110f","line":112,"updated":"2017-10-24 19:18:11.000000000","message":"maybe s/to True/appropriately/ (so it covers both settings True \u0026 False)","commit_id":"99c8aefdcf72a48fd3ceb4ead102d6bac500a666"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            values \u003d LATEST_VERSION"},{"line_number":118,"context_line":"            # The default value of \"True\" may have been overriden due to"},{"line_number":119,"context_line":"            # non-empty OS_BAREMETAL_API_VERSION env variable. If a user"},{"line_number":120,"context_line":"            # explicitly requests \"latest\", we need to correct it."},{"line_number":121,"context_line":"            OS_BAREMETAL_API_LATEST \u003d True"},{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            # If the requested version is not \"latest\", always unset this"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_0111a452","line":120,"updated":"2017-10-24 19:18:11.000000000","message":"s/\"latest\"/\"latest\" or \"1\"/","commit_id":"99c8aefdcf72a48fd3ceb4ead102d6bac500a666"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"69cb3a875318ed8d9c06826fcf63d2abb17ed903","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            OS_BAREMETAL_API_LATEST \u003d True"},{"line_number":122,"context_line":"        else:"},{"line_number":123,"context_line":"            # If the requested version is not \"latest\", always unset this"},{"line_number":124,"context_line":"            # flag, no matter what was provided in the"},{"line_number":125,"context_line":"            OS_BAREMETAL_API_LATEST \u003d False"},{"line_number":126,"context_line":"        setattr(namespace, self.dest, values)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_fece2558","line":124,"updated":"2017-10-24 19:18:11.000000000","message":"in the .. what?\n\nDo we need this comment? I think it is ok w/o ? Cuz, now it is \u0027not \"latest\" or \"1\"\u0027.","commit_id":"99c8aefdcf72a48fd3ceb4ead102d6bac500a666"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"bd42ce6d39fbf8c9bf12dfbe432e396a11512eb7","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            API_VERSIONS,"},{"line_number":88,"context_line":"            key\u003dlambda k: [int(x) for x in k.split(\u0027.\u0027)]) + [\u0027latest\u0027],"},{"line_number":89,"context_line":"        action\u003dReplaceLatestVersion,"},{"line_number":90,"context_line":"        help\u003d\u0027Baremetal API version (Env: OS_BAREMETAL_API_VERSION). \u0027"},{"line_number":91,"context_line":"             \u0027The default is \"latest\", which is the maximum version \u0027"},{"line_number":92,"context_line":"             \u0027supported by both the client and the server.\u0027,"},{"line_number":93,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_96d93b58","line":90,"updated":"2017-10-25 15:30:18.000000000","message":"I was wondering why you removed a test, and ended up looking at this. I took a look at what \u0027openstack help\u0027 shows. For some of the other args (e.g. os-compute-api-version), there is a \u0027default\u003d\u0027. And the (ENV..) is at the end.\n\nI wonder if we should change the help msg. Eg\n\nhelp\u003d\u0027Baremetal API version, default\u003d\"latest\", the maximum version supported by both the client and the server. (Env: OS_BAREMETAL_API_VERSION)\u0027.","commit_id":"75400be52ddaca40a00b69bddd6919b614bfd9ef"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"3191301f1097a90aea4104ef097a30c86e2d2eed","unresolved":false,"context_lines":[{"line_number":52,"context_line":"              requested_api_version if not OS_BAREMETAL_API_LATEST"},{"line_number":53,"context_line":"              else \"latest\")"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    if requested_api_version \u003d\u003d \u00271\u0027:"},{"line_number":56,"context_line":"        # NOTE(dtantsur): \u00271\u0027 means \u0027the latest v1 API version\u0027. Since we don\u0027t"},{"line_number":57,"context_line":"        # have other major versions, it\u0027s identical to \u0027latest\u0027."},{"line_number":58,"context_line":"        requested_api_version \u003d LATEST_VERSION"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_2537ec01","line":55,"updated":"2017-10-25 18:15:11.000000000","message":"I see that \u00271\u0027 is in API_VERSIONS on Line 35. So this will work.","commit_id":"c534b9465d4c7cea8944d282665c960285c3e162"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"3191301f1097a90aea4104ef097a30c86e2d2eed","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    \"\"\""},{"line_number":118,"context_line":"    def __call__(self, parser, namespace, values, option_string\u003dNone):"},{"line_number":119,"context_line":"        global OS_BAREMETAL_API_LATEST"},{"line_number":120,"context_line":"        if values \u003d\u003d \u0027latest\u0027:"},{"line_number":121,"context_line":"            values \u003d LATEST_VERSION"},{"line_number":122,"context_line":"            # The default value of \"True\" may have been overriden due to"},{"line_number":123,"context_line":"            # non-empty OS_BAREMETAL_API_VERSION env variable. If a user"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_1008ac25","line":120,"updated":"2017-10-25 18:15:11.000000000","message":"nit: This probably could have been:\n\n if values in (\u0027latest\u0027, \u00271\u0027):\n\nAnd would have made code above in lines 55-61 unneeded.","commit_id":"c534b9465d4c7cea8944d282665c960285c3e162"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef5ef7703ec4268074583dfb9d712bc8c59f5a2f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    \"\"\""},{"line_number":118,"context_line":"    def __call__(self, parser, namespace, values, option_string\u003dNone):"},{"line_number":119,"context_line":"        global OS_BAREMETAL_API_LATEST"},{"line_number":120,"context_line":"        if values \u003d\u003d \u0027latest\u0027:"},{"line_number":121,"context_line":"            values \u003d LATEST_VERSION"},{"line_number":122,"context_line":"            # The default value of \"True\" may have been overriden due to"},{"line_number":123,"context_line":"            # non-empty OS_BAREMETAL_API_VERSION env variable. If a user"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f4b6375_06119304","line":120,"in_reply_to":"3f4b6375_1008ac25","updated":"2017-10-25 21:40:11.000000000","message":"That seems to make a lot of sense, but as-is this should be fine.","commit_id":"c534b9465d4c7cea8944d282665c960285c3e162"}],"ironicclient/tests/functional/osc/v1/test_baremetal_node_basic.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"9227661b36ad72f0d5d6026ddaf12d3a956e8c5f","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        2) Create one more baremetal node explicitly with old API version"},{"line_number":68,"context_line":"        3) Check that node successfully created."},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        node_info \u003d self.node_create("},{"line_number":71,"context_line":"            params\u003d\u0027--os-baremetal-api-version 1.1\u0027)"},{"line_number":72,"context_line":"        self.assertEqual(node_info[\u0027driver\u0027], \u0027fake\u0027)"},{"line_number":73,"context_line":"        self.assertEqual(node_info[\u0027maintenance\u0027], False)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_d4a5fdb6","line":70,"updated":"2017-10-19 14:42:16.000000000","message":"we seem to set the node name in node_create unconditionally, this needs to change (or, we can pass version 1.5 here)","commit_id":"2854f800dc25d44c5efdf8db38672889a2c2f275"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cae853e8209bb6eeaf13e6093a30d5d39edc3e5e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        2) Create one more baremetal node explicitly with old API version"},{"line_number":68,"context_line":"        3) Check that node successfully created."},{"line_number":69,"context_line":"        \"\"\""},{"line_number":70,"context_line":"        node_info \u003d self.node_create("},{"line_number":71,"context_line":"            params\u003d\u0027--os-baremetal-api-version 1.1\u0027)"},{"line_number":72,"context_line":"        self.assertEqual(node_info[\u0027driver\u0027], \u0027fake\u0027)"},{"line_number":73,"context_line":"        self.assertEqual(node_info[\u0027maintenance\u0027], False)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f4b6375_5a625740","line":70,"in_reply_to":"3f4b6375_d4a5fdb6","updated":"2017-10-19 15:29:02.000000000","message":"Done","commit_id":"2854f800dc25d44c5efdf8db38672889a2c2f275"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"db35155e602cb1d41b8096c7ce6c6eee147ad150","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(BaremetalNodeTests, self).setUp()"},{"line_number":28,"context_line":"        self.node \u003d self.node_create()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def test_no_warning_version_specified(self):"},{"line_number":31,"context_line":"        \"\"\"Test API version warning is not printed when API version specified."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        This warning should not appear when a user specifies the ironic API"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_c4e40caf","line":30,"updated":"2017-10-20 18:03:11.000000000","message":"Can we delete this test?","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ce7a9d9b7497cecf7440581bdfdb892323a1702b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(BaremetalNodeTests, self).setUp()"},{"line_number":28,"context_line":"        self.node \u003d self.node_create()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def test_no_warning_version_specified(self):"},{"line_number":31,"context_line":"        \"\"\"Test API version warning is not printed when API version specified."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        This warning should not appear when a user specifies the ironic API"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_2a703edc","line":30,"updated":"2017-10-21 20:17:28.000000000","message":"I was thinking about that, but probably forgot. I can do it in a follow-up or right here.","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8989e552cab61168d65d570fbb51139ba84baa82","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(BaremetalNodeTests, self).setUp()"},{"line_number":28,"context_line":"        self.node \u003d self.node_create()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def test_no_warning_version_specified(self):"},{"line_number":31,"context_line":"        \"\"\"Test API version warning is not printed when API version specified."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        This warning should not appear when a user specifies the ironic API"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_50676fbe","line":30,"in_reply_to":"3f4b6375_2a703edc","updated":"2017-10-24 14:10:21.000000000","message":"Done","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7aae1c7641ab27238ee7f704df2b90bc9ef0ff16","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(BaremetalNodeTests, self).setUp()"},{"line_number":28,"context_line":"        self.node \u003d self.node_create()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def test_no_warning_version_specified(self):"},{"line_number":31,"context_line":"        \"\"\"Test API version warning is not printed when API version specified."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        This warning should not appear when a user specifies the ironic API"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_67ec3a29","line":30,"in_reply_to":"3f4b6375_c4e40caf","updated":"2017-10-20 18:19:45.000000000","message":"kind of looks like we should...","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"}],"ironicclient/tests/unit/osc/test_plugin.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"c91a92455af39f486971248415f3aa25ad089205","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @mock.patch.object(plugin.utils, \u0027env\u0027, lambda x: None)"},{"line_number":26,"context_line":"    @mock.patch.object(plugin, \u0027OS_BAREMETAL_API_LATEST\u0027, new\u003dFalse)"},{"line_number":27,"context_line":"    @mock.patch.object(client, \u0027Client\u0027, autospec\u003dTrue)"},{"line_number":28,"context_line":"    def test_make_client_explicit_version(self, mock_client):"},{"line_number":29,"context_line":"        instance \u003d fakes.FakeClientManager()"},{"line_number":30,"context_line":"        instance.get_endpoint_for_service_type \u003d mock.Mock("},{"line_number":31,"context_line":"            return_value\u003d\u0027endpoint\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_9fbbd670","line":28,"updated":"2017-10-23 15:33:12.000000000","message":"seems like we might be missing a test.\n\n- explicit version (not \u0027latest\u0027)\n- explicit version (\u0027latest\u0027)\n- not specified","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"ebbd193417d705322688af1dda1cab352b5ce656","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @mock.patch.object(plugin.utils, \u0027env\u0027, lambda x: None)"},{"line_number":26,"context_line":"    @mock.patch.object(plugin, \u0027OS_BAREMETAL_API_LATEST\u0027, new\u003dFalse)"},{"line_number":27,"context_line":"    @mock.patch.object(client, \u0027Client\u0027, autospec\u003dTrue)"},{"line_number":28,"context_line":"    def test_make_client_explicit_version(self, mock_client):"},{"line_number":29,"context_line":"        instance \u003d fakes.FakeClientManager()"},{"line_number":30,"context_line":"        instance.get_endpoint_for_service_type \u003d mock.Mock("},{"line_number":31,"context_line":"            return_value\u003d\u0027endpoint\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_c25a95f1","line":28,"in_reply_to":"3f4b6375_9fbbd670","updated":"2017-10-23 15:46:50.000000000","message":"Sorry, I don\u0027t really understand that code but it looks like it expects some OSC instance, so \u0027latest\u0027 can\u0027t be specified there I think.","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8989e552cab61168d65d570fbb51139ba84baa82","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @mock.patch.object(plugin.utils, \u0027env\u0027, lambda x: None)"},{"line_number":26,"context_line":"    @mock.patch.object(plugin, \u0027OS_BAREMETAL_API_LATEST\u0027, new\u003dFalse)"},{"line_number":27,"context_line":"    @mock.patch.object(client, \u0027Client\u0027, autospec\u003dTrue)"},{"line_number":28,"context_line":"    def test_make_client_explicit_version(self, mock_client):"},{"line_number":29,"context_line":"        instance \u003d fakes.FakeClientManager()"},{"line_number":30,"context_line":"        instance.get_endpoint_for_service_type \u003d mock.Mock("},{"line_number":31,"context_line":"            return_value\u003d\u0027endpoint\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f4b6375_300d13e8","line":28,"in_reply_to":"3f4b6375_c25a95f1","updated":"2017-10-24 14:10:21.000000000","message":"Yeah, the value of \"latest\" never reaches this code.","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"bd42ce6d39fbf8c9bf12dfbe432e396a11512eb7","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        plugin.make_client(instance)"},{"line_number":49,"context_line":"        mock_client.assert_called_once_with("},{"line_number":50,"context_line":"            # NOTE(dtantsur): \"latest\" is changed to an actual version before"},{"line_number":51,"context_line":"            # make_client is called."},{"line_number":52,"context_line":"            os_ironic_api_version\u003dfakes.API_VERSION,"},{"line_number":53,"context_line":"            allow_api_version_downgrade\u003dTrue,"},{"line_number":54,"context_line":"            session\u003dinstance.session,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_7bceaa2d","line":51,"updated":"2017-10-25 15:30:18.000000000","message":"to reflect the code, maybe put this comment above L48, and also add\n\n    instance._api_version \u003d plugin.LATEST_VERSION\n\nbecause that\u0027s what our code would do. It is odd to see fakes.API_VERSION @ L52.","commit_id":"75400be52ddaca40a00b69bddd6919b614bfd9ef"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"bd42ce6d39fbf8c9bf12dfbe432e396a11512eb7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    def test_build_option_parser(self, mock_add_argument):"},{"line_number":85,"context_line":"        parser \u003d argparse.ArgumentParser()"},{"line_number":86,"context_line":"        mock_add_argument.reset_mock()"},{"line_number":87,"context_line":"        plugin.build_option_parser(parser)"},{"line_number":88,"context_line":"        version_list \u003d [\u00271\u0027] + [\u00271.%d\u0027 % i for i in range("},{"line_number":89,"context_line":"            1, plugin.LAST_KNOWN_API_VERSION + 1)] + [\u0027latest\u0027]"},{"line_number":90,"context_line":"        mock_add_argument.assert_called_once_with("}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_36d28701","line":87,"updated":"2017-10-25 15:30:18.000000000","message":"this calls plugin._get_environment_version(). and there are no separate tests for that. So we might want to mock OS_BAREMETAL_API_LATEST and see if it changes. For this and the other tests in this class. (Or do in a separate patch, add tests for _get_environment_version()??)","commit_id":"75400be52ddaca40a00b69bddd6919b614bfd9ef"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"bd42ce6d39fbf8c9bf12dfbe432e396a11512eb7","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            action\u003dplugin.ReplaceLatestVersion, choices\u003dversion_list,"},{"line_number":106,"context_line":"            default\u003dplugin.LATEST_VERSION, help\u003dmock.ANY,"},{"line_number":107,"context_line":"            metavar\u003d\u0027\u003cbaremetal-api-version\u003e\u0027)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    @mock.patch.object(plugin.utils, \u0027env\u0027, lambda x: \"1.1\")"},{"line_number":110,"context_line":"    def test_build_option_parser_env(self, mock_add_argument):"},{"line_number":111,"context_line":"        parser \u003d argparse.ArgumentParser()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_76811ffb","line":108,"updated":"2017-10-25 15:30:18.000000000","message":"I think we should still put in a test for env_\u00271\u0027 -- the default value will be 1 in that case (I think).","commit_id":"75400be52ddaca40a00b69bddd6919b614bfd9ef"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b24162a50371135e535bd4bfc2cf79b0b8250106","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            action\u003dplugin.ReplaceLatestVersion, choices\u003dversion_list,"},{"line_number":106,"context_line":"            default\u003dplugin.LATEST_VERSION, help\u003dmock.ANY,"},{"line_number":107,"context_line":"            metavar\u003d\u0027\u003cbaremetal-api-version\u003e\u0027)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    @mock.patch.object(plugin.utils, \u0027env\u0027, lambda x: \"1.1\")"},{"line_number":110,"context_line":"    def test_build_option_parser_env(self, mock_add_argument):"},{"line_number":111,"context_line":"        parser \u003d argparse.ArgumentParser()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_160c2b3f","line":108,"in_reply_to":"3f4b6375_76811ffb","updated":"2017-10-25 15:45:13.000000000","message":"Oops, my bad. I thought code got changed here wrt 1 but it wasn\u0027t. sorry, ignore this.","commit_id":"75400be52ddaca40a00b69bddd6919b614bfd9ef"}],"releasenotes/notes/latest-default-41fdcc49701c4d70.yaml":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a12c5725e9b4a0dfd53ad79e7c76d43d0f64f718","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    which is the maximum version understood by both the client and the server."},{"line_number":6,"context_line":"    This change makes the CLI automatically pull in new features and changes"},{"line_number":7,"context_line":"    (including potentially breaking), when talking to new servers."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    Scripts that rely on some specific API behavior should set the"},{"line_number":10,"context_line":"    ``OS_BAREMETAL_API_VERSION`` environment variable or use the"},{"line_number":11,"context_line":"    ``--os-baremetal-api-version`` CLI argument."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_69ad0c30","line":8,"updated":"2017-10-23 14:29:27.000000000","message":"I wonder if we should mention the ironic CLI and python API, and whether those are changed too.","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8989e552cab61168d65d570fbb51139ba84baa82","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    which is the maximum version understood by both the client and the server."},{"line_number":6,"context_line":"    This change makes the CLI automatically pull in new features and changes"},{"line_number":7,"context_line":"    (including potentially breaking), when talking to new servers."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    Scripts that rely on some specific API behavior should set the"},{"line_number":10,"context_line":"    ``OS_BAREMETAL_API_VERSION`` environment variable or use the"},{"line_number":11,"context_line":"    ``--os-baremetal-api-version`` CLI argument."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f4b6375_10e0d7f9","line":8,"in_reply_to":"3f4b6375_69ad0c30","updated":"2017-10-24 14:10:21.000000000","message":"I\u0027ll mention the python API, but I\u0027ll omit \"ironic\" for now, until we decide its fate","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a12c5725e9b4a0dfd53ad79e7c76d43d0f64f718","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f4b6375_09bfb861","line":12,"updated":"2017-10-23 14:29:27.000000000","message":"I wonder if we should also have this in some other section besides upgrade. Maybe in feature? (cuz I don\u0027t consider it a bug).","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"240f9d717414a201bd9e7b96f3e9a15afc75f3bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f4b6375_df7caeec","line":12,"in_reply_to":"3f4b6375_09bfb861","updated":"2017-10-23 15:28:05.000000000","message":"I do kind of consider it a bug, one that people have hit a lot and have had to bypass by explicitly stating verisons...","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8989e552cab61168d65d570fbb51139ba84baa82","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f4b6375_3082b301","line":12,"in_reply_to":"3f4b6375_df7caeec","updated":"2017-10-24 14:10:21.000000000","message":"Done","commit_id":"19d14174b9b1b3f9cc72f46709a025c6323aa180"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"446e15f726348926d10bff80a32c6d7058a44447","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    The bare metal OSC client (``openstack baremetal`` commands) now supports"},{"line_number":18,"context_line":"    API version of ``1``, which is currently identical to ``latest``. However,"},{"line_number":19,"context_line":"    if we ever introduce Bare Metal API v2, this value will start meaning"},{"line_number":20,"context_line":"    the latest supported API version of the v1 API, while the value of"},{"line_number":21,"context_line":"    ``latest`` will mean the latest supported version of the v2 API."},{"line_number":22,"context_line":"fixes:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3f4b6375_a3e41f3d","line":19,"updated":"2017-10-24 14:29:24.000000000","message":"I think this \u0027However, ...\u0027 will cause confusion, cuz it might make people wonder when/if we\u0027re going to have a v2 in the near future, even though we don\u0027t have any plans to do so.\n\nHow about something like\n\nThe bare metal OSC client (..) supports the specification of (the major) API version ``1``. The actual version used will be the maximum 1.x version understood by both the client and the server. Thus, it is currently identical to the ``latest`` value.\n\nfwiw, I have been referring to the OSC thing as \u0027openstack baremetal\u0027 CLI cuz that\u0027s how it is described in our docs [1]\n\n[1] https://docs.openstack.org/python-ironicclient/latest/cli/osc_plugin_cli.html.","commit_id":"988c77102b73e7c00cde143bb90a4a2c005aba0a"}]}
