)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3d89b6e1418cf248e10d049613e2b95c8e5868e9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Metadata-API fails to retrieve avz for instances created before Pike"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In Pike we started setting instance.avz during schedule time by"},{"line_number":10,"context_line":"calculating the avz of the host into which the instance was scheduled"},{"line_number":11,"context_line":"into. After this change was introduced, the metadata request for the avz"},{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_f260ca03","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":7},"updated":"2018-05-11 15:38:06.000000000","message":"Please link to I8d426f2635232ffc4b510548a905794ca88d7f99 for context.","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3d89b6e1418cf248e10d049613e2b95c8e5868e9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Metadata-API fails to retrieve avz for instances created before Pike"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In Pike we started setting instance.avz during schedule time by"},{"line_number":10,"context_line":"calculating the avz of the host into which the instance was scheduled"},{"line_number":11,"context_line":"into. After this change was introduced, the metadata request for the avz"},{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_92371600","line":9,"range":{"start_line":9,"start_character":36,"end_line":9,"end_character":39},"updated":"2018-05-11 15:38:06.000000000","message":"instance.availability_zone","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Metadata-API fails to retrieve avz for instances created before Pike"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In Pike we started setting instance.avz during schedule time by"},{"line_number":10,"context_line":"calculating the avz of the host into which the instance was scheduled"},{"line_number":11,"context_line":"into. After this change was introduced, the metadata request for the avz"},{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_72959532","line":9,"range":{"start_line":9,"start_character":36,"end_line":9,"end_character":39},"in_reply_to":"5f7c97a3_92371600","updated":"2018-05-11 19:28:38.000000000","message":"Done","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Metadata-API fails to retrieve avz for instances created before Pike"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In Pike we started setting instance.avz during schedule time by"},{"line_number":10,"context_line":"calculating the avz of the host into which the instance was scheduled"},{"line_number":11,"context_line":"into. After this change was introduced, the metadata request for the avz"},{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_f2a0c592","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":7},"in_reply_to":"5f7c97a3_f260ca03","updated":"2018-05-11 19:28:38.000000000","message":"Done","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3d89b6e1418cf248e10d049613e2b95c8e5868e9","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In Pike we started setting instance.avz during schedule time by"},{"line_number":10,"context_line":"calculating the avz of the host into which the instance was scheduled"},{"line_number":11,"context_line":"into. After this change was introduced, the metadata request for the avz"},{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"},{"line_number":13,"context_line":"doing the upcall. However this would return None for instances older than"},{"line_number":14,"context_line":"Pike whose avz was not mentioned during boot time as it would be set to"},{"line_number":15,"context_line":"CONF.default_scheduling_zone whose default value is None."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_120c663f","line":12,"range":{"start_line":12,"start_character":16,"end_line":12,"end_character":23},"updated":"2018-05-11 15:38:06.000000000","message":"Please link to I73c3b10e52ab4cfda9dacc0c0ba92d1fcb60bcc9 for context.","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In Pike we started setting instance.avz during schedule time by"},{"line_number":10,"context_line":"calculating the avz of the host into which the instance was scheduled"},{"line_number":11,"context_line":"into. After this change was introduced, the metadata request for the avz"},{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"},{"line_number":13,"context_line":"doing the upcall. However this would return None for instances older than"},{"line_number":14,"context_line":"Pike whose avz was not mentioned during boot time as it would be set to"},{"line_number":15,"context_line":"CONF.default_scheduling_zone whose default value is None."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_1296a13f","line":12,"range":{"start_line":12,"start_character":16,"end_line":12,"end_character":23},"in_reply_to":"5f7c97a3_120c663f","updated":"2018-05-11 19:28:38.000000000","message":"Done","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3d89b6e1418cf248e10d049613e2b95c8e5868e9","unresolved":false,"context_lines":[{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"},{"line_number":13,"context_line":"doing the upcall. However this would return None for instances older than"},{"line_number":14,"context_line":"Pike whose avz was not mentioned during boot time as it would be set to"},{"line_number":15,"context_line":"CONF.default_scheduling_zone whose default value is None."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This patch adds an online_migration tool to populate missing"},{"line_number":18,"context_line":"instance.availability_zone values."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_724d9a98","line":15,"range":{"start_line":15,"start_character":5,"end_line":15,"end_character":28},"updated":"2018-05-11 15:38:06.000000000","message":"default_schedule_zone","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"on the instance started using instance.get(availability_zone) instead of"},{"line_number":13,"context_line":"doing the upcall. However this would return None for instances older than"},{"line_number":14,"context_line":"Pike whose avz was not mentioned during boot time as it would be set to"},{"line_number":15,"context_line":"CONF.default_scheduling_zone whose default value is None."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This patch adds an online_migration tool to populate missing"},{"line_number":18,"context_line":"instance.availability_zone values."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_329b9d66","line":15,"range":{"start_line":15,"start_character":5,"end_line":15,"end_character":28},"in_reply_to":"5f7c97a3_724d9a98","updated":"2018-05-11 19:28:38.000000000","message":"Done","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"}],"nova/cmd/manage.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3d89b6e1418cf248e10d049613e2b95c8e5868e9","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        # Added in Rocky"},{"line_number":397,"context_line":"        # NOTE(tssurya): This online migration is going to be backported to"},{"line_number":398,"context_line":"        # Queens and Pike since instance.avz of instances before Pike"},{"line_number":399,"context_line":"        # need to be populated if it was not specified duirng boot time."},{"line_number":400,"context_line":"        instance_obj.populate_missing_availability_zones,"},{"line_number":401,"context_line":"    )"},{"line_number":402,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_721b5a80","line":399,"range":{"start_line":399,"start_character":55,"end_line":399,"end_character":61},"updated":"2018-05-11 15:38:06.000000000","message":"during","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        # Added in Rocky"},{"line_number":397,"context_line":"        # NOTE(tssurya): This online migration is going to be backported to"},{"line_number":398,"context_line":"        # Queens and Pike since instance.avz of instances before Pike"},{"line_number":399,"context_line":"        # need to be populated if it was not specified duirng boot time."},{"line_number":400,"context_line":"        instance_obj.populate_missing_availability_zones,"},{"line_number":401,"context_line":"    )"},{"line_number":402,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_7290354b","line":399,"range":{"start_line":399,"start_character":55,"end_line":399,"end_character":61},"in_reply_to":"5f7c97a3_721b5a80","updated":"2018-05-11 19:28:38.000000000","message":"Done","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87c2ecb9e6fa6849d05ff08ba99c1c170458f20f","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        # NOTE(tssurya): This online migration is going to be backported to"},{"line_number":398,"context_line":"        # Queens and Pike since instance.avz of instances before Pike"},{"line_number":399,"context_line":"        # need to be populated if it was not specified duirng boot time."},{"line_number":400,"context_line":"        instance_obj.populate_missing_availability_zones,"},{"line_number":401,"context_line":"    )"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_5dce6fb4","line":400,"updated":"2018-05-11 15:40:24.000000000","message":"I just realized, this isn\u0027t multi-cell aware, but neither is block_device_obj.BlockDeviceMapping.populate_uuids above - so if operators are running multiple cells, they have to run the online data migration against each specific cell, which kind of sucks. Should talk with melwitt and dansmith about this.","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        # NOTE(tssurya): This online migration is going to be backported to"},{"line_number":398,"context_line":"        # Queens and Pike since instance.avz of instances before Pike"},{"line_number":399,"context_line":"        # need to be populated if it was not specified duirng boot time."},{"line_number":400,"context_line":"        instance_obj.populate_missing_availability_zones,"},{"line_number":401,"context_line":"    )"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_92c63168","line":400,"in_reply_to":"5f7c97a3_5dce6fb4","updated":"2018-05-11 19:28:38.000000000","message":"I was under the impression that all nova-manage commands had this \"--config-file\" option because most of them are not multi cell-aware and assumed that they should be run per cell. I would not mind doing a multi-cell version of this. But yes, let\u0027s see what dansmith and melwitt feel.","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cfe512cfa033c423c26b82d2f58fb86b25c7265e","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        # NOTE(tssurya): This online migration is going to be backported to"},{"line_number":398,"context_line":"        # Queens and Pike since instance.avz of instances before Pike"},{"line_number":399,"context_line":"        # need to be populated if it was not specified duirng boot time."},{"line_number":400,"context_line":"        instance_obj.populate_missing_availability_zones,"},{"line_number":401,"context_line":"    )"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_fd1ca9c2","line":400,"in_reply_to":"5f7c97a3_92c63168","updated":"2018-05-17 15:55:46.000000000","message":"Let\u0027s just tow the line for now and see what people feel about this during the Forum in Vancouver, I\u0027ve added it to the cells v2 session eitherpad here:\n\nhttps://etherpad.openstack.org/p/YVR18-cellsv2-migration-sync-with-operators","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"}],"nova/objects/instance.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3d89b6e1418cf248e10d049613e2b95c8e5868e9","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"    count_all \u003d len(instances)"},{"line_number":1243,"context_line":"    count_hit \u003d 0"},{"line_number":1244,"context_line":"    for instance in instances:"},{"line_number":1245,"context_line":"        az \u003d avail_zone.get_host_availability_zone(context, instance.host)"},{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_bd19c37a","line":1245,"range":{"start_line":1245,"start_character":24,"end_line":1245,"end_character":50},"updated":"2018-05-11 15:38:06.000000000","message":"This should be using get_instance_availability_zone like in https://review.openstack.org/#/c/439754/29/nova/api/metadata/base.py right?","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"39e13a214755a230956239a3c254546f75a3fdde","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"    count_all \u003d len(instances)"},{"line_number":1243,"context_line":"    count_hit \u003d 0"},{"line_number":1244,"context_line":"    for instance in instances:"},{"line_number":1245,"context_line":"        az \u003d avail_zone.get_host_availability_zone(context, instance.host)"},{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_b2d48dea","line":1245,"range":{"start_line":1245,"start_character":24,"end_line":1245,"end_character":50},"in_reply_to":"5f7c97a3_522f393e","updated":"2018-05-11 19:30:17.000000000","message":"\u003e However not that you mention it maybe using get_instance_availability_zone\n \u003e is more correct as its used in metadata API ?\n\ns/not/now","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6171379adf84e30e61500b6a6a6955629eb64297","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"    count_all \u003d len(instances)"},{"line_number":1243,"context_line":"    count_hit \u003d 0"},{"line_number":1244,"context_line":"    for instance in instances:"},{"line_number":1245,"context_line":"        az \u003d avail_zone.get_host_availability_zone(context, instance.host)"},{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_f53c2f30","line":1245,"range":{"start_line":1245,"start_character":24,"end_line":1245,"end_character":50},"in_reply_to":"5f7c97a3_b2d48dea","updated":"2018-05-11 20:41:55.000000000","message":"Since we\u0027re trying to get the AZ for the instance, using get_instance_availability_zone just seems like the more appropriate interface. Yes we know the internals of it so we could optimize a bit here, however, if something were to change and add additional logic to get_instance_availability_zone then that\u0027s the one we\u0027d want to be using (I don\u0027t expect that to happen anytime soon, but just to be safe).","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"    count_all \u003d len(instances)"},{"line_number":1243,"context_line":"    count_hit \u003d 0"},{"line_number":1244,"context_line":"    for instance in instances:"},{"line_number":1245,"context_line":"        az \u003d avail_zone.get_host_availability_zone(context, instance.host)"},{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_522f393e","line":1245,"range":{"start_line":1245,"start_character":24,"end_line":1245,"end_character":50},"in_reply_to":"5f7c97a3_bd19c37a","updated":"2018-05-11 19:28:38.000000000","message":"Hmm, I guess the reason why I didn\u0027t use this is because get_instance_availability_zone() in turn uses instance.get(\u0027availability_zone\u0027) and since that would be None, it would in turn do get_host_availability_zone() (https://github.com/openstack/nova/blob/master/nova/availability_zones.py#L194).\n\nMy logic for using get_host_availability_zone() directly was because as we are doing it for instances whose avz is None, they would have to be set to that of their host.\n\nHowever not that you mention it maybe using get_instance_availability_zone is more correct as its used in metadata API ?","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"11a12314e50a3868543fce2a6d751d14526eb970","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"    count_all \u003d len(instances)"},{"line_number":1243,"context_line":"    count_hit \u003d 0"},{"line_number":1244,"context_line":"    for instance in instances:"},{"line_number":1245,"context_line":"        az \u003d avail_zone.get_host_availability_zone(context, instance.host)"},{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_c3c4cbf7","line":1245,"range":{"start_line":1245,"start_character":24,"end_line":1245,"end_character":50},"in_reply_to":"5f7c97a3_f53c2f30","updated":"2018-05-14 06:41:31.000000000","message":"Agreed.","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"1a5d8305f53fbaa0474e24e09d0cf0e67f20cde8","unresolved":false,"context_lines":[{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"},{"line_number":1249,"context_line":"    return count_all, count_hit"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":""},{"line_number":1252,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_34f7f7d5","line":1249,"range":{"start_line":1249,"start_character":22,"end_line":1249,"end_character":31},"updated":"2018-05-14 08:48:22.000000000","message":"looks like `count_hit` always equals to count_all","commit_id":"1e8636a0c9fcf1244ed8106baa265e03a745df6a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cafa8b0c7d7bafef3addf16b0ceff2251ad2d219","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"    count_all \u003d len(instances)"},{"line_number":1243,"context_line":"    count_hit \u003d 0"},{"line_number":1244,"context_line":"    for instance in instances:"},{"line_number":1245,"context_line":"        az \u003d avail_zone.get_instance_availability_zone(context, instance)"},{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_b66b01b5","line":1245,"updated":"2018-05-30 18:58:03.000000000","message":"I was going to say we should do some caching here, but this already does it internally, so .. cool :)","commit_id":"6b4c38c04177ff194d05368cd4aff69958075167"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d1e8f8decbffac1ee2a0a73ebe53197bad6a2cfb","unresolved":false,"context_lines":[{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"},{"line_number":1249,"context_line":"    return count_all, count_hit"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":""},{"line_number":1252,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_ee300359","line":1249,"range":{"start_line":1249,"start_character":11,"end_line":1249,"end_character":31},"updated":"2018-05-25 00:46:45.000000000","message":"why do we need both number? I don\u0027t see any possible code path where they differ.","commit_id":"6b4c38c04177ff194d05368cd4aff69958075167"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cafa8b0c7d7bafef3addf16b0ceff2251ad2d219","unresolved":false,"context_lines":[{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"},{"line_number":1249,"context_line":"    return count_all, count_hit"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":""},{"line_number":1252,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_d666bded","line":1249,"range":{"start_line":1249,"start_character":11,"end_line":1249,"end_character":31},"in_reply_to":"5f7c97a3_ce1427a3","updated":"2018-05-30 18:58:03.000000000","message":"Yup","commit_id":"6b4c38c04177ff194d05368cd4aff69958075167"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5e3a38f84fb95e18c2b958e49804d79bea9b02d2","unresolved":false,"context_lines":[{"line_number":1246,"context_line":"        instance.availability_zone \u003d az"},{"line_number":1247,"context_line":"        instance.save(context.session)"},{"line_number":1248,"context_line":"        count_hit +\u003d 1"},{"line_number":1249,"context_line":"    return count_all, count_hit"},{"line_number":1250,"context_line":""},{"line_number":1251,"context_line":""},{"line_number":1252,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_ce1427a3","line":1249,"range":{"start_line":1249,"start_character":11,"end_line":1249,"end_character":31},"in_reply_to":"5f7c97a3_ee300359","updated":"2018-05-25 00:49:24.000000000","message":"OK, I found that it is part of the protocol of online data migrations to report two numbers.","commit_id":"6b4c38c04177ff194d05368cd4aff69958075167"}],"nova/tests/functional/db/test_instance.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3d89b6e1418cf248e10d049613e2b95c8e5868e9","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        agg.create()"},{"line_number":102,"context_line":"        agg \u003d objects.Aggregate.get_by_id(self.context, agg.id)"},{"line_number":103,"context_line":"        values \u003d {"},{"line_number":104,"context_line":"            \u0027binary\u0027: \u0027nova-bin\u0027,"},{"line_number":105,"context_line":"            \u0027host\u0027: host,"},{"line_number":106,"context_line":"            \u0027topic\u0027: \u0027compute\u0027,"},{"line_number":107,"context_line":"            \u0027disabled\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_bdb54334","line":104,"range":{"start_line":104,"start_character":28,"end_line":104,"end_character":31},"updated":"2018-05-11 15:38:06.000000000","message":"compute","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"443bd54708723c361efc61042635c3d2e001a46b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        agg.create()"},{"line_number":102,"context_line":"        agg \u003d objects.Aggregate.get_by_id(self.context, agg.id)"},{"line_number":103,"context_line":"        values \u003d {"},{"line_number":104,"context_line":"            \u0027binary\u0027: \u0027nova-bin\u0027,"},{"line_number":105,"context_line":"            \u0027host\u0027: host,"},{"line_number":106,"context_line":"            \u0027topic\u0027: \u0027compute\u0027,"},{"line_number":107,"context_line":"            \u0027disabled\u0027: False,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_32863d15","line":104,"range":{"start_line":104,"start_character":28,"end_line":104,"end_character":31},"in_reply_to":"5f7c97a3_bdb54334","updated":"2018-05-11 19:28:38.000000000","message":"Done","commit_id":"44604e0b4f7d93f22e91b7483ee57125d511a001"}],"releasenotes/notes/migration-tool-to-populate-inst.avz-29fed2fe57a9764d.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cfe512cfa033c423c26b82d2f58fb86b25c7265e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new online data migration tool ``populate_missing_availability_zones``"},{"line_number":5,"context_line":"    has been added to populate missing instance.availability_zone values for"},{"line_number":6,"context_line":"    instances older than Pike whose availability_zone was not mentioned during"},{"line_number":7,"context_line":"    boot time. This fixes `Bug 1768876`_"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_9d601538","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":76},"updated":"2018-05-17 15:55:46.000000000","message":"We don\u0027t need to call out the name of the function that does the thing, it\u0027s just part of \"nova-manage db online_data_migrations\" so let\u0027s just say a new online data migration was added to \"populate missing instance.availability_zone...\" and it\u0027s run via \"nova-manage db online_data_migrations\".","commit_id":"06983a285338ecf3b502de0ef9712a3f347444ed"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cfe512cfa033c423c26b82d2f58fb86b25c7265e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new online data migration tool ``populate_missing_availability_zones``"},{"line_number":5,"context_line":"    has been added to populate missing instance.availability_zone values for"},{"line_number":6,"context_line":"    instances older than Pike whose availability_zone was not mentioned during"},{"line_number":7,"context_line":"    boot time. This fixes `Bug 1768876`_"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _Bug 1768876: https://bugs.launchpad.net/nova/+bug/1768876"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_7da2d94d","line":6,"range":{"start_line":6,"start_character":62,"end_line":6,"end_character":71},"updated":"2018-05-17 15:55:46.000000000","message":"\"specified\"\n\n\"Mentioned\" just seems very laissez faire to me, like, \"oh I forgot to mention, I want this in AZ \u0027london\u0027, but whatever darling!\"","commit_id":"06983a285338ecf3b502de0ef9712a3f347444ed"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"7941f328e9a23c50cc84c3b58715cf2f512495e3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new online data migration tool ``populate_missing_availability_zones``"},{"line_number":5,"context_line":"    has been added to populate missing instance.availability_zone values for"},{"line_number":6,"context_line":"    instances older than Pike whose availability_zone was not mentioned during"},{"line_number":7,"context_line":"    boot time. This fixes `Bug 1768876`_"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    .. _Bug 1768876: https://bugs.launchpad.net/nova/+bug/1768876"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_00efb5e9","line":6,"range":{"start_line":6,"start_character":62,"end_line":6,"end_character":71},"in_reply_to":"5f7c97a3_7da2d94d","updated":"2018-05-17 20:05:46.000000000","message":"heh :D","commit_id":"06983a285338ecf3b502de0ef9712a3f347444ed"}]}
