)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fc6df1c029c082e379714ac7acea7d1a053046a7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove usage of locals()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove usage of locals() from nova/compute/manager.py"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"fixes bug 1171936"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPX%2F%2Fs2Y%3D","line":9,"updated":"2013-06-12 14:44:32.000000000","message":"I would make this your commit message.  The other review attached to this bug has a more explicit commit message which makes it clear which part it\u0027s touching for this change (since it looks like this is a piecemeal cleanup effort).","commit_id":"a67917f351db3101d39de5b47590af79a18c92dc"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"2537b32865f1e1e3fcb86bd2aadd2ab6c91daf19","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove usage of locals()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove usage of locals() from nova/compute/manager.py"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"fixes bug 1171936"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPX%2F%2Fszw%3D","line":9,"in_reply_to":"AAAAPX%2F%2Fs2Y%3D","updated":"2013-06-12 14:52:04.000000000","message":"correct, it is a part of cleanup effort. I was planning to clean it up in several patches.\nDo you think I need to copy the commit message from previous review of this bug?","commit_id":"a67917f351db3101d39de5b47590af79a18c92dc"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"96bfd43e99d87a2e7b9c38af8f3fd7dfd66cbe87","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove usage of locals()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove usage of locals() from nova/compute/manager.py"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"fixes bug 1171936"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPX%2F%2FsmE%3D","line":9,"in_reply_to":"AAAAPX%2F%2Fsm4%3D","updated":"2013-06-12 16:05:02.000000000","message":"Oh, I see. Ok.","commit_id":"a67917f351db3101d39de5b47590af79a18c92dc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"94935b3212266c36222ba9d2812c4ec60259e2ff","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove usage of locals()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Remove usage of locals() from nova/compute/manager.py"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"fixes bug 1171936"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAPX%2F%2Fsm4%3D","line":9,"in_reply_to":"AAAAPX%2F%2Fszw%3D","updated":"2013-06-12 16:03:27.000000000","message":"I meant I\u0027d just replace line 7 with this one for clarity.","commit_id":"a67917f351db3101d39de5b47590af79a18c92dc"}],"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fc6df1c029c082e379714ac7acea7d1a053046a7","unresolved":false,"context_lines":[{"line_number":2132,"context_line":"        \"\"\""},{"line_number":2133,"context_line":"        sys_meta \u003d utils.metadata_to_dict(instance[\u0027system_metadata\u0027])"},{"line_number":2134,"context_line":"        if restore_old:"},{"line_number":2135,"context_line":"            instance_type \u003d flavors.extract_flavor(instance, \u0027old_\u0027)"},{"line_number":2136,"context_line":"            sys_meta \u003d flavors.save_flavor_info(sys_meta, instance_type)"},{"line_number":2137,"context_line":"        else:"},{"line_number":2138,"context_line":"            instance_type \u003d flavors.extract_flavor(instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fs1c%3D","line":2135,"updated":"2013-06-12 14:44:32.000000000","message":"nit: This change isn\u0027t tied to the locals() cleanup...","commit_id":"a67917f351db3101d39de5b47590af79a18c92dc"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"94935b3212266c36222ba9d2812c4ec60259e2ff","unresolved":false,"context_lines":[{"line_number":2132,"context_line":"        \"\"\""},{"line_number":2133,"context_line":"        sys_meta \u003d utils.metadata_to_dict(instance[\u0027system_metadata\u0027])"},{"line_number":2134,"context_line":"        if restore_old:"},{"line_number":2135,"context_line":"            instance_type \u003d flavors.extract_flavor(instance, \u0027old_\u0027)"},{"line_number":2136,"context_line":"            sys_meta \u003d flavors.save_flavor_info(sys_meta, instance_type)"},{"line_number":2137,"context_line":"        else:"},{"line_number":2138,"context_line":"            instance_type \u003d flavors.extract_flavor(instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fsmc%3D","line":2135,"in_reply_to":"AAAAPX%2F%2Fs0A%3D","updated":"2013-06-12 16:03:27.000000000","message":"I\u0027m OK with this, it\u0027s just a nit and the overall goal is cleanup, albeit locals().","commit_id":"a67917f351db3101d39de5b47590af79a18c92dc"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"2537b32865f1e1e3fcb86bd2aadd2ab6c91daf19","unresolved":false,"context_lines":[{"line_number":2132,"context_line":"        \"\"\""},{"line_number":2133,"context_line":"        sys_meta \u003d utils.metadata_to_dict(instance[\u0027system_metadata\u0027])"},{"line_number":2134,"context_line":"        if restore_old:"},{"line_number":2135,"context_line":"            instance_type \u003d flavors.extract_flavor(instance, \u0027old_\u0027)"},{"line_number":2136,"context_line":"            sys_meta \u003d flavors.save_flavor_info(sys_meta, instance_type)"},{"line_number":2137,"context_line":"        else:"},{"line_number":2138,"context_line":"            instance_type \u003d flavors.extract_flavor(instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPX%2F%2Fs0A%3D","line":2135,"in_reply_to":"AAAAPX%2F%2Fs1c%3D","updated":"2013-06-12 14:52:04.000000000","message":"right. this is just some ugly formatting.\nDo you think it should not be fixed?","commit_id":"a67917f351db3101d39de5b47590af79a18c92dc"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"b9fb0c5d3769e121f430779859973d48a06413dc","unresolved":false,"context_lines":[{"line_number":3410,"context_line":"                                                self.host, teardown\u003dTrue)"},{"line_number":3411,"context_line":""},{"line_number":3412,"context_line":"        LOG.info(_(\u0027Migrating instance to %(dest)s finished successfully.\u0027),"},{"line_number":3413,"context_line":"                 (), instance\u003dinstance_ref)"},{"line_number":3414,"context_line":"        LOG.info(_(\"You may see the error \\\"libvirt: QEMU error: \""},{"line_number":3415,"context_line":"                   \"Domain not found: no domain with matching name.\\\" \""},{"line_number":3416,"context_line":"                   \"This error can be safely ignored.\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FsWs%3D","line":3413,"updated":"2013-06-12 17:30:00.000000000","message":"This one isn\u0027t right :)","commit_id":"f6d3cd7c4433920629ec6e1ead1a76517aa169b8"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"c94a9e44eb3d1f3beb656722181ead0223734757","unresolved":false,"context_lines":[{"line_number":3410,"context_line":"                                                self.host, teardown\u003dTrue)"},{"line_number":3411,"context_line":""},{"line_number":3412,"context_line":"        LOG.info(_(\u0027Migrating instance to %(dest)s finished successfully.\u0027),"},{"line_number":3413,"context_line":"                 (), instance\u003dinstance_ref)"},{"line_number":3414,"context_line":"        LOG.info(_(\"You may see the error \\\"libvirt: QEMU error: \""},{"line_number":3415,"context_line":"                   \"Domain not found: no domain with matching name.\\\" \""},{"line_number":3416,"context_line":"                   \"This error can be safely ignored.\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPX%2F%2FsV0%3D","line":3413,"in_reply_to":"AAAAPX%2F%2FsWs%3D","updated":"2013-06-12 17:35:48.000000000","message":"good catch.","commit_id":"f6d3cd7c4433920629ec6e1ead1a76517aa169b8"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":917,"context_line":""},{"line_number":918,"context_line":"        if node is None:"},{"line_number":919,"context_line":"            node \u003d self.driver.get_available_nodes()[0]"},{"line_number":920,"context_line":"            LOG.debug(_(\"No node specified, defaulting to %(node)s\"),"},{"line_number":921,"context_line":"                      {\u0027node\u0027: node})"},{"line_number":922,"context_line":""},{"line_number":923,"context_line":"        network_info \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsJM%3D","line":920,"updated":"2013-06-12 18:48:15.000000000","message":"As I know use could use\nLOG.debug(_(\"balbalbalb %s\"), node) which has more clean syntax.","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":917,"context_line":""},{"line_number":918,"context_line":"        if node is None:"},{"line_number":919,"context_line":"            node \u003d self.driver.get_available_nodes()[0]"},{"line_number":920,"context_line":"            LOG.debug(_(\"No node specified, defaulting to %(node)s\"),"},{"line_number":921,"context_line":"                      {\u0027node\u0027: node})"},{"line_number":922,"context_line":""},{"line_number":923,"context_line":"        network_info \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsF0%3D","line":920,"in_reply_to":"AAAAPX%2F%2FsJM%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":1803,"context_line":"            running \u003d power_state.RUNNING"},{"line_number":1804,"context_line":"            LOG.warn(_(\u0027trying to reboot a non-running \u0027"},{"line_number":1805,"context_line":"                     \u0027instance: (state: %(state)s \u0027"},{"line_number":1806,"context_line":"                     \u0027expected: %(running)s)\u0027),"},{"line_number":1807,"context_line":"                     {\u0027state\u0027: state, \u0027running\u0027: running},"},{"line_number":1808,"context_line":"                     context\u003dcontext, instance\u003dinstance)"},{"line_number":1809,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsI0%3D","line":1806,"updated":"2013-06-12 18:48:15.000000000","message":"This and line below could be on one line + bad align IMHO","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":1803,"context_line":"            running \u003d power_state.RUNNING"},{"line_number":1804,"context_line":"            LOG.warn(_(\u0027trying to reboot a non-running \u0027"},{"line_number":1805,"context_line":"                     \u0027instance: (state: %(state)s \u0027"},{"line_number":1806,"context_line":"                     \u0027expected: %(running)s)\u0027),"},{"line_number":1807,"context_line":"                     {\u0027state\u0027: state, \u0027running\u0027: running},"},{"line_number":1808,"context_line":"                     context\u003dcontext, instance\u003dinstance)"},{"line_number":1809,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsFs%3D","line":1806,"in_reply_to":"AAAAPX%2F%2FsI0%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"            state \u003d instance[\u0027power_state\u0027]"},{"line_number":1866,"context_line":"            running \u003d power_state.RUNNING"},{"line_number":1867,"context_line":"            LOG.warn(_(\u0027trying to snapshot a non-running \u0027"},{"line_number":1868,"context_line":"                       \u0027instance: (state: %(state)s \u0027"},{"line_number":1869,"context_line":"                       \u0027expected: %(running)s)\u0027),"},{"line_number":1870,"context_line":"                     {\u0027state\u0027: state, \u0027running\u0027: running},"},{"line_number":1871,"context_line":"                     instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsIc%3D","line":1868,"updated":"2013-06-12 18:48:15.000000000","message":"same here","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"            state \u003d instance[\u0027power_state\u0027]"},{"line_number":1866,"context_line":"            running \u003d power_state.RUNNING"},{"line_number":1867,"context_line":"            LOG.warn(_(\u0027trying to snapshot a non-running \u0027"},{"line_number":1868,"context_line":"                       \u0027instance: (state: %(state)s \u0027"},{"line_number":1869,"context_line":"                       \u0027expected: %(running)s)\u0027),"},{"line_number":1870,"context_line":"                     {\u0027state\u0027: state, \u0027running\u0027: running},"},{"line_number":1871,"context_line":"                     instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsFo%3D","line":1868,"in_reply_to":"AAAAPX%2F%2FsIc%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":1868,"context_line":"                       \u0027instance: (state: %(state)s \u0027"},{"line_number":1869,"context_line":"                       \u0027expected: %(running)s)\u0027),"},{"line_number":1870,"context_line":"                     {\u0027state\u0027: state, \u0027running\u0027: running},"},{"line_number":1871,"context_line":"                     instance\u003dinstance)"},{"line_number":1872,"context_line":""},{"line_number":1873,"context_line":"        self._notify_about_instance_usage("},{"line_number":1874,"context_line":"                context, instance, \"snapshot.start\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsIU%3D","line":1871,"updated":"2013-06-12 18:48:15.000000000","message":"do you know where is used this parameter?)","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":1868,"context_line":"                       \u0027instance: (state: %(state)s \u0027"},{"line_number":1869,"context_line":"                       \u0027expected: %(running)s)\u0027),"},{"line_number":1870,"context_line":"                     {\u0027state\u0027: state, \u0027running\u0027: running},"},{"line_number":1871,"context_line":"                     instance\u003dinstance)"},{"line_number":1872,"context_line":""},{"line_number":1873,"context_line":"        self._notify_about_instance_usage("},{"line_number":1874,"context_line":"                context, instance, \"snapshot.start\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsBE%3D","line":1871,"in_reply_to":"AAAAPX%2F%2FsIU%3D","updated":"2013-06-12 20:11:56.000000000","message":"I believe it is:\n\"Additionally, an instance uuid\nmay be passed as part of the log message, which is intended to make it easier\nfor admins to find messages related to a specific instance.\"\n\nSee nova/openstack/common/log.py#L110","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":2017,"context_line":"        expected_state \u003d power_state.RUNNING"},{"line_number":2018,"context_line":"        if current_power_state !\u003d expected_state:"},{"line_number":2019,"context_line":"            LOG.warn(_(\u0027trying to inject a file into a non-running \u0027"},{"line_number":2020,"context_line":"                       \u0027(state: %(current_power_state)s \u0027"},{"line_number":2021,"context_line":"                       \u0027expected: %(expected_state)s)\u0027),"},{"line_number":2022,"context_line":"                     {\u0027current_power_state\u0027: current_power_state,"},{"line_number":2023,"context_line":"                      \u0027expected_state\u0027: expected_state},"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsH8%3D","line":2020,"updated":"2013-06-12 18:48:15.000000000","message":"if you move state to the previous line, you will be able to connect this and next line together.","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":2017,"context_line":"        expected_state \u003d power_state.RUNNING"},{"line_number":2018,"context_line":"        if current_power_state !\u003d expected_state:"},{"line_number":2019,"context_line":"            LOG.warn(_(\u0027trying to inject a file into a non-running \u0027"},{"line_number":2020,"context_line":"                       \u0027(state: %(current_power_state)s \u0027"},{"line_number":2021,"context_line":"                       \u0027expected: %(expected_state)s)\u0027),"},{"line_number":2022,"context_line":"                     {\u0027current_power_state\u0027: current_power_state,"},{"line_number":2023,"context_line":"                      \u0027expected_state\u0027: expected_state},"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsFc%3D","line":2020,"in_reply_to":"AAAAPX%2F%2FsH8%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":2118,"context_line":"    def change_instance_metadata(self, context, diff, instance):"},{"line_number":2119,"context_line":"        \"\"\"Update the metadata published to the instance.\"\"\""},{"line_number":2120,"context_line":"        LOG.debug(_(\"Changing instance metadata according to %(diff)r\"),"},{"line_number":2121,"context_line":"                  {\u0027diff\u0027: diff}, instance\u003dinstance)"},{"line_number":2122,"context_line":"        self.driver.change_instance_metadata(context, instance, diff)"},{"line_number":2123,"context_line":""},{"line_number":2124,"context_line":"    def _cleanup_stored_instance_types(self, migration, instance,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsH4%3D","line":2121,"updated":"2013-06-12 18:48:15.000000000","message":"why not %s, and parameter without dict?","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":2118,"context_line":"    def change_instance_metadata(self, context, diff, instance):"},{"line_number":2119,"context_line":"        \"\"\"Update the metadata published to the instance.\"\"\""},{"line_number":2120,"context_line":"        LOG.debug(_(\"Changing instance metadata according to %(diff)r\"),"},{"line_number":2121,"context_line":"                  {\u0027diff\u0027: diff}, instance\u003dinstance)"},{"line_number":2122,"context_line":"        self.driver.change_instance_metadata(context, instance, diff)"},{"line_number":2123,"context_line":""},{"line_number":2124,"context_line":"    def _cleanup_stored_instance_types(self, migration, instance,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsFY%3D","line":2121,"in_reply_to":"AAAAPX%2F%2FsH4%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":3079,"context_line":"                                      mp)"},{"line_number":3080,"context_line":"        except Exception:  # pylint: disable\u003dW0702"},{"line_number":3081,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3082,"context_line":"                msg \u003d (_(\"Failed to detach volume \""},{"line_number":3083,"context_line":"                         \"%(volume_id)s from %(mp)s\") %"},{"line_number":3084,"context_line":"                       {\u0027volume_id\u0027: volume_id, \u0027mp\u0027: mp})"},{"line_number":3085,"context_line":"                LOG.exception(msg, context\u003dcontext, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsHs%3D","line":3082,"updated":"2013-06-12 18:48:15.000000000","message":"I think that we should avoid using local variable in this case, (unify it with others)","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":3079,"context_line":"                                      mp)"},{"line_number":3080,"context_line":"        except Exception:  # pylint: disable\u003dW0702"},{"line_number":3081,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3082,"context_line":"                msg \u003d (_(\"Failed to detach volume \""},{"line_number":3083,"context_line":"                         \"%(volume_id)s from %(mp)s\") %"},{"line_number":3084,"context_line":"                       {\u0027volume_id\u0027: volume_id, \u0027mp\u0027: mp})"},{"line_number":3085,"context_line":"                LOG.exception(msg, context\u003dcontext, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2Fr%2B8%3D","line":3082,"in_reply_to":"AAAAPX%2F%2FsHs%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":3160,"context_line":"                break"},{"line_number":3161,"context_line":"        if condemned is None:"},{"line_number":3162,"context_line":"            raise exception.PortNotFound(_(\"Port %s is not \""},{"line_number":3163,"context_line":"                                           \"attached\") % port_id)"},{"line_number":3164,"context_line":""},{"line_number":3165,"context_line":"        self.network_api.deallocate_port_for_instance(context, instance,"},{"line_number":3166,"context_line":"                                                      port_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsHY%3D","line":3163,"updated":"2013-06-12 18:48:15.000000000","message":"why do you don\u0027t move attached to previous line?","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":3160,"context_line":"                break"},{"line_number":3161,"context_line":"        if condemned is None:"},{"line_number":3162,"context_line":"            raise exception.PortNotFound(_(\"Port %s is not \""},{"line_number":3163,"context_line":"                                           \"attached\") % port_id)"},{"line_number":3164,"context_line":""},{"line_number":3165,"context_line":"        self.network_api.deallocate_port_for_instance(context, instance,"},{"line_number":3166,"context_line":"                                                      port_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2Fr%2B0%3D","line":3163,"in_reply_to":"AAAAPX%2F%2FsHY%3D","updated":"2013-06-12 20:11:56.000000000","message":"It would exceed 80 chars","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":3642,"context_line":"                         migrations_info)"},{"line_number":3643,"context_line":""},{"line_number":3644,"context_line":"            def _set_migration_to_error(migration, reason, **kwargs):"},{"line_number":3645,"context_line":"                migration_id \u003d migration[\u0027id\u0027]"},{"line_number":3646,"context_line":"                msg \u003d (_(\"Setting migration %(migration_id)s to error: \""},{"line_number":3647,"context_line":"                       \"%(reason)s\") %"},{"line_number":3648,"context_line":"                       {\u0027migration_id\u0027: migration_id, \u0027reason\u0027: reason})"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsHI%3D","line":3645,"updated":"2013-06-12 18:48:15.000000000","message":"you are using migration_id only to pass it in msg..","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":3642,"context_line":"                         migrations_info)"},{"line_number":3643,"context_line":""},{"line_number":3644,"context_line":"            def _set_migration_to_error(migration, reason, **kwargs):"},{"line_number":3645,"context_line":"                migration_id \u003d migration[\u0027id\u0027]"},{"line_number":3646,"context_line":"                msg \u003d (_(\"Setting migration %(migration_id)s to error: \""},{"line_number":3647,"context_line":"                       \"%(reason)s\") %"},{"line_number":3648,"context_line":"                       {\u0027migration_id\u0027: migration_id, \u0027reason\u0027: reason})"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsE4%3D","line":3645,"in_reply_to":"AAAAPX%2F%2FsHI%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":3643,"context_line":""},{"line_number":3644,"context_line":"            def _set_migration_to_error(migration, reason, **kwargs):"},{"line_number":3645,"context_line":"                migration_id \u003d migration[\u0027id\u0027]"},{"line_number":3646,"context_line":"                msg \u003d (_(\"Setting migration %(migration_id)s to error: \""},{"line_number":3647,"context_line":"                       \"%(reason)s\") %"},{"line_number":3648,"context_line":"                       {\u0027migration_id\u0027: migration_id, \u0027reason\u0027: reason})"},{"line_number":3649,"context_line":"                LOG.warn(msg, **kwargs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsHE%3D","line":3646,"updated":"2013-06-12 18:48:15.000000000","message":"avoid using msg, pass this to LOG","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":3643,"context_line":""},{"line_number":3644,"context_line":"            def _set_migration_to_error(migration, reason, **kwargs):"},{"line_number":3645,"context_line":"                migration_id \u003d migration[\u0027id\u0027]"},{"line_number":3646,"context_line":"                msg \u003d (_(\"Setting migration %(migration_id)s to error: \""},{"line_number":3647,"context_line":"                       \"%(reason)s\") %"},{"line_number":3648,"context_line":"                       {\u0027migration_id\u0027: migration_id, \u0027reason\u0027: reason})"},{"line_number":3649,"context_line":"                LOG.warn(msg, **kwargs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2Fr%2BA%3D","line":3646,"in_reply_to":"AAAAPX%2F%2FsHE%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":3651,"context_line":"                                                    \u0027error\u0027)"},{"line_number":3652,"context_line":""},{"line_number":3653,"context_line":"            for migration in migrations:"},{"line_number":3654,"context_line":"                migration_id \u003d migration[\u0027id\u0027]"},{"line_number":3655,"context_line":"                instance_uuid \u003d migration[\u0027instance_uuid\u0027]"},{"line_number":3656,"context_line":"                LOG.info(_(\"Automatically confirming migration \""},{"line_number":3657,"context_line":"                           \"%(migration_id)s for instance %(instance_uuid)s\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsG8%3D","line":3654,"updated":"2013-06-12 18:48:15.000000000","message":"same story here","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":3651,"context_line":"                                                    \u0027error\u0027)"},{"line_number":3652,"context_line":""},{"line_number":3653,"context_line":"            for migration in migrations:"},{"line_number":3654,"context_line":"                migration_id \u003d migration[\u0027id\u0027]"},{"line_number":3655,"context_line":"                instance_uuid \u003d migration[\u0027instance_uuid\u0027]"},{"line_number":3656,"context_line":"                LOG.info(_(\"Automatically confirming migration \""},{"line_number":3657,"context_line":"                           \"%(migration_id)s for instance %(instance_uuid)s\"),"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2Fr90%3D","line":3654,"in_reply_to":"AAAAPX%2F%2FsG8%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"9b32d37edbd0b5ba6d06e6e76e29067bcc5f291b","unresolved":false,"context_lines":[{"line_number":3684,"context_line":"                    self.conductor_api.compute_confirm_resize("},{"line_number":3685,"context_line":"                        context, instance, migration_ref\u003dmigration)"},{"line_number":3686,"context_line":"                except Exception as e:"},{"line_number":3687,"context_line":"                    msg \u003d _(\"Error auto-confirming resize: %s. \""},{"line_number":3688,"context_line":"                            \"Will retry later.\") % e"},{"line_number":3689,"context_line":"                    LOG.error(msg, instance\u003dinstance)"},{"line_number":3690,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2FsG4%3D","line":3687,"updated":"2013-06-12 18:48:15.000000000","message":"same","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"29940540c59a51de7f0b964fa60832810e98dab4","unresolved":false,"context_lines":[{"line_number":3684,"context_line":"                    self.conductor_api.compute_confirm_resize("},{"line_number":3685,"context_line":"                        context, instance, migration_ref\u003dmigration)"},{"line_number":3686,"context_line":"                except Exception as e:"},{"line_number":3687,"context_line":"                    msg \u003d _(\"Error auto-confirming resize: %s. \""},{"line_number":3688,"context_line":"                            \"Will retry later.\") % e"},{"line_number":3689,"context_line":"                    LOG.error(msg, instance\u003dinstance)"},{"line_number":3690,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAPX%2F%2Fr9s%3D","line":3687,"in_reply_to":"AAAAPX%2F%2FsG4%3D","updated":"2013-06-12 20:11:56.000000000","message":"Done","commit_id":"60ec43231a84f2b601ceab2cff4885a2ce773672"}]}
