)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"64b873afcf03d7f2f6410155b7d5a11d533b3c54","unresolved":false,"context_lines":[{"line_number":18,"context_line":"the AZ related information of the aggregate the host belongs to."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I1b47ae07cf8a4245df00b9dc25e6000428bdc4f2"},{"line_number":21,"context_line":"Closes-Bug: # #1390033"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aaa499b_9fc5f05c","line":21,"updated":"2015-04-13 13:21:23.000000000","message":"one to many #\u0027s","commit_id":"8e1b7cc53bd7b845583d601cbc0a89fb98cab811"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"e998260b4fbdbb5e71dd06127b0a15dcca3bd135","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Invalidate AZ cache when the instance AZ information is different"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When a new instance is created, the host value is set to None. As a corrolar,"},{"line_number":10,"context_line":"its AZ field is set to the default_availability_zone value."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"That\u0027s only when the host field is provided (ie. once the instance is started) that"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5ad0253b_d303700e","line":9,"updated":"2015-04-29 12:29:56.000000000","message":"corrolar -\u003e corollary?","commit_id":"71a0daa90969c51e27f9f2899bf84d84e782ac5c"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"e998260b4fbdbb5e71dd06127b0a15dcca3bd135","unresolved":false,"context_lines":[{"line_number":10,"context_line":"its AZ field is set to the default_availability_zone value."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"That\u0027s only when the host field is provided (ie. once the instance is started) that"},{"line_number":13,"context_line":"the AZ information is also updated. Unfornately, as the AZ module is using a cache"},{"line_number":14,"context_line":"system, it leaves the old AZ unchanged which can make the instance AZ data wrong."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"In order to fix that corner case, we need to compare both cache and instance values"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5ad0253b_2e147742","line":13,"updated":"2015-04-29 12:29:56.000000000","message":"Unfornately -\u003e Unfortunately?","commit_id":"71a0daa90969c51e27f9f2899bf84d84e782ac5c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"a64cd6270c660fe2a0bdbe836ea4ece0625d6116","unresolved":false,"context_lines":[{"line_number":10,"context_line":"its AZ field is set to the default_availability_zone value."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"That\u0027s only when the host field is provided (ie. once the instance is started) that"},{"line_number":13,"context_line":"the AZ information is also updated. Unfornately, as the AZ module is using a cache"},{"line_number":14,"context_line":"system, it leaves the old AZ unchanged which can make the instance AZ data wrong."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"In order to fix that corner case, we need to compare both cache and instance values"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba15a1d1_cd65ffe1","line":13,"range":{"start_line":13,"start_character":36,"end_line":13,"end_character":47},"updated":"2015-09-14 04:22:39.000000000","message":"Unfortunately.","commit_id":"222085dcafb6d94adbf20ce82e3245c46735f105"}],"nova/availability_zones.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"0a5d600630a8675f3819da1070d36d27c356af83","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    cache \u003d _get_cache()"},{"line_number":180,"context_line":"    az \u003d cache.get(cache_key)"},{"line_number":181,"context_line":"    az_inst \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":182,"context_line":"    if az_inst is not None and az !\u003d az_inst:"},{"line_number":183,"context_line":"        # NOTE(sbauza): Cache is wrong, we need to invalidate it by fetching"},{"line_number":184,"context_line":"        # again the right AZ related to the aggregate the host belongs to."},{"line_number":185,"context_line":"        # As the API is also calling this method for setting the instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aa745d1_6ad147cd","line":182,"updated":"2015-04-16 14:43:13.000000000","message":"I\u0027m presumably just missing something here, but this smells wrong to me.\n\nif az_inst !\u003d az, how did it get that way? Is az_inst going to be the value returned below by get_host_availability_zone()? If so, why is the cache necessary? If not, what does that mean?\n\nAssuming I\u0027ve just misunderstood it, could you update the comment below to explain how this came about? If this is a long-distance interaction it could do with a big comment.","commit_id":"f8088e8b37e4927d1b191e6b8acfe34e8a833f91"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"64e4bfba9d69736fdbe242bbb962400c5f50f190","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    cache \u003d _get_cache()"},{"line_number":180,"context_line":"    az \u003d cache.get(cache_key)"},{"line_number":181,"context_line":"    az_inst \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":182,"context_line":"    if az_inst is not None and az !\u003d az_inst:"},{"line_number":183,"context_line":"        # NOTE(sbauza): Cache is wrong, we need to invalidate it by fetching"},{"line_number":184,"context_line":"        # again the right AZ related to the aggregate the host belongs to."},{"line_number":185,"context_line":"        # As the API is also calling this method for setting the instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"dac4157f_45e180fd","line":182,"in_reply_to":"5aa745d1_6ad147cd","updated":"2015-04-22 09:24:33.000000000","message":"I am also confused about the code here.","commit_id":"f8088e8b37e4927d1b191e6b8acfe34e8a833f91"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6123ad35a98047dbda2fb8389843fb26f9f17a25","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    cache \u003d _get_cache()"},{"line_number":180,"context_line":"    az \u003d cache.get(cache_key)"},{"line_number":181,"context_line":"    az_inst \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":182,"context_line":"    if az_inst is not None and az !\u003d az_inst:"},{"line_number":183,"context_line":"        # NOTE(sbauza): Cache is wrong, we need to invalidate it by fetching"},{"line_number":184,"context_line":"        # again the right AZ related to the aggregate the host belongs to."},{"line_number":185,"context_line":"        # As the API is also calling this method for setting the instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"dac4157f_c08c5e81","line":182,"in_reply_to":"dac4157f_2560cc00","updated":"2015-04-22 09:44:34.000000000","message":"Because by setting the az field to None, it will update the cache and return it (see below)","commit_id":"f8088e8b37e4927d1b191e6b8acfe34e8a833f91"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"beefbde2e850b84a43c8e50c5891f43a3d861271","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    cache \u003d _get_cache()"},{"line_number":180,"context_line":"    az \u003d cache.get(cache_key)"},{"line_number":181,"context_line":"    az_inst \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":182,"context_line":"    if az_inst is not None and az !\u003d az_inst:"},{"line_number":183,"context_line":"        # NOTE(sbauza): Cache is wrong, we need to invalidate it by fetching"},{"line_number":184,"context_line":"        # again the right AZ related to the aggregate the host belongs to."},{"line_number":185,"context_line":"        # As the API is also calling this method for setting the instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"dac4157f_2560cc00","line":182,"in_reply_to":"dac4157f_45e180fd","updated":"2015-04-22 09:37:06.000000000","message":"after walk through the code aroud here, I see your points. But the implementation is not very good here, if it\u0027s different between az in the cache and vm\u0027s az property, why not just update the cache, and return the right az?\n\nBut maybe the workaround here could depends on my patch https://review.openstack.org/#/c/163842/, to ensure the instance has the correct az property.","commit_id":"f8088e8b37e4927d1b191e6b8acfe34e8a833f91"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"94a4a4d06d6c0b10af08aa8163b4503951d2f629","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    cache \u003d _get_cache()"},{"line_number":180,"context_line":"    az \u003d cache.get(cache_key)"},{"line_number":181,"context_line":"    az_inst \u003d instance.get(\u0027availability_zone\u0027)"},{"line_number":182,"context_line":"    if az_inst is not None and az !\u003d az_inst:"},{"line_number":183,"context_line":"        # NOTE(sbauza): Cache is wrong, we need to invalidate it by fetching"},{"line_number":184,"context_line":"        # again the right AZ related to the aggregate the host belongs to."},{"line_number":185,"context_line":"        # As the API is also calling this method for setting the instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"dac4157f_345b5f30","line":182,"in_reply_to":"dac4157f_c08c5e81","updated":"2015-04-22 10:07:15.000000000","message":"yeah, so I updated my comments above, please consider.","commit_id":"f8088e8b37e4927d1b191e6b8acfe34e8a833f91"}]}
