)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"3a26131f13be060b68e1126140cb3d143c750655","unresolved":false,"context_lines":[{"line_number":4441,"context_line":"        if len(network_info) !\u003d 1:"},{"line_number":4442,"context_line":"            LOG.error(_(\u0027allocate_port_for_instance returned %(ports)s ports\u0027)"},{"line_number":4443,"context_line":"                      % dict(ports\u003dlen(network_info)))"},{"line_number":4444,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance.uuid)"},{"line_number":4445,"context_line":"        image_ref \u003d instance.get(\u0027image_ref\u0027)"},{"line_number":4446,"context_line":"        image_meta \u003d compute_utils.get_image_metadata("},{"line_number":4447,"context_line":"            context, self.image_api, image_ref, instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dab895d6_5055bfc4","line":4444,"updated":"2014-06-30 11:02:25.000000000","message":"Just a question. why do you use a \"instance.uuid\" here and in other files, \"intsnce[\u0027uuid\u0027]\"?","commit_id":"510ba47d58421943e9f78a7878344eda282dfef9"},{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"bb02c6f80398cbc64fea39e7c47903739244d845","unresolved":false,"context_lines":[{"line_number":4441,"context_line":"        if len(network_info) !\u003d 1:"},{"line_number":4442,"context_line":"            LOG.error(_(\u0027allocate_port_for_instance returned %(ports)s ports\u0027)"},{"line_number":4443,"context_line":"                      % dict(ports\u003dlen(network_info)))"},{"line_number":4444,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance.uuid)"},{"line_number":4445,"context_line":"        image_ref \u003d instance.get(\u0027image_ref\u0027)"},{"line_number":4446,"context_line":"        image_meta \u003d compute_utils.get_image_metadata("},{"line_number":4447,"context_line":"            context, self.image_api, image_ref, instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_fd9acd61","line":4444,"in_reply_to":"baada198_d059805b","updated":"2014-07-03 04:19:40.000000000","message":"Thank you for explanation!","commit_id":"510ba47d58421943e9f78a7878344eda282dfef9"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8dc00c98629b6a91ba1eb36c677770d3ff60d8df","unresolved":false,"context_lines":[{"line_number":4441,"context_line":"        if len(network_info) !\u003d 1:"},{"line_number":4442,"context_line":"            LOG.error(_(\u0027allocate_port_for_instance returned %(ports)s ports\u0027)"},{"line_number":4443,"context_line":"                      % dict(ports\u003dlen(network_info)))"},{"line_number":4444,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance.uuid)"},{"line_number":4445,"context_line":"        image_ref \u003d instance.get(\u0027image_ref\u0027)"},{"line_number":4446,"context_line":"        image_meta \u003d compute_utils.get_image_metadata("},{"line_number":4447,"context_line":"            context, self.image_api, image_ref, instance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_d059805b","line":4444,"in_reply_to":"dab895d6_5055bfc4","updated":"2014-07-02 17:49:15.000000000","message":"the method has a decorator @object_compat - this means that the instance will be an object.","commit_id":"510ba47d58421943e9f78a7878344eda282dfef9"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"597d2f74cfc2bb9a01bd33369c25a335eb17f7db","unresolved":false,"context_lines":[{"line_number":4453,"context_line":"        if len(network_info) !\u003d 1:"},{"line_number":4454,"context_line":"            LOG.error(_(\u0027allocate_port_for_instance returned %(ports)s ports\u0027)"},{"line_number":4455,"context_line":"                      % dict(ports\u003dlen(network_info)))"},{"line_number":4456,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance.uuid)"},{"line_number":4457,"context_line":"        image_ref \u003d instance.get(\u0027image_ref\u0027)"},{"line_number":4458,"context_line":"        image_meta \u003d compute_utils.get_image_metadata("},{"line_number":4459,"context_line":"            context, self.image_api, image_ref, instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_8d3827a1","line":4456,"updated":"2014-07-29 12:09:33.000000000","message":"This is not right.  When using instance\u003d, it is supposed to be the full instance.","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"80a73082d90ce7d6244d5d9864fdc42d56e7f90f","unresolved":false,"context_lines":[{"line_number":4453,"context_line":"        if len(network_info) !\u003d 1:"},{"line_number":4454,"context_line":"            LOG.error(_(\u0027allocate_port_for_instance returned %(ports)s ports\u0027)"},{"line_number":4455,"context_line":"                      % dict(ports\u003dlen(network_info)))"},{"line_number":4456,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance.uuid)"},{"line_number":4457,"context_line":"        image_ref \u003d instance.get(\u0027image_ref\u0027)"},{"line_number":4458,"context_line":"        image_meta \u003d compute_utils.get_image_metadata("},{"line_number":4459,"context_line":"            context, self.image_api, image_ref, instance)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_0b637bdd","line":4456,"in_reply_to":"baada198_8d3827a1","updated":"2014-08-02 07:21:28.000000000","message":"Russel, that is exactly the problem - when passing the instance one gets an incoherent exception. The exception is defined as follows: https://github.com/openstack/nova/blob/master/nova/exception.py#L1305 which receiving the instance is clearly wrong. If you want I can change this to instance_uuid.","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":11531,"name":"warewang","email":"libra1588@126.com","username":"warewang"},"change_message_id":"372a5d79c37ab4c8950b3daf9ba615d7d1dc3b6b","unresolved":false,"context_lines":[{"line_number":4510,"context_line":"        network_info \u003d self.network_api.allocate_port_for_instance("},{"line_number":4511,"context_line":"            context, instance, port_id, network_id, requested_ip)"},{"line_number":4512,"context_line":"        if len(network_info) !\u003d 1:"},{"line_number":4513,"context_line":"            LOG.error(_(\u0027allocate_port_for_instance returned %(ports)s ports\u0027)"},{"line_number":4514,"context_line":"                      % dict(ports\u003dlen(network_info)))"},{"line_number":4515,"context_line":"            raise exception.InterfaceAttachFailed("},{"line_number":4516,"context_line":"                    instance_uuid\u003dinstance.uuid)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_36a33800","line":4513,"updated":"2014-08-11 11:57:50.000000000","message":"you should use _LE into log.exception. because of this part code is new. you can refer to https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L5433","commit_id":"f8ae852c1a267a15f6b70026ad40d5d219fc0d33"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3c763a581767bf3c2581b187c45fd08c609b8d7b","unresolved":false,"context_lines":[{"line_number":4510,"context_line":"        network_info \u003d self.network_api.allocate_port_for_instance("},{"line_number":4511,"context_line":"            context, instance, port_id, network_id, requested_ip)"},{"line_number":4512,"context_line":"        if len(network_info) !\u003d 1:"},{"line_number":4513,"context_line":"            LOG.error(_(\u0027allocate_port_for_instance returned %(ports)s ports\u0027)"},{"line_number":4514,"context_line":"                      % dict(ports\u003dlen(network_info)))"},{"line_number":4515,"context_line":"            raise exception.InterfaceAttachFailed("},{"line_number":4516,"context_line":"                    instance_uuid\u003dinstance.uuid)"}],"source_content_type":"text/x-python","patch_set":6,"id":"baada198_77cf6757","line":4513,"in_reply_to":"baada198_36a33800","updated":"2014-08-11 14:35:14.000000000","message":"that code was not touched by this patch","commit_id":"f8ae852c1a267a15f6b70026ad40d5d219fc0d33"}],"nova/virt/fake.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"597d2f74cfc2bb9a01bd33369c25a335eb17f7db","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def attach_interface(self, instance, image_meta, vif):"},{"line_number":252,"context_line":"        if vif[\u0027id\u0027] in self._interfaces:"},{"line_number":253,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":254,"context_line":"        self._interfaces[vif[\u0027id\u0027]] \u003d vif"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def detach_interface(self, instance, vif):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_ad3deb90","line":253,"updated":"2014-07-29 12:09:33.000000000","message":"should be the full instance","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"244076004bb7ff2e4c8a4d8ebcbe69a2baeda01c","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def attach_interface(self, instance, image_meta, vif):"},{"line_number":252,"context_line":"        if vif[\u0027id\u0027] in self._interfaces:"},{"line_number":253,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":254,"context_line":"        self._interfaces[vif[\u0027id\u0027]] \u003d vif"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def detach_interface(self, instance, vif):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_6b9957cf","line":253,"in_reply_to":"baada198_ad3deb90","updated":"2014-08-02 07:23:06.000000000","message":"same as previous comment","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"597d2f74cfc2bb9a01bd33369c25a335eb17f7db","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        try:"},{"line_number":258,"context_line":"            del self._interfaces[vif[\u0027id\u0027]]"},{"line_number":259,"context_line":"        except KeyError:"},{"line_number":260,"context_line":"            raise exception.InterfaceDetachFailed(instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    def get_info(self, instance):"},{"line_number":263,"context_line":"        if instance[\u0027name\u0027] not in self.instances:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_cd421f0f","line":260,"updated":"2014-07-29 12:09:33.000000000","message":"should be the full instance","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"244076004bb7ff2e4c8a4d8ebcbe69a2baeda01c","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        try:"},{"line_number":258,"context_line":"            del self._interfaces[vif[\u0027id\u0027]]"},{"line_number":259,"context_line":"        except KeyError:"},{"line_number":260,"context_line":"            raise exception.InterfaceDetachFailed(instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    def get_info(self, instance):"},{"line_number":263,"context_line":"        if instance[\u0027name\u0027] not in self.instances:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_8b9eabb6","line":260,"in_reply_to":"baada198_cd421f0f","updated":"2014-08-02 07:23:06.000000000","message":"ditto","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"597d2f74cfc2bb9a01bd33369c25a335eb17f7db","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"            LOG.error(_LE(\u0027attaching network adapter failed.\u0027),"},{"line_number":1383,"context_line":"                     instance\u003dinstance)"},{"line_number":1384,"context_line":"            self.vif_driver.unplug(instance, vif)"},{"line_number":1385,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":1386,"context_line":""},{"line_number":1387,"context_line":"    def detach_interface(self, instance, vif):"},{"line_number":1388,"context_line":"        virt_dom \u003d self._lookup_by_name(instance[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_0d441718","line":1385,"updated":"2014-07-29 12:09:33.000000000","message":"should be the full instance","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"244076004bb7ff2e4c8a4d8ebcbe69a2baeda01c","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"            LOG.error(_LE(\u0027attaching network adapter failed.\u0027),"},{"line_number":1383,"context_line":"                     instance\u003dinstance)"},{"line_number":1384,"context_line":"            self.vif_driver.unplug(instance, vif)"},{"line_number":1385,"context_line":"            raise exception.InterfaceAttachFailed(instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":1386,"context_line":""},{"line_number":1387,"context_line":"    def detach_interface(self, instance, vif):"},{"line_number":1388,"context_line":"        virt_dom \u003d self._lookup_by_name(instance[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_ab9fefb1","line":1385,"in_reply_to":"baada198_0d441718","updated":"2014-08-02 07:23:06.000000000","message":"ditto","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"597d2f74cfc2bb9a01bd33369c25a335eb17f7db","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"                LOG.error(_LE(\u0027detaching network adapter failed.\u0027),"},{"line_number":1408,"context_line":"                         instance\u003dinstance)"},{"line_number":1409,"context_line":"                raise exception.InterfaceDetachFailed("},{"line_number":1410,"context_line":"                        instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":1411,"context_line":""},{"line_number":1412,"context_line":"    def _create_snapshot_metadata(self, base, instance, img_fmt, snp_name):"},{"line_number":1413,"context_line":"        metadata \u003d {\u0027is_public\u0027: False,"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_2d51dbd9","line":1410,"updated":"2014-07-29 12:09:33.000000000","message":"should be the full instance","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"244076004bb7ff2e4c8a4d8ebcbe69a2baeda01c","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"                LOG.error(_LE(\u0027detaching network adapter failed.\u0027),"},{"line_number":1408,"context_line":"                         instance\u003dinstance)"},{"line_number":1409,"context_line":"                raise exception.InterfaceDetachFailed("},{"line_number":1410,"context_line":"                        instance\u003dinstance[\u0027uuid\u0027])"},{"line_number":1411,"context_line":""},{"line_number":1412,"context_line":"    def _create_snapshot_metadata(self, base, instance, img_fmt, snp_name):"},{"line_number":1413,"context_line":"        metadata \u003d {\u0027is_public\u0027: False,"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_cba42309","line":1410,"in_reply_to":"baada198_2d51dbd9","updated":"2014-08-02 07:23:06.000000000","message":"ditto","commit_id":"2d8d76dd5b3ffb7c82158b1115f6112c8fa717f2"}]}
