)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bc46c54f843d5d1f2d1816c280bba356d73dd4fb","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This would be an upcall from the cell to the api db, which we don\u0027t"},{"line_number":10,"context_line":"want. We store the availability_zone on the instance now, and even"},{"line_number":11,"context_line":"use it for pre-scheduled instances, so just use that instead of"},{"line_number":12,"context_line":"the extra lookup."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Related to blueprint cells-aware-api"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":28,"id":"1a1ced50_0a6204d8","line":11,"range":{"start_line":11,"start_character":11,"end_line":11,"end_character":34},"updated":"2017-03-22 21:33:52.000000000","message":"not entirely sure what \"pre-scheduled instances\" are?","commit_id":"27de8594f1761ecb8b013fba53c8c9305a9cdd0c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d0013660fff5a6db998527a9cd50464ee4aa6d34","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This would be an upcall from the cell to the api db, which we don\u0027t"},{"line_number":10,"context_line":"want. We store the availability_zone on the instance now, and even"},{"line_number":11,"context_line":"use it for pre-scheduled instances, so just use that instead of"},{"line_number":12,"context_line":"the extra lookup."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Related to blueprint cells-aware-api"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":28,"id":"1a1ced50_f85ab529","line":11,"range":{"start_line":11,"start_character":11,"end_line":11,"end_character":34},"in_reply_to":"1a1ced50_0a6204d8","updated":"2017-03-23 17:17:39.000000000","message":"Not yet scheduled. Maybe pre-scheduling would have been better.","commit_id":"27de8594f1761ecb8b013fba53c8c9305a9cdd0c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"890a1ac14d1c160958270ab6887d16d14e59af71","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Get instance availability_zone without hitting the api db"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This would be an upcall from the cell to the api db, which we don\u0027t"},{"line_number":10,"context_line":"want. We store the availability_zone on the instance now, and even"},{"line_number":11,"context_line":"use it for pre-scheduled instances, so just use that instead of"},{"line_number":12,"context_line":"the extra lookup."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"5f7c97a3_f179d1fb","line":10,"range":{"start_line":10,"start_character":6,"end_line":10,"end_character":56},"updated":"2018-05-09 22:38:29.000000000","message":"For reference: https://review.openstack.org/#/c/446053/","commit_id":"9f7bac2845e81db3a54dbb3f39c2cf871a11918d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b5a99baf30750b62445ae6894fef3ee8089fd909","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Get instance availability_zone without hitting the api db"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This would be an upcall from the cell to the api db, which we don\u0027t"},{"line_number":10,"context_line":"want. We store the availability_zone on the instance now, and even"},{"line_number":11,"context_line":"use it for pre-scheduled instances, so just use that instead of"},{"line_number":12,"context_line":"the extra lookup."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":29,"id":"5f7c97a3_d1edb58b","line":10,"range":{"start_line":10,"start_character":6,"end_line":10,"end_character":56},"in_reply_to":"5f7c97a3_f179d1fb","updated":"2018-05-09 22:43:10.000000000","message":"See bug 1768876 - we should have had an online data migration for old instances created before that change in Pike.","commit_id":"9f7bac2845e81db3a54dbb3f39c2cf871a11918d"}],"nova/api/metadata/base.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"fc0a58853441e55ff5e3a1b150f48e41c64d71ba","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.instance \u003d instance"},{"line_number":131,"context_line":"        self.extra_md \u003d extra_md"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        self.availability_zone \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        secgroup_api \u003d openstack_driver.get_openstack_security_group_driver()"},{"line_number":136,"context_line":"        self.security_groups \u003d secgroup_api.get_instance_security_groups("}],"source_content_type":"text/x-python","patch_set":23,"id":"3a1ff146_ce5c2928","line":133,"updated":"2017-03-15 14:09:02.000000000","message":"Well, the main problem with that is that you change the API behaviour. Let me explain :\ninstance.az is only set when booting an instance by looking at either the --az option or the default_schedule_zone opt.\nIn contrary, az.get_instance_availability_zone() gives you the current AZ where the instance is.\nhttps://github.com/openstack/nova/blob/67af1eefc5c1cf8cde4b4becb933808850acec2d/nova/availability_zones.py#L176-L186\n\nFor example, an instance booted with no AZ flag will default to \u0027nova\u0027 for instance.az.\nThat said, if the instance is part of a compute that is in an aggregate having an AZ, get_instance_az() will return the AZ where the host is in.","commit_id":"da01559cfde5dff3b4432a1d5f9870faacfd98d8"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"59a818923b2673576dffcab78fd5090582132111","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.instance \u003d instance"},{"line_number":131,"context_line":"        self.extra_md \u003d extra_md"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        self.availability_zone \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        secgroup_api \u003d openstack_driver.get_openstack_security_group_driver()"},{"line_number":136,"context_line":"        self.security_groups \u003d secgroup_api.get_instance_security_groups("}],"source_content_type":"text/x-python","patch_set":23,"id":"3a1ff146_694a4f85","line":133,"in_reply_to":"3a1ff146_4eef59e8","updated":"2017-03-15 14:40:01.000000000","message":"IMHO, the problem is that we never touch instance.availability_zone after we populate the fields. I\u0027d be in favor of having instance.az be reflecting what is the current AZ (ie. calling az.get_instance_az() on the conductor side right after instance.host is set once the scheduler returns a destination) so the above could be reflecting the reality.","commit_id":"da01559cfde5dff3b4432a1d5f9870faacfd98d8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e5ed57a0136caae9c45ea63a4dc7684ce0ae9feb","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.instance \u003d instance"},{"line_number":131,"context_line":"        self.extra_md \u003d extra_md"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        self.availability_zone \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        secgroup_api \u003d openstack_driver.get_openstack_security_group_driver()"},{"line_number":136,"context_line":"        self.security_groups \u003d secgroup_api.get_instance_security_groups("}],"source_content_type":"text/x-python","patch_set":23,"id":"3a1ff146_4eef59e8","line":133,"in_reply_to":"3a1ff146_ce5c2928","updated":"2017-03-15 14:17:15.000000000","message":"How is this changing the API behavior? Or do you just mean changing the metadata api to return something that may be stale?\n\nEither way, I know that there may be cases where this will get out of sync (although I\u0027m not sure what they are, maybe admin-forced migration?). Certainly we can update this field on moves that would violate that right?\n\nWhat\u0027s your suggestion?","commit_id":"da01559cfde5dff3b4432a1d5f9870faacfd98d8"}],"nova/tests/unit/test_metadata.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9d9a288660a15c57433723855b83878ff88939bc","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        default_swap_device\u003dNone,"},{"line_number":95,"context_line":"        system_metadata\u003d{},"},{"line_number":96,"context_line":"        security_groups\u003dobjects.SecurityGroupList(),"},{"line_number":97,"context_line":"        availability_zone\u003d\u0027fake-az\u0027)"},{"line_number":98,"context_line":"    inst.keypairs \u003d objects.KeyPairList(objects\u003d["},{"line_number":99,"context_line":"            fake_keypair_obj(inst.key_name, inst.key_data)])"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9a30ddce_76684c88","line":97,"range":{"start_line":97,"start_character":26,"end_line":97,"end_character":35},"updated":"2017-03-08 13:12:07.000000000","message":"This doesn\u0027t need to be a uuid, does it? (just to ensure we don\u0027t have oslo warning us about invalid uuids)","commit_id":"b6f1422bf66a5faab4937defff96ed765f120589"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fe77a057753a0d5b0ad8f6ce8bb7ca789a4d8d0","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        default_swap_device\u003dNone,"},{"line_number":95,"context_line":"        system_metadata\u003d{},"},{"line_number":96,"context_line":"        security_groups\u003dobjects.SecurityGroupList(),"},{"line_number":97,"context_line":"        availability_zone\u003d\u0027fake-az\u0027)"},{"line_number":98,"context_line":"    inst.keypairs \u003d objects.KeyPairList(objects\u003d["},{"line_number":99,"context_line":"            fake_keypair_obj(inst.key_name, inst.key_data)])"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9a30ddce_03b18fe1","line":97,"range":{"start_line":97,"start_character":26,"end_line":97,"end_character":35},"in_reply_to":"9a30ddce_40cffd7e","updated":"2017-03-08 15:09:31.000000000","message":"Indeed, it is","commit_id":"b6f1422bf66a5faab4937defff96ed765f120589"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"48300a60ead39b5ee7960e0179a833bbf6f45b91","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        default_swap_device\u003dNone,"},{"line_number":95,"context_line":"        system_metadata\u003d{},"},{"line_number":96,"context_line":"        security_groups\u003dobjects.SecurityGroupList(),"},{"line_number":97,"context_line":"        availability_zone\u003d\u0027fake-az\u0027)"},{"line_number":98,"context_line":"    inst.keypairs \u003d objects.KeyPairList(objects\u003d["},{"line_number":99,"context_line":"            fake_keypair_obj(inst.key_name, inst.key_data)])"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9a30ddce_40cffd7e","line":97,"range":{"start_line":97,"start_character":26,"end_line":97,"end_character":35},"in_reply_to":"9a30ddce_76684c88","updated":"2017-03-08 14:36:35.000000000","message":"Nope, not a uuid. The default is \"nova\" for example.","commit_id":"b6f1422bf66a5faab4937defff96ed765f120589"}]}
