)]}'
{"openstack/baremetal/v1/node.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d3ad78c8538fa66d8f33fbbd543df91084967a01","unresolved":false,"context_lines":[{"line_number":782,"context_line":"        :returns: The updated :class:`~openstack.baremetal.v1.node.Node`"},{"line_number":783,"context_line":"        \"\"\""},{"line_number":784,"context_line":"        session \u003d self._get_session(session)"},{"line_number":785,"context_line":"        utils.require_microversion(session, \u00271.37\u0027)"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"        request \u003d self._prepare_request(requires_id\u003dTrue)"},{"line_number":788,"context_line":"        request.url \u003d utils.urljoin(request.url, \u0027traits\u0027, trait)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_3541a237","line":785,"updated":"2020-10-09 14:51:34.000000000","message":"I think after your change to pick_microversion, it can be used here without further modifications.","commit_id":"6c75d66f62b97ab75bfd1d66e15bb37baa34a327"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3c9840156fc39c8d9e4590c0e3fc54b9ff3b7b85","unresolved":false,"context_lines":[{"line_number":788,"context_line":"        request.url \u003d utils.urljoin(request.url, \u0027traits\u0027, trait)"},{"line_number":789,"context_line":"        response \u003d session.put("},{"line_number":790,"context_line":"            request.url, json\u003dNone,"},{"line_number":791,"context_line":"            headers\u003drequest.headers,"},{"line_number":792,"context_line":"            retriable_status_codes\u003d_common.RETRIABLE_STATUS_CODES)"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"        msg \u003d (\"Failed to add trait {trait} for node {node}\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_95250eb1","line":791,"updated":"2020-10-09 14:51:02.000000000","message":"You need to pass the microversion, otherwise the default will be used. Same below.","commit_id":"6c75d66f62b97ab75bfd1d66e15bb37baa34a327"}],"openstack/cloud/_compute.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3c9840156fc39c8d9e4590c0e3fc54b9ff3b7b85","unresolved":false,"context_lines":[{"line_number":889,"context_line":"            # A tag supported only in server microversion 2.32-2.36 or \u003e\u003d 2.42"},{"line_number":890,"context_line":"            # Bumping the version to 2.42 to support the \u0027tag\u0027 implementation"},{"line_number":891,"context_line":"            if \u0027tag\u0027 in nic:"},{"line_number":892,"context_line":"                if utils.supports_microversion(self.compute, \u00272.42\u0027):"},{"line_number":893,"context_line":"                    net[\u0027tag\u0027] \u003d nic.pop(\u0027tag\u0027)"},{"line_number":894,"context_line":"            if nic:"},{"line_number":895,"context_line":"                raise exc.OpenStackCloudException("}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_352c0292","line":892,"updated":"2020-10-09 14:51:02.000000000","message":"Same problem: the fact that it supports a microversion does not mean it will be used.","commit_id":"6c75d66f62b97ab75bfd1d66e15bb37baa34a327"}],"openstack/tests/unit/test_utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"01af23d3fed034c7f4f0ea792de4a3ee1a0339b7","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            \u00271.8\u0027,"},{"line_number":187,"context_line":"            True)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    @mock.patch(\u0027openstack.utils.supports_microversion\u0027)"},{"line_number":190,"context_line":"    def test_require_microversion(self, sm_mock):"},{"line_number":191,"context_line":"        utils.require_microversion(self.adapter, \u00271.2\u0027)"},{"line_number":192,"context_line":"        sm_mock.assert_called_with(self.adapter,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f65232a_23663453","line":189,"updated":"2020-10-21 10:21:42.000000000","message":"nit: autospec\u003dTrue","commit_id":"e8f0943bc0fcc3102c6e8e0f1606acff3de11976"}],"openstack/utils.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d0eb4a2fa759b2f738ceef22918478eb45e5069","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        return keys"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"def supports_microversion(adapter, microversion, respect_default_mv\u003dFalse):"},{"line_number":98,"context_line":"    \"\"\"Determine if the given adapter supports the given microversion."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    Checks the min and max microversion asserted by the service and checks"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_3c6b8786","line":97,"range":{"start_line":97,"start_character":47,"end_line":97,"end_character":73},"updated":"2020-10-06 13:56:58.000000000","message":"Why is this configurable? Surely this behavior should *always* be enabled?","commit_id":"ead91a1f2323d258c7b73ac70373812828bdb776"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"b4cc3b3aa29711b30ae707aa9919630c6967f76b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        return keys"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"def supports_microversion(adapter, microversion, respect_default_mv\u003dFalse):"},{"line_number":98,"context_line":"    \"\"\"Determine if the given adapter supports the given microversion."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    Checks the min and max microversion asserted by the service and checks"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_7c133f02","line":97,"range":{"start_line":97,"start_character":47,"end_line":97,"end_character":73},"in_reply_to":"9f560f44_3c6b8786","updated":"2020-10-06 13:59:18.000000000","message":"because we have other places using this function with different scope. With moving more of OSC towards SDK we would be able to switch default, but for now let\u0027s not break other usecases","commit_id":"ead91a1f2323d258c7b73ac70373812828bdb776"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bc3cdbd74852f2b1dbc4fc2dd25b83309789b99c","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        return keys"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"def supports_microversion(adapter, microversion, respect_default_mv\u003dFalse):"},{"line_number":98,"context_line":"    \"\"\"Determine if the given adapter supports the given microversion."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    Checks the min and max microversion asserted by the service and checks"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e7b4dcd6","line":97,"range":{"start_line":97,"start_character":47,"end_line":97,"end_character":73},"in_reply_to":"9f560f44_7c133f02","updated":"2020-10-06 14:38:34.000000000","message":"\u003e because we have other places using this function with different\n \u003e scope. With moving more of OSC towards SDK we would be able to\n \u003e switch default, but for now let\u0027s not break other usecases\n\nIs this hypothetical or have we seen breakages somewhere? From what I can tell, there are only a couple of compute APIs using this function and I suspect they will all benefit from this fix since they\u0027re all doing the wrong thing at the moment. This is a bugfix after all, right? Users shouldn\u0027t have to opt-in to non-broken behavior","commit_id":"ead91a1f2323d258c7b73ac70373812828bdb776"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"151afcdc3025c56bfb7e209ada3d02fde8b26a87","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        return keys"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"def supports_microversion(adapter, microversion, respect_default_mv\u003dFalse):"},{"line_number":98,"context_line":"    \"\"\"Determine if the given adapter supports the given microversion."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    Checks the min and max microversion asserted by the service and checks"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_47a94823","line":97,"range":{"start_line":97,"start_character":47,"end_line":97,"end_character":73},"in_reply_to":"9f560f44_e7b4dcd6","updated":"2020-10-06 15:01:44.000000000","message":"I agree, we should probably change the default with an appropriate release note.","commit_id":"ead91a1f2323d258c7b73ac70373812828bdb776"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"151afcdc3025c56bfb7e209ada3d02fde8b26a87","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            required \u003d default"},{"line_number":152,"context_line":"        else:"},{"line_number":153,"context_line":"            required \u003d (default if discover.version_match(required, default)"},{"line_number":154,"context_line":"                        else required)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    if required is not None:"},{"line_number":157,"context_line":"        return discover.version_to_string(required)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_67ae0c30","line":154,"updated":"2020-10-06 15:01:44.000000000","message":"I think this should be fixed to raise of required \u003e default.","commit_id":"ead91a1f2323d258c7b73ac70373812828bdb776"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3c9840156fc39c8d9e4590c0e3fc54b9ff3b7b85","unresolved":false,"context_lines":[{"line_number":183,"context_line":"    if required is not None:"},{"line_number":184,"context_line":"        if not supports_microversion(session, required):"},{"line_number":185,"context_line":"            raise exceptions.SDKException("},{"line_number":186,"context_line":"                \u0027Requested microversion is not supported by the server side\u0027)"},{"line_number":187,"context_line":"        return discover.version_to_string(required)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_754f9a69","line":186,"updated":"2020-10-09 14:51:02.000000000","message":"\"... or the default microversion is too low\"","commit_id":"6c75d66f62b97ab75bfd1d66e15bb37baa34a327"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"01af23d3fed034c7f4f0ea792de4a3ee1a0339b7","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    :type session: :class:`~keystoneauth1.adapter.Adapter`"},{"line_number":163,"context_line":"    :param required: Version that is required for an action."},{"line_number":164,"context_line":"    :type required: String or tuple or None."},{"line_number":165,"context_line":"    :return: ``required`` as a string if the ``session``\u0027s default is too low,"},{"line_number":166,"context_line":"        the ``session``\u0027s default otherwise. Returns ``None`` of both"},{"line_number":167,"context_line":"        are ``None``."},{"line_number":168,"context_line":"    :raises: TypeError if ``required`` is invalid."}],"source_content_type":"text/x-python","patch_set":4,"id":"3f65232a_835bc885","line":165,"updated":"2020-10-21 10:21:42.000000000","message":"This needs updating now","commit_id":"e8f0943bc0fcc3102c6e8e0f1606acff3de11976"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"01af23d3fed034c7f4f0ea792de4a3ee1a0339b7","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        if required is None:"},{"line_number":178,"context_line":"            required \u003d default"},{"line_number":179,"context_line":"        else:"},{"line_number":180,"context_line":"            required \u003d (default if discover.version_match(required, default)"},{"line_number":181,"context_line":"                        else required)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    if required is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f65232a_63602c34","line":180,"updated":"2020-10-21 10:21:42.000000000","message":"I\u0027d prefer to raise here on mismatch so that we have a more precise error message","commit_id":"e8f0943bc0fcc3102c6e8e0f1606acff3de11976"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"01af23d3fed034c7f4f0ea792de4a3ee1a0339b7","unresolved":false,"context_lines":[{"line_number":183,"context_line":"    if required is not None:"},{"line_number":184,"context_line":"        if not supports_microversion(session, required):"},{"line_number":185,"context_line":"            raise exceptions.SDKException("},{"line_number":186,"context_line":"                \u0027Requested microversion is not supported by the server side \u0027"},{"line_number":187,"context_line":"                \u0027or the default microversion is too low\u0027)"},{"line_number":188,"context_line":"        return discover.version_to_string(required)"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f65232a_c354a057","line":186,"updated":"2020-10-21 10:21:42.000000000","message":"Let\u0027s mention the required version in the message","commit_id":"e8f0943bc0fcc3102c6e8e0f1606acff3de11976"}],"releasenotes/notes/fix-microversion-354dc70deb2b2f0b.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4d2d1b871694a69cf743af41805b785e29f4f5c4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Modify microversion handling. Microversion chosen by the client/user is"},{"line_number":5,"context_line":"    respected in the mv negotiation. For features, requiring particular"},{"line_number":6,"context_line":"    microversion, it would be ensured it is supported by the server side and"},{"line_number":7,"context_line":"    required mv is \u003c\u003d chosen mv, otherwise call will be rejected."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_e60ccb94","line":5,"range":{"start_line":5,"start_character":49,"end_line":5,"end_character":50},"updated":"2020-10-07 16:59:13.000000000","message":"nit: drop this","commit_id":"6c75d66f62b97ab75bfd1d66e15bb37baa34a327"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3c9840156fc39c8d9e4590c0e3fc54b9ff3b7b85","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Modify microversion handling. Microversion chosen by the client/user is"},{"line_number":5,"context_line":"    respected in the mv negotiation. For features, requiring particular"},{"line_number":6,"context_line":"    microversion, it would be ensured it is supported by the server side and"},{"line_number":7,"context_line":"    required mv is \u003c\u003d chosen mv, otherwise call will be rejected."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_b555b2fb","line":5,"range":{"start_line":5,"start_character":21,"end_line":5,"end_character":23},"updated":"2020-10-09 14:51:02.000000000","message":"s/mv/microversion/","commit_id":"6c75d66f62b97ab75bfd1d66e15bb37baa34a327"}]}
