)]}'
{"nova/tests/virt/xenapi/test_volumeops.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bed05abdbc5d35b7e5fff9aa876b6be704105ecf","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self.mox.ReplayAll()"},{"line_number":59,"context_line":"        ops.attach_volume("},{"line_number":60,"context_line":"            dict(driver_volume_type\u003d\u0027iscsi\u0027, data\u003d\u0027conn_data\u0027),"},{"line_number":61,"context_line":"            \u0027instance_1\u0027, \u0027mountpoint\u0027, hotplug\u003dFalse)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_connect_volume_no_hotplug(self):"},{"line_number":64,"context_line":"        session \u003d stubs.FakeSessionForVolumeTests(\u0027fake_uri\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F2FE%3D","line":61,"updated":"2013-01-02 17:50:29.000000000","message":"Can you add tests for hotplug\u003dTrue?","commit_id":"4d52cb95be926e58291bf1e775a97693a3367803"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bed05abdbc5d35b7e5fff9aa876b6be704105ecf","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # self._session.call_xenapi isn\u0027t in the fakes, so it would crash if"},{"line_number":100,"context_line":"        # actually called."},{"line_number":101,"context_line":"        ops.connect_volume(connection_data, dev_number, instance_name,"},{"line_number":102,"context_line":"                           vm_ref, hotplug\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F2IU%3D","line":102,"updated":"2013-01-02 17:50:29.000000000","message":"might be nicer to stub out the method and assert it is not called?","commit_id":"4d52cb95be926e58291bf1e775a97693a3367803"}],"nova/virt/xenapi/driver.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"fbc9fd57629a4684b53502bc1b197f8e27f4e117","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                         network_info, image_meta, resize_instance\u003dFalse,"},{"line_number":185,"context_line":"                         block_device_info\u003dNone):"},{"line_number":186,"context_line":"        \"\"\"Completes a resize, turning on the migrated instance\"\"\""},{"line_number":187,"context_line":"        self._vmops.finish_migration("},{"line_number":188,"context_line":"            context, migration, instance, disk_info, network_info,"},{"line_number":189,"context_line":"            image_meta, resize_instance, block_device_info)"},{"line_number":190,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F2b4%3D","line":187,"updated":"2013-01-02 14:42:42.000000000","message":"small nit, but for consistency you should not start the arguments on a new line.  Don\u0027t break until the first line gets close to 80 chars.","commit_id":"e1530e405965952d68b4b153a281cce1a38181b7"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"a1c27a1854a70a58d1b8c7e4fe04e551a37e0571","unresolved":false,"context_lines":[{"line_number":184,"context_line":"                         network_info, image_meta, resize_instance\u003dFalse,"},{"line_number":185,"context_line":"                         block_device_info\u003dNone):"},{"line_number":186,"context_line":"        \"\"\"Completes a resize, turning on the migrated instance\"\"\""},{"line_number":187,"context_line":"        self._vmops.finish_migration("},{"line_number":188,"context_line":"            context, migration, instance, disk_info, network_info,"},{"line_number":189,"context_line":"            image_meta, resize_instance, block_device_info)"},{"line_number":190,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F2Tc%3D","line":187,"in_reply_to":"AAAAM3%2F%2F2b4%3D","updated":"2013-01-02 16:12:13.000000000","message":"Done","commit_id":"e1530e405965952d68b4b153a281cce1a38181b7"}],"nova/virt/xenapi/vmops.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"fbc9fd57629a4684b53502bc1b197f8e27f4e117","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        name_label \u003d instance[\u0027name\u0027]"},{"line_number":205,"context_line":"        vm_utils.set_vm_name_label(self._session, vm_ref, name_label)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self._attach_mapped_block_devices(instance, block_device_info)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        self._start(instance, vm_ref)"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F2bU%3D","line":207,"updated":"2013-01-02 14:42:42.000000000","message":"It might be better to only call this if block_device_info is not None.  Then _attach_map_block_device() can assume it\u0027s not None.","commit_id":"e1530e405965952d68b4b153a281cce1a38181b7"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"a1c27a1854a70a58d1b8c7e4fe04e551a37e0571","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        name_label \u003d instance[\u0027name\u0027]"},{"line_number":205,"context_line":"        vm_utils.set_vm_name_label(self._session, vm_ref, name_label)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        self._attach_mapped_block_devices(instance, block_device_info)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        self._start(instance, vm_ref)"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F2WI%3D","line":207,"in_reply_to":"AAAAM3%2F%2F2bU%3D","updated":"2013-01-02 16:12:13.000000000","message":"I agree in principle. I don\u0027t think it\u0027s ever actually None. The compute manager always passes in a hash. For now I just followed the pattern that already exists.\n\nI\u0027m hoping this stuff gets cleaned up with blueprint:improve-block-device-handling","commit_id":"e1530e405965952d68b4b153a281cce1a38181b7"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"fbc9fd57629a4684b53502bc1b197f8e27f4e117","unresolved":false,"context_lines":[{"line_number":238,"context_line":"                                 disk_image_type, network_info, kernel_file,"},{"line_number":239,"context_line":"                                 ramdisk_file)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        self._attach_mapped_block_devices(instance, block_device_info)"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        # 5. Start VM"},{"line_number":244,"context_line":"        self._start(instance, vm_ref\u003dvm_ref)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F2bM%3D","line":241,"updated":"2013-01-02 14:42:42.000000000","message":"Same comment as above.","commit_id":"e1530e405965952d68b4b153a281cce1a38181b7"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"215820d0d31e1fab7b3912a418f6d0eb4fce61b6","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    def _attach_mapped_block_devices(self, instance, block_device_info):"},{"line_number":186,"context_line":"        block_device_mapping \u003d virt_driver.block_device_info_get_mapping("},{"line_number":187,"context_line":"                block_device_info)"},{"line_number":188,"context_line":"        for vol in block_device_mapping:"},{"line_number":189,"context_line":"            connection_info \u003d vol[\u0027connection_info\u0027]"},{"line_number":190,"context_line":"            mount_device \u003d vol[\u0027mount_device\u0027].rpartition(\"/\")[2]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F2BU%3D","line":187,"updated":"2013-01-02 18:13:42.000000000","message":"I wonder whether it would be worth mentioning the reason we can\u0027t hotplug in a comment, in case we get the urge to change this code later.","commit_id":"4d52cb95be926e58291bf1e775a97693a3367803"}],"nova/virt/xenapi/volumeops.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"fbc9fd57629a4684b53502bc1b197f8e27f4e117","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        dev_number \u003d volume_utils.get_device_number(mountpoint)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        self.connect_volume("},{"line_number":126,"context_line":"            connection_data, dev_number, instance_name, vm_ref, hotplug)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        LOG.info(_(\u0027Mountpoint %(mountpoint)s attached to\u0027"},{"line_number":129,"context_line":"                \u0027 instance %(instance_name)s\u0027) % locals())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F2a0%3D","line":126,"updated":"2013-01-02 14:42:42.000000000","message":"Somewhat outside of the scope of this change, but same nitpick as in another file.  If you\u0027re modifying this line I would move the start of the arguments to the same line as the method call.","commit_id":"e1530e405965952d68b4b153a281cce1a38181b7"},{"author":{"_account_id":4159,"name":"Cory Stone","email":"corystone@gmail.com","username":"corystone"},"change_message_id":"a1c27a1854a70a58d1b8c7e4fe04e551a37e0571","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        dev_number \u003d volume_utils.get_device_number(mountpoint)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        self.connect_volume("},{"line_number":126,"context_line":"            connection_data, dev_number, instance_name, vm_ref, hotplug)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        LOG.info(_(\u0027Mountpoint %(mountpoint)s attached to\u0027"},{"line_number":129,"context_line":"                \u0027 instance %(instance_name)s\u0027) % locals())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2F2Tg%3D","line":126,"in_reply_to":"AAAAM3%2F%2F2a0%3D","updated":"2013-01-02 16:12:13.000000000","message":"Done","commit_id":"e1530e405965952d68b4b153a281cce1a38181b7"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"215820d0d31e1fab7b3912a418f6d0eb4fce61b6","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        dev_number \u003d volume_utils.get_device_number(mountpoint)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        self.connect_volume(connection_data, dev_number, instance_name,"},{"line_number":126,"context_line":"                            vm_ref, hotplug)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        LOG.info(_(\u0027Mountpoint %(mountpoint)s attached to\u0027"},{"line_number":129,"context_line":"                \u0027 instance %(instance_name)s\u0027) % locals())"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2F2CE%3D","line":126,"updated":"2013-01-02 18:13:42.000000000","message":"Femto-nit: Since hotplug is a kwarg, might be slightly clearer as `hotplug\u003dhotplug`.\n\nCould avoid issues in the future where arguments are added/removed and arg positions change.","commit_id":"4d52cb95be926e58291bf1e775a97693a3367803"}]}
