)]}'
{"heat/engine/resources/nova_utils.py":[{"author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"change_message_id":"50c7a2763673c76607c72de69a303ba6de85b8f9","unresolved":false,"context_lines":[{"line_number":261,"context_line":"    pass"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"@scheduler.wrappertask"},{"line_number":265,"context_line":"def meta_update(client, server, metadata):"},{"line_number":266,"context_line":"    \"\"\"Set the new metadata in nova.\"\"\""},{"line_number":267,"context_line":"    client.servers.set_meta(server, metadata)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FLrc%3D","line":264,"updated":"2013-11-13 09:24:53.000000000","message":"This doesn\u0027t seem necessary. We can just do \"yield\" instead at line 268, and check_noop can be removed. Or even making meta_update an ordinary function.","commit_id":"69c14d692cdeb465272079ff38cbae95d0b8913d"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"ad10f377058d9d52b2ab6adeb00034f586028c93","unresolved":false,"context_lines":[{"line_number":261,"context_line":"    pass"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"@scheduler.wrappertask"},{"line_number":265,"context_line":"def meta_update(client, server, metadata):"},{"line_number":266,"context_line":"    \"\"\"Set the new metadata in nova.\"\"\""},{"line_number":267,"context_line":"    client.servers.set_meta(server, metadata)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FLN4%3D","line":264,"in_reply_to":"AAAATn%2F%2FLrc%3D","updated":"2013-11-13 10:55:33.000000000","message":"Done","commit_id":"69c14d692cdeb465272079ff38cbae95d0b8913d"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9e051e3733e030e6113daaa376e1441d3cab0ab7","unresolved":false,"context_lines":[{"line_number":264,"context_line":"@scheduler.wrappertask"},{"line_number":265,"context_line":"def meta_update(client, server, metadata):"},{"line_number":266,"context_line":"    \"\"\"Set the new metadata in nova.\"\"\""},{"line_number":267,"context_line":"    client.servers.set_meta(server, metadata)"},{"line_number":268,"context_line":"    yield check_noop()"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FMqI%3D","line":267,"updated":"2013-11-13 02:55:34.000000000","message":"set_meta only sets the values for the keys which are specified (rather than blowing away all meta and replacing).\n\nThis means that this is not currently handling the case where old meta has a key which new meta doesn\u0027t. These keys will need a servers.delete_meta.","commit_id":"69c14d692cdeb465272079ff38cbae95d0b8913d"},{"author":{"_account_id":4715,"name":"Angus Salkeld","email":"asalkeld@redhat.com","username":"asalkeld"},"change_message_id":"ad10f377058d9d52b2ab6adeb00034f586028c93","unresolved":false,"context_lines":[{"line_number":264,"context_line":"@scheduler.wrappertask"},{"line_number":265,"context_line":"def meta_update(client, server, metadata):"},{"line_number":266,"context_line":"    \"\"\"Set the new metadata in nova.\"\"\""},{"line_number":267,"context_line":"    client.servers.set_meta(server, metadata)"},{"line_number":268,"context_line":"    yield check_noop()"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FLN8%3D","line":267,"in_reply_to":"AAAATn%2F%2FMqI%3D","updated":"2013-11-13 10:55:33.000000000","message":"Done","commit_id":"69c14d692cdeb465272079ff38cbae95d0b8913d"}],"heat/engine/resources/server.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9e051e3733e030e6113daaa376e1441d3cab0ab7","unresolved":false,"context_lines":[{"line_number":404,"context_line":"        if \u0027metadata\u0027 in prop_diff:"},{"line_number":405,"context_line":"            if not server:"},{"line_number":406,"context_line":"                server \u003d self.nova().servers.get(self.resource_id)"},{"line_number":407,"context_line":"            checker \u003d scheduler.TaskRunner(nova_utils.meta_update,"},{"line_number":408,"context_line":"                                           self.nova(), server,"},{"line_number":409,"context_line":"                                           prop_diff[\u0027metadata\u0027])"},{"line_number":410,"context_line":"            checkers.append(checker)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FMsY%3D","line":407,"updated":"2013-11-13 02:55:34.000000000","message":"I don\u0027t think this needs a task at all, since the meta change is applied immediately (unlike resize or rebuild). The block on the API calls will allow other things to be scheduled.","commit_id":"69c14d692cdeb465272079ff38cbae95d0b8913d"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"f659f33f8a73d4479cee22ba5126e978610c627a","unresolved":false,"context_lines":[{"line_number":393,"context_line":"                                           image_id)"},{"line_number":394,"context_line":"            checkers.append(checker)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        if \u0027metadata\u0027 in prop_diff:"},{"line_number":397,"context_line":"            if not server:"},{"line_number":398,"context_line":"                server \u003d self.nova().servers.get(self.resource_id)"},{"line_number":399,"context_line":"            checker \u003d scheduler.TaskRunner(nova_utils.meta_update,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FIWI%3D","line":396,"updated":"2013-11-14 02:39:23.000000000","message":"Actually this should probably be moved to be the first task to be scheduled, just in case the server reads meta values on boot, the meta values need to be updated before a rebuild or resize is triggered.","commit_id":"164585ca11ed13bf3c8e8ef75335f1363516ad65"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"f659f33f8a73d4479cee22ba5126e978610c627a","unresolved":false,"context_lines":[{"line_number":396,"context_line":"        if \u0027metadata\u0027 in prop_diff:"},{"line_number":397,"context_line":"            if not server:"},{"line_number":398,"context_line":"                server \u003d self.nova().servers.get(self.resource_id)"},{"line_number":399,"context_line":"            checker \u003d scheduler.TaskRunner(nova_utils.meta_update,"},{"line_number":400,"context_line":"                                           self.nova(), server,"},{"line_number":401,"context_line":"                                           prop_diff[\u0027metadata\u0027])"},{"line_number":402,"context_line":"            checkers.append(checker)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FIWA%3D","line":399,"updated":"2013-11-14 02:39:23.000000000","message":"And does it really need to be a task?","commit_id":"164585ca11ed13bf3c8e8ef75335f1363516ad65"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"165ebb3b25e90a8d180e540ac315692d8890bcaa","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        server \u003d None"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        if \u0027metadata\u0027 in prop_diff:"},{"line_number":368,"context_line":"            if not server:"},{"line_number":369,"context_line":"                server \u003d self.nova().servers.get(self.resource_id)"},{"line_number":370,"context_line":"            nova_utils.meta_update(self.nova(),"},{"line_number":371,"context_line":"                                   server,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FD8w%3D","line":368,"updated":"2013-11-15 00:25:05.000000000","message":"This conditional isn\u0027t needed","commit_id":"57d376d8e71be5733374285af7b96fa128b759c3"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"165ebb3b25e90a8d180e540ac315692d8890bcaa","unresolved":false,"context_lines":[{"line_number":381,"context_line":"                raise resource.UpdateReplace(self.name)"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"            flavor \u003d prop_diff[\u0027flavor\u0027]"},{"line_number":384,"context_line":"            flavor_id \u003d nova_utils.get_flavor_id(self.nova(), flavor)"},{"line_number":385,"context_line":"            server \u003d self.nova().servers.get(self.resource_id)"},{"line_number":386,"context_line":"            checker \u003d scheduler.TaskRunner(nova_utils.resize, server, flavor,"},{"line_number":387,"context_line":"                                           flavor_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FD8k%3D","line":384,"updated":"2013-11-15 00:25:05.000000000","message":"need an \"if not server:\" here","commit_id":"57d376d8e71be5733374285af7b96fa128b759c3"}]}
