)]}'
{"nova/compute/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cb61251bd692419b7917215b86afa65316323e60","unresolved":false,"context_lines":[{"line_number":3708,"context_line":""},{"line_number":3709,"context_line":"    def _sync_instances_az_for_host(self, context, host_name, az_name):"},{"line_number":3710,"context_line":"        instances \u003d objects.InstanceList.get_by_host(context, host_name,"},{"line_number":3711,"context_line":"            expected_attrs\u003d[\u0027availability_zone\u0027], use_slave\u003dTrue)"},{"line_number":3712,"context_line":"        for instance in instances:"},{"line_number":3713,"context_line":"            if instance.availability_zone and \\"},{"line_number":3714,"context_line":"                    instance.availability_zone !\u003d az_name:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_1fd8d91c","line":3711,"updated":"2015-10-26 18:34:34.000000000","message":"Specifying expected_attrs\u003d[\u0027availability_zone\u0027] here doesn\u0027t do anything since that\u0027s not a column that is created from a join on another table, those are defined here:\n\nhttps://github.com/openstack/nova/blob/master/nova/objects/instance.py#L53","commit_id":"04528d4ae88baa9b68ca3c4dad09d3a9ab8f30a2"},{"author":{"_account_id":7515,"name":"Jian LI","email":"ljianbj@cn.ibm.com","username":"leejian0612"},"change_message_id":"228b0c38d4cdae7bd00986f705d6560ae992db7a","unresolved":false,"context_lines":[{"line_number":3708,"context_line":""},{"line_number":3709,"context_line":"    def _sync_instances_az_for_host(self, context, host_name, az_name):"},{"line_number":3710,"context_line":"        instances \u003d objects.InstanceList.get_by_host(context, host_name,"},{"line_number":3711,"context_line":"            expected_attrs\u003d[\u0027availability_zone\u0027], use_slave\u003dTrue)"},{"line_number":3712,"context_line":"        for instance in instances:"},{"line_number":3713,"context_line":"            if instance.availability_zone and \\"},{"line_number":3714,"context_line":"                    instance.availability_zone !\u003d az_name:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a26ad4f_a66a2b19","line":3711,"in_reply_to":"3a29b11f_1fd8d91c","updated":"2015-10-27 15:27:54.000000000","message":"Done","commit_id":"04528d4ae88baa9b68ca3c4dad09d3a9ab8f30a2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cb61251bd692419b7917215b86afa65316323e60","unresolved":false,"context_lines":[{"line_number":3712,"context_line":"        for instance in instances:"},{"line_number":3713,"context_line":"            if instance.availability_zone and \\"},{"line_number":3714,"context_line":"                    instance.availability_zone !\u003d az_name:"},{"line_number":3715,"context_line":"                instance.availability_zone \u003d az_name"},{"line_number":3716,"context_line":"                instance.save()"},{"line_number":3717,"context_line":""},{"line_number":3718,"context_line":"    @wrap_exception()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_9f02a96e","line":3715,"updated":"2015-10-26 18:34:34.000000000","message":"We should probably be logging something here at INFO level that the instance.az is being automatically changed.  A notification might even be warranted in this case, I\u0027m not sure about that though.","commit_id":"04528d4ae88baa9b68ca3c4dad09d3a9ab8f30a2"},{"author":{"_account_id":7515,"name":"Jian LI","email":"ljianbj@cn.ibm.com","username":"leejian0612"},"change_message_id":"228b0c38d4cdae7bd00986f705d6560ae992db7a","unresolved":false,"context_lines":[{"line_number":3712,"context_line":"        for instance in instances:"},{"line_number":3713,"context_line":"            if instance.availability_zone and \\"},{"line_number":3714,"context_line":"                    instance.availability_zone !\u003d az_name:"},{"line_number":3715,"context_line":"                instance.availability_zone \u003d az_name"},{"line_number":3716,"context_line":"                instance.save()"},{"line_number":3717,"context_line":""},{"line_number":3718,"context_line":"    @wrap_exception()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a26ad4f_667413fd","line":3715,"in_reply_to":"3a29b11f_9f02a96e","updated":"2015-10-27 15:27:54.000000000","message":"Done","commit_id":"04528d4ae88baa9b68ca3c4dad09d3a9ab8f30a2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cb61251bd692419b7917215b86afa65316323e60","unresolved":false,"context_lines":[{"line_number":3761,"context_line":"        self._update_az_cache_for_host(context, host_name, aggregate.metadata)"},{"line_number":3762,"context_line":"        if CONF.default_availability_zone:"},{"line_number":3763,"context_line":"            self._sync_instances_az_for_host(context, host_name,"},{"line_number":3764,"context_line":"                                             CONF.default_availability_zone)"},{"line_number":3765,"context_line":"        self.compute_rpcapi.remove_aggregate_host(context,"},{"line_number":3766,"context_line":"                aggregate\u003daggregate, host_param\u003dhost_name, host\u003dhost_name)"},{"line_number":3767,"context_line":"        compute_utils.notify_about_aggregate_update(context,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a29b11f_df16e1a6","line":3764,"updated":"2015-10-26 18:34:34.000000000","message":"I was going to make a comment that this would be bad to set instance.az from None to the default (nova) but the helper method only updates the instance if the instance.az field has a value and it\u0027s not what\u0027s passed in, so this would be OK.","commit_id":"04528d4ae88baa9b68ca3c4dad09d3a9ab8f30a2"}]}
