)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e8133d45d437780cedc3017fa961b7ada97c5d21","unresolved":false,"context_lines":[{"line_number":13,"context_line":"conductor layer to avoid an up-call to get the host AZ information"},{"line_number":14,"context_line":"from the API DB during a reschedule."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Note that the field is nullable because a host can not be in any"},{"line_number":17,"context_line":"AZ and CONF.default_availability_zone can technically be set to"},{"line_number":18,"context_line":"None though it defaults to \"nova\"."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_ab87bb61","line":16,"range":{"start_line":16,"start_character":47,"end_line":16,"end_character":64},"updated":"2019-10-02 14:49:06.000000000","message":"\"can be in no\" would make more sense to me","commit_id":"4688c0e7c35468337ac80fa11ca149c6df86f7b8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d058dbece6cd11c201ae0ecdf6c8add234db78be","unresolved":false,"context_lines":[{"line_number":13,"context_line":"conductor layer to avoid an up-call to get the host AZ information"},{"line_number":14,"context_line":"from the API DB during a reschedule."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Note that the field is nullable because a host can not be in any"},{"line_number":17,"context_line":"AZ and CONF.default_availability_zone can technically be set to"},{"line_number":18,"context_line":"None though it defaults to \"nova\"."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_2be2eb02","line":16,"range":{"start_line":16,"start_character":47,"end_line":16,"end_character":64},"in_reply_to":"3fa7e38b_2b6f4b93","updated":"2019-10-02 14:55:27.000000000","message":"Sure, but.. it\u0027s clearly confusing here, and you got it phrased properly in the comment in the next file :)","commit_id":"4688c0e7c35468337ac80fa11ca149c6df86f7b8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5f65b0f70a0612cefc6734e2bdb897aa3beb76ad","unresolved":false,"context_lines":[{"line_number":13,"context_line":"conductor layer to avoid an up-call to get the host AZ information"},{"line_number":14,"context_line":"from the API DB during a reschedule."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Note that the field is nullable because a host can not be in any"},{"line_number":17,"context_line":"AZ and CONF.default_availability_zone can technically be set to"},{"line_number":18,"context_line":"None though it defaults to \"nova\"."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_53511962","line":16,"range":{"start_line":16,"start_character":47,"end_line":16,"end_character":64},"in_reply_to":"3fa7e38b_2be2eb02","updated":"2019-10-02 17:28:51.000000000","message":"Done","commit_id":"4688c0e7c35468337ac80fa11ca149c6df86f7b8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c6ab9f7fc4f53d79e59b8f5e63b5868246a6d6e8","unresolved":false,"context_lines":[{"line_number":13,"context_line":"conductor layer to avoid an up-call to get the host AZ information"},{"line_number":14,"context_line":"from the API DB during a reschedule."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Note that the field is nullable because a host can not be in any"},{"line_number":17,"context_line":"AZ and CONF.default_availability_zone can technically be set to"},{"line_number":18,"context_line":"None though it defaults to \"nova\"."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3fa7e38b_2b6f4b93","line":16,"range":{"start_line":16,"start_character":47,"end_line":16,"end_character":64},"in_reply_to":"3fa7e38b_ab87bb61","updated":"2019-10-02 14:51:56.000000000","message":"As long as you reapply gibi\u0027s lost +2...","commit_id":"4688c0e7c35468337ac80fa11ca149c6df86f7b8"}],"nova/objects/selection.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8a1e542bcc07ff7d4922312b571caf702c737145","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"allocation_request_version\": fields.StringField(nullable\u003dTrue),"},{"line_number":48,"context_line":"        # The availability_zone represents the AZ the service_host is in at"},{"line_number":49,"context_line":"        # the time of scheduling."},{"line_number":50,"context_line":"        \u0027availability_zone\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":51,"context_line":"    }"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_732b0a82","line":50,"range":{"start_line":50,"start_character":48,"end_line":50,"end_character":61},"updated":"2019-10-01 13:58:24.000000000","message":"This is nullable for two reasons:\n\n1. The Instance.availability_zone field is nullable - though that\u0027s not a great reason, the bigger reason is:\n\n2. The host may not be in an AZ, and CONF.default_availability_zone is a StrOpt which technically could be set to None (though I\u0027m not sure anyone ever would or what would happen if you did), so we have to account for it being a None value (rather than just not setting the field).","commit_id":"a39c1dc188c300be53dbf48b8bb8207ebe06e70a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d8d7b3f400e796f17ad964ae6dcea79f08c28ba9","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"allocation_request_version\": fields.StringField(nullable\u003dTrue),"},{"line_number":48,"context_line":"        # The availability_zone represents the AZ the service_host is in at"},{"line_number":49,"context_line":"        # the time of scheduling."},{"line_number":50,"context_line":"        \u0027availability_zone\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":51,"context_line":"    }"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_2e26886a","line":50,"range":{"start_line":50,"start_character":48,"end_line":50,"end_character":61},"in_reply_to":"3fa7e38b_6b2f92a7","updated":"2019-10-01 17:30:38.000000000","message":"Done","commit_id":"a39c1dc188c300be53dbf48b8bb8207ebe06e70a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5f9d4dc2eea7998aacd28b02de94b79a42fee56d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"allocation_request_version\": fields.StringField(nullable\u003dTrue),"},{"line_number":48,"context_line":"        # The availability_zone represents the AZ the service_host is in at"},{"line_number":49,"context_line":"        # the time of scheduling."},{"line_number":50,"context_line":"        \u0027availability_zone\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":51,"context_line":"    }"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_0ecb8c72","line":50,"range":{"start_line":50,"start_character":48,"end_line":50,"end_character":61},"in_reply_to":"3fa7e38b_732b0a82","updated":"2019-10-01 17:33:42.000000000","message":"\u003e This is nullable for two reasons:\n \u003e \n \u003e 1. The Instance.availability_zone field is nullable - though that\u0027s\n \u003e not a great reason, the bigger reason is:\n \u003e \n \u003e 2. The host may not be in an AZ, and CONF.default_availability_zone\n \u003e is a StrOpt which technically could be set to None (though I\u0027m not\n \u003e sure anyone ever would or what would happen if you did), so we have\n \u003e to account for it being a None value (rather than just not setting\n \u003e the field).","commit_id":"a39c1dc188c300be53dbf48b8bb8207ebe06e70a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6d37327068efd988a886801d5cfcbfb65eed7137","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \"allocation_request_version\": fields.StringField(nullable\u003dTrue),"},{"line_number":48,"context_line":"        # The availability_zone represents the AZ the service_host is in at"},{"line_number":49,"context_line":"        # the time of scheduling."},{"line_number":50,"context_line":"        \u0027availability_zone\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":51,"context_line":"    }"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def obj_make_compatible(self, primitive, target_version):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_6b2f92a7","line":50,"range":{"start_line":50,"start_character":48,"end_line":50,"end_character":61},"in_reply_to":"3fa7e38b_732b0a82","updated":"2019-10-01 17:09:24.000000000","message":"Could this go in a comment?","commit_id":"a39c1dc188c300be53dbf48b8bb8207ebe06e70a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d058dbece6cd11c201ae0ecdf6c8add234db78be","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        # the time of scheduling. This is nullable for two reasons:"},{"line_number":50,"context_line":"        # 1. The Instance.availability_zone field is nullable - though that\u0027s"},{"line_number":51,"context_line":"        #    not a great reason, the bigger reason is:"},{"line_number":52,"context_line":"        # 2. The host may not be in an AZ, and CONF.default_availability_zone"},{"line_number":53,"context_line":"        #    is a StrOpt which technically could be set to None, so we have to"},{"line_number":54,"context_line":"        #    account for it being a None value (rather than just not setting"},{"line_number":55,"context_line":"        #    the field)."}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_ebeb73d9","line":52,"range":{"start_line":52,"start_character":13,"end_line":52,"end_character":41},"updated":"2019-10-02 14:55:27.000000000","message":"++","commit_id":"4688c0e7c35468337ac80fa11ca149c6df86f7b8"}],"nova/tests/unit/objects/test_selection.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6d37327068efd988a886801d5cfcbfb65eed7137","unresolved":false,"context_lines":[{"line_number":151,"context_line":"class TestSelectionObject(test_objects._LocalTest,"},{"line_number":152,"context_line":"                            _TestSelectionObject):"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    # NOTE(mriedem): The tests below are for methods which are not remotable"},{"line_number":155,"context_line":"    # so they can go in the local-only test class rather than the mixin above."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def test_obj_make_compatible(self):"},{"line_number":158,"context_line":"        selection \u003d objects.Selection(service_host\u003d\u0027host1\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_4b497689","line":155,"range":{"start_line":154,"start_character":4,"end_line":155,"end_character":78},"updated":"2019-10-01 17:09:24.000000000","message":"I don\u0027t like that the from_host_state tests are split across two test classes (presumably for historic reasons). But I guess you\u0027ll just tell me to propose a follow up that fixes that :)","commit_id":"af69b64adcf7f7c767edd392e3ae34b9e4c0d32a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d8d7b3f400e796f17ad964ae6dcea79f08c28ba9","unresolved":false,"context_lines":[{"line_number":151,"context_line":"class TestSelectionObject(test_objects._LocalTest,"},{"line_number":152,"context_line":"                            _TestSelectionObject):"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    # NOTE(mriedem): The tests below are for methods which are not remotable"},{"line_number":155,"context_line":"    # so they can go in the local-only test class rather than the mixin above."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def test_obj_make_compatible(self):"},{"line_number":158,"context_line":"        selection \u003d objects.Selection(service_host\u003d\u0027host1\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_ee1f1007","line":155,"range":{"start_line":154,"start_character":4,"end_line":155,"end_character":78},"in_reply_to":"3fa7e38b_4b497689","updated":"2019-10-01 17:30:38.000000000","message":"Yup.","commit_id":"af69b64adcf7f7c767edd392e3ae34b9e4c0d32a"}]}
