)]}'
{"nova/tests/unit/virt/vmwareapi/test_ds_util.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            self.assertEqual(\u0027fake-dc-ref\u0027, sourceDatacenter)"},{"line_number":95,"context_line":"            destDatacenter \u003d kwargs.get(\u0027destDatacenter\u0027)"},{"line_number":96,"context_line":"            self.assertEqual(\u0027fake-dc-ref\u0027, destDatacenter)"},{"line_number":97,"context_line":"            return \u0027fake_move_task\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        with contextlib.nested("},{"line_number":100,"context_line":"            mock.patch.object(self.session, \u0027_wait_for_task\u0027),"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_8b77f23a","line":97,"updated":"2014-11-28 15:02:30.000000000","message":"nits, if you respin... variables in Nova\u0027s codebase should be lower_with_underscore, not camelCased.","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            self.assertEqual(\u0027fake-dc-ref\u0027, sourceDatacenter)"},{"line_number":95,"context_line":"            destDatacenter \u003d kwargs.get(\u0027destDatacenter\u0027)"},{"line_number":96,"context_line":"            self.assertEqual(\u0027fake-dc-ref\u0027, destDatacenter)"},{"line_number":97,"context_line":"            return \u0027fake_move_task\u0027"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        with contextlib.nested("},{"line_number":100,"context_line":"            mock.patch.object(self.session, \u0027_wait_for_task\u0027),"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_76cc58bc","line":97,"in_reply_to":"5a890539_8b77f23a","updated":"2014-12-01 09:21:41.000000000","message":"Done","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"}],"nova/tests/unit/virt/vmwareapi/test_images.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            mock_read_class.return_value \u003d mock_read_handle"},{"line_number":128,"context_line":"            mock_write_handle \u003d mock.MagicMock()"},{"line_number":129,"context_line":"            mock_write_class.return_value \u003d mock_write_handle"},{"line_number":130,"context_line":"            mock_write_handle.get_imported_vm.return_value \u003d fake_vm_ref"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            images.fetch_image_stream_optimized("},{"line_number":133,"context_line":"                    context, instance, session, \u0027fake-vm\u0027, \u0027fake-datastore\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_eb8dd62b","line":130,"updated":"2014-11-28 15:02:30.000000000","message":"Helpful hint... you can replace fake_vm_ref here with just mock.sentinel.vm_ref, and then refer to the sentinel in the assertion on line 139. It\u0027s just a way of avoiding creating a mock.MagicMock() object on line 102.","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            mock_read_class.return_value \u003d mock_read_handle"},{"line_number":128,"context_line":"            mock_write_handle \u003d mock.MagicMock()"},{"line_number":129,"context_line":"            mock_write_class.return_value \u003d mock_write_handle"},{"line_number":130,"context_line":"            mock_write_handle.get_imported_vm.return_value \u003d fake_vm_ref"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"            images.fetch_image_stream_optimized("},{"line_number":133,"context_line":"                    context, instance, session, \u0027fake-vm\u0027, \u0027fake-datastore\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_96c2a484","line":130,"in_reply_to":"5a890539_eb8dd62b","updated":"2014-12-01 09:21:41.000000000","message":"Done, thanks.","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"}],"nova/tests/unit/virt/vmwareapi/test_vmops.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":1328,"context_line":"        vi \u003d self._make_vm_config_info()"},{"line_number":1329,"context_line":"        tmp_image_ds_loc \u003d mock.Mock()"},{"line_number":1330,"context_line":""},{"line_number":1331,"context_line":"        self._vmops._cache_stream_optimized_image(vi, tmp_image_ds_loc)"},{"line_number":1332,"context_line":""},{"line_number":1333,"context_line":"        mock_mkdir.assert_called_once_with("},{"line_number":1334,"context_line":"            self._session,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_6b7ac626","line":1331,"updated":"2014-11-28 15:02:30.000000000","message":"same comment above about ability to use mock.sentinel.tmp_image_ds_loc here and avoid creating a mock.MagicMock() on line 1329","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":1328,"context_line":"        vi \u003d self._make_vm_config_info()"},{"line_number":1329,"context_line":"        tmp_image_ds_loc \u003d mock.Mock()"},{"line_number":1330,"context_line":""},{"line_number":1331,"context_line":"        self._vmops._cache_stream_optimized_image(vi, tmp_image_ds_loc)"},{"line_number":1332,"context_line":""},{"line_number":1333,"context_line":"        mock_mkdir.assert_called_once_with("},{"line_number":1334,"context_line":"            self._session,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_d6bc2c09","line":1331,"in_reply_to":"5a890539_6b7ac626","updated":"2014-12-01 09:21:41.000000000","message":"Done","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"}],"nova/virt/vmwareapi/ds_util.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            destDatacenter\u003ddc_ref,"},{"line_number":380,"context_line":"            force\u003dFalse)"},{"line_number":381,"context_line":"    session._wait_for_task(move_task)"},{"line_number":382,"context_line":"    LOG.debug(\"Disk moved\")"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"def file_move(session, dc_ref, src_file, dst_file):"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_ab74ae36","line":382,"updated":"2014-11-28 15:02:30.000000000","message":"Please change the above to an INFO log level, remember to use the _LI() i18n hint, and make the log message as detailed as the one on line 370. Generally, INFO level is used for \"successful atomic units of work\", which is what this is.","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            destDatacenter\u003ddc_ref,"},{"line_number":380,"context_line":"            force\u003dFalse)"},{"line_number":381,"context_line":"    session._wait_for_task(move_task)"},{"line_number":382,"context_line":"    LOG.debug(\"Disk moved\")"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"def file_move(session, dc_ref, src_file, dst_file):"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_f6b7681f","line":382,"in_reply_to":"5a890539_ab74ae36","updated":"2014-12-01 09:21:41.000000000","message":"Done","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"}],"nova/virt/vmwareapi/images.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ee4926f012172e761de779c2ea48b29239f3015d","unresolved":false,"context_lines":[{"line_number":250,"context_line":"              instance\u003dinstance)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"def _build_shadow_vm_config_spec(session, name, size_kb, disk_type, ds_name):"},{"line_number":254,"context_line":"    \"\"\"Return spec for creating a shadow VM for image disk."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    The VM is never meant to be powered on. When used in importing"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_60d758c0","line":253,"updated":"2014-11-19 14:39:19.000000000","message":"would it be possible to have a unit test for this method?","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"b9eb7adff83989311dd9f6f1b515ed8df6f4e915","unresolved":false,"context_lines":[{"line_number":250,"context_line":"              instance\u003dinstance)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"def _build_shadow_vm_config_spec(session, name, size_kb, disk_type, ds_name):"},{"line_number":254,"context_line":"    \"\"\"Return spec for creating a shadow VM for image disk."},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    The VM is never meant to be powered on. When used in importing"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_f9c4c742","line":253,"in_reply_to":"5a890539_60d758c0","updated":"2014-11-20 09:10:55.000000000","message":"The unit test would be to have a hardcoded piece of XML and to compare the output with it. I don\u0027t see how this is useful but I will add it if you really want.","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ee4926f012172e761de779c2ea48b29239f3015d","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    create_spec.numCPUs \u003d 1"},{"line_number":302,"context_line":"    create_spec.memoryMB \u003d 128"},{"line_number":303,"context_line":"    create_spec.deviceChange \u003d [controller_spec, disk_spec]"},{"line_number":304,"context_line":"    create_spec.extraConfig \u003d None"},{"line_number":305,"context_line":"    create_spec.files \u003d vm_file_info"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    return create_spec"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_c0bbac73","line":304,"updated":"2014-11-19 14:39:19.000000000","message":"why do we need to set this as None. Does it not get this value as default`/","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"b9eb7adff83989311dd9f6f1b515ed8df6f4e915","unresolved":false,"context_lines":[{"line_number":301,"context_line":"    create_spec.numCPUs \u003d 1"},{"line_number":302,"context_line":"    create_spec.memoryMB \u003d 128"},{"line_number":303,"context_line":"    create_spec.deviceChange \u003d [controller_spec, disk_spec]"},{"line_number":304,"context_line":"    create_spec.extraConfig \u003d None"},{"line_number":305,"context_line":"    create_spec.files \u003d vm_file_info"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    return create_spec"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_59a15ba8","line":304,"in_reply_to":"5a890539_c0bbac73","updated":"2014-11-20 09:10:55.000000000","message":"The default value is an empty array. Anyway, I will remove this line.","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ee4926f012172e761de779c2ea48b29239f3015d","unresolved":false,"context_lines":[{"line_number":308,"context_line":""},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"def _build_import_spec_for_import_vapp(session, vm_name, datastore_name):"},{"line_number":311,"context_line":"    dummy_disk_kb \u003d 0"},{"line_number":312,"context_line":"    vm_create_spec \u003d _build_shadow_vm_config_spec("},{"line_number":313,"context_line":"            session, vm_name, dummy_disk_kb, constants.DISK_TYPE_THIN,"},{"line_number":314,"context_line":"            datastore_name)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_2072b0e5","line":311,"updated":"2014-11-19 14:39:19.000000000","message":"do we need this variable?","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"b9eb7adff83989311dd9f6f1b515ed8df6f4e915","unresolved":false,"context_lines":[{"line_number":308,"context_line":""},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"def _build_import_spec_for_import_vapp(session, vm_name, datastore_name):"},{"line_number":311,"context_line":"    dummy_disk_kb \u003d 0"},{"line_number":312,"context_line":"    vm_create_spec \u003d _build_shadow_vm_config_spec("},{"line_number":313,"context_line":"            session, vm_name, dummy_disk_kb, constants.DISK_TYPE_THIN,"},{"line_number":314,"context_line":"            datastore_name)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_b944ff1b","line":311,"in_reply_to":"5a890539_2072b0e5","updated":"2014-11-20 09:10:55.000000000","message":"No :)","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ee4926f012172e761de779c2ea48b29239f3015d","unresolved":false,"context_lines":[{"line_number":356,"context_line":"              instance\u003dinstance)"},{"line_number":357,"context_line":"    LOG.debug(\"Unregistering the VM\", instance\u003dinstance)"},{"line_number":358,"context_line":"    session._call_method(session.vim, \"UnregisterVM\", imported_vm_ref)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"def upload_image(context, image, instance, **kwargs):"},{"line_number":362,"context_line":"    \"\"\"Upload the snapshotted vm disk file to Glance image server.\"\"\""}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_0044d472","line":359,"updated":"2014-11-19 14:39:19.000000000","message":"Maybe add a debug log here that this has been unregistered","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"b9eb7adff83989311dd9f6f1b515ed8df6f4e915","unresolved":false,"context_lines":[{"line_number":356,"context_line":"              instance\u003dinstance)"},{"line_number":357,"context_line":"    LOG.debug(\"Unregistering the VM\", instance\u003dinstance)"},{"line_number":358,"context_line":"    session._call_method(session.vim, \"UnregisterVM\", imported_vm_ref)"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"def upload_image(context, image, instance, **kwargs):"},{"line_number":362,"context_line":"    \"\"\"Upload the snapshotted vm disk file to Glance image server.\"\"\""}],"source_content_type":"text/x-python","patch_set":20,"id":"5a890539_99abc388","line":359,"in_reply_to":"5a890539_0044d472","updated":"2014-11-20 09:10:55.000000000","message":"Done","commit_id":"9b5db79470f8f33a20a7fdc2e31845f3dc99f0f2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    disk_device.unitNumber \u003d 0"},{"line_number":280,"context_line":"    disk_device.controllerKey \u003d -100"},{"line_number":281,"context_line":"    disk_device_bkng \u003d cf.create(\u0027ns0:VirtualDiskFlatVer2BackingInfo\u0027)"},{"line_number":282,"context_line":"    if disk_type \u003d\u003d \u0027eagerZeroedThick\u0027:"},{"line_number":283,"context_line":"        disk_device_bkng.eagerlyScrub \u003d True"},{"line_number":284,"context_line":"    elif disk_type \u003d\u003d \u0027thin\u0027:"},{"line_number":285,"context_line":"        disk_device_bkng.thinProvisioned \u003d True"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_0b8ce234","line":282,"updated":"2014-11-28 15:02:30.000000000","message":"Please use the variables in nova.virt.vmwareapi.constants here and throughout this function instead of hard-coded strings.","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    disk_device.unitNumber \u003d 0"},{"line_number":280,"context_line":"    disk_device.controllerKey \u003d -100"},{"line_number":281,"context_line":"    disk_device_bkng \u003d cf.create(\u0027ns0:VirtualDiskFlatVer2BackingInfo\u0027)"},{"line_number":282,"context_line":"    if disk_type \u003d\u003d \u0027eagerZeroedThick\u0027:"},{"line_number":283,"context_line":"        disk_device_bkng.eagerlyScrub \u003d True"},{"line_number":284,"context_line":"    elif disk_type \u003d\u003d \u0027thin\u0027:"},{"line_number":285,"context_line":"        disk_device_bkng.thinProvisioned \u003d True"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_1636b4b4","line":282,"in_reply_to":"5a890539_0b8ce234","updated":"2014-12-01 09:21:41.000000000","message":"Done","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    LOG.debug(\"Downloaded image file data %(image_ref)s\","},{"line_number":351,"context_line":"              {\u0027image_ref\u0027: instance[\u0027image_ref\u0027]},"},{"line_number":352,"context_line":"              instance\u003dinstance)"},{"line_number":353,"context_line":"    session._call_method(session.vim, \"UnregisterVM\", imported_vm_ref)"},{"line_number":354,"context_line":"    LOG.debug(\"The imported VM was unregisteried\", instance\u003dinstance)"},{"line_number":355,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_2b819efb","line":352,"updated":"2014-11-28 15:02:30.000000000","message":"Same comment as above about INFO log level and the _LI() i18n hint","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    LOG.debug(\"Downloaded image file data %(image_ref)s\","},{"line_number":351,"context_line":"              {\u0027image_ref\u0027: instance[\u0027image_ref\u0027]},"},{"line_number":352,"context_line":"              instance\u003dinstance)"},{"line_number":353,"context_line":"    session._call_method(session.vim, \"UnregisterVM\", imported_vm_ref)"},{"line_number":354,"context_line":"    LOG.debug(\"The imported VM was unregisteried\", instance\u003dinstance)"},{"line_number":355,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_3639f0a3","line":352,"in_reply_to":"5a890539_2b819efb","updated":"2014-12-01 09:21:41.000000000","message":"Done","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":351,"context_line":"              {\u0027image_ref\u0027: instance[\u0027image_ref\u0027]},"},{"line_number":352,"context_line":"              instance\u003dinstance)"},{"line_number":353,"context_line":"    session._call_method(session.vim, \"UnregisterVM\", imported_vm_ref)"},{"line_number":354,"context_line":"    LOG.debug(\"The imported VM was unregisteried\", instance\u003dinstance)"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"def upload_image(context, image, instance, **kwargs):"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_4b86ea14","line":354,"updated":"2014-11-28 15:02:30.000000000","message":"INFO level and s/unregisteried/unregistered/","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":351,"context_line":"              {\u0027image_ref\u0027: instance[\u0027image_ref\u0027]},"},{"line_number":352,"context_line":"              instance\u003dinstance)"},{"line_number":353,"context_line":"    session._call_method(session.vim, \"UnregisterVM\", imported_vm_ref)"},{"line_number":354,"context_line":"    LOG.debug(\"The imported VM was unregisteried\", instance\u003dinstance)"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"def upload_image(context, image, instance, **kwargs):"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_56403c07","line":354,"in_reply_to":"5a890539_4b86ea14","updated":"2014-12-01 09:21:41.000000000","message":"Done","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"}],"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"faede8d9ef636a5aad979ac3ddb3c78e0696e5d1","unresolved":false,"context_lines":[{"line_number":242,"context_line":"                vm_folder\u003dvm_folder_ref,"},{"line_number":243,"context_line":"                vm_import_spec\u003dvm_import_spec)"},{"line_number":244,"context_line":"            LOG.debug(_(\"Downloaded image file data %(image_ref)s to \""},{"line_number":245,"context_line":"                        \"the datastore %(datastore_name)s\") %"},{"line_number":246,"context_line":"                        {\u0027image_ref\u0027: instance[\u0027image_ref\u0027],"},{"line_number":247,"context_line":"                         \u0027datastore_name\u0027: datastore_name},"},{"line_number":248,"context_line":"                      instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BzLI%3D","line":245,"updated":"2014-03-24 09:24:30.000000000","message":"please use a , instead of the %","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"178db9425f6c258bd92ae0376e1fc6f60e4d3e16","unresolved":false,"context_lines":[{"line_number":242,"context_line":"                vm_folder\u003dvm_folder_ref,"},{"line_number":243,"context_line":"                vm_import_spec\u003dvm_import_spec)"},{"line_number":244,"context_line":"            LOG.debug(_(\"Downloaded image file data %(image_ref)s to \""},{"line_number":245,"context_line":"                        \"the datastore %(datastore_name)s\") %"},{"line_number":246,"context_line":"                        {\u0027image_ref\u0027: instance[\u0027image_ref\u0027],"},{"line_number":247,"context_line":"                         \u0027datastore_name\u0027: datastore_name},"},{"line_number":248,"context_line":"                      instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2Brm0%3D","line":245,"in_reply_to":"AAAAWH%2F%2BzLI%3D","updated":"2014-03-25 04:22:06.000000000","message":"Done","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"faede8d9ef636a5aad979ac3ddb3c78e0696e5d1","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                LOG.debug(_(\"Unregistered the imported VM\"), instance\u003dinstance)"},{"line_number":255,"context_line":"            except Exception as excep:"},{"line_number":256,"context_line":"                LOG.warn(_(\"Exception while unregistering the \""},{"line_number":257,"context_line":"                           \"imported VM: %s\") % str(excep))"},{"line_number":258,"context_line":"        else:"},{"line_number":259,"context_line":"            image_transfer.download_flat_image("},{"line_number":260,"context_line":"                context,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BzKo%3D","line":257,"updated":"2014-03-24 09:24:30.000000000","message":"please use , instead of %","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"178db9425f6c258bd92ae0376e1fc6f60e4d3e16","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                LOG.debug(_(\"Unregistered the imported VM\"), instance\u003dinstance)"},{"line_number":255,"context_line":"            except Exception as excep:"},{"line_number":256,"context_line":"                LOG.warn(_(\"Exception while unregistering the \""},{"line_number":257,"context_line":"                           \"imported VM: %s\") % str(excep))"},{"line_number":258,"context_line":"        else:"},{"line_number":259,"context_line":"            image_transfer.download_flat_image("},{"line_number":260,"context_line":"                context,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2Brmw%3D","line":257,"in_reply_to":"AAAAWH%2F%2BzKo%3D","updated":"2014-03-25 04:22:06.000000000","message":"Done","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"d787d2a9f5f2f0e0dc1ab0a326aaf1e7fb152c8d","unresolved":false,"context_lines":[{"line_number":351,"context_line":"    def _prepare_stream_optimized_image(self, vi):"},{"line_number":352,"context_line":"        vm_name \u003d \"%s_%s\" % (constants.IMAGE_VM_PREFIX,"},{"line_number":353,"context_line":"                             uuidutils.generate_uuid())"},{"line_number":354,"context_line":"        tmp_dir_loc \u003d vi.datastore.build_path(vm_name)"},{"line_number":355,"context_line":"        tmp_image_ds_loc \u003d tmp_dir_loc.join(\"%s.vmdk\" % tmp_dir_loc.basename)"},{"line_number":356,"context_line":"        return tmp_dir_loc, tmp_image_ds_loc"},{"line_number":357,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_6654c554","line":354,"updated":"2014-10-21 09:08:10.000000000","message":"See comment in volumeops. tmp_dir_loc can remain common.","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"771d7608cfdb934d5a47bb333718c4ff5cc1303d","unresolved":false,"context_lines":[{"line_number":351,"context_line":"    def _prepare_stream_optimized_image(self, vi):"},{"line_number":352,"context_line":"        vm_name \u003d \"%s_%s\" % (constants.IMAGE_VM_PREFIX,"},{"line_number":353,"context_line":"                             uuidutils.generate_uuid())"},{"line_number":354,"context_line":"        tmp_dir_loc \u003d vi.datastore.build_path(vm_name)"},{"line_number":355,"context_line":"        tmp_image_ds_loc \u003d tmp_dir_loc.join(\"%s.vmdk\" % tmp_dir_loc.basename)"},{"line_number":356,"context_line":"        return tmp_dir_loc, tmp_image_ds_loc"},{"line_number":357,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_e905bd7a","line":354,"in_reply_to":"9aa7fdbe_6654c554","updated":"2014-10-22 11:53:46.000000000","message":"Unfortunately the temporary vApp cannot be created in vmware_temp, it must be always in a directory under the root datastore folder. This is the reason of having tmp_dir_loc calculated for each type of image.","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45ba814172ad593f812d3db7bd7ce78d4c0ef585","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            ds_util.disk_move(self._session, vi.dc_info.ref,"},{"line_number":396,"context_line":"                              tmp_image_ds_loc, dst_path)"},{"line_number":397,"context_line":"        except vexc.FileAlreadyExistsException:"},{"line_number":398,"context_line":"            LOG.debug(\"File %s already exists\", dst_path)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    def _cache_iso_image(self, vi, tmp_image_ds_loc):"},{"line_number":401,"context_line":"        self._move_to_cache(vi.dc_info.ref,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_cb71fa45","line":398,"updated":"2014-11-28 15:02:30.000000000","message":"Is this log message really necessary? It will be written to the debug log files often, and doesn\u0027t really offer any useful information to the operator.","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"1a60331d925a3b9ad5daaa708f028b1296928f99","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            ds_util.disk_move(self._session, vi.dc_info.ref,"},{"line_number":396,"context_line":"                              tmp_image_ds_loc, dst_path)"},{"line_number":397,"context_line":"        except vexc.FileAlreadyExistsException:"},{"line_number":398,"context_line":"            LOG.debug(\"File %s already exists\", dst_path)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    def _cache_iso_image(self, vi, tmp_image_ds_loc):"},{"line_number":401,"context_line":"        self._move_to_cache(vi.dc_info.ref,"}],"source_content_type":"text/x-python","patch_set":21,"id":"5a890539_366010a4","line":398,"in_reply_to":"5a890539_cb71fa45","updated":"2014-12-01 09:21:41.000000000","message":"Done","commit_id":"bdfe7196908327ceff44d1632819d375ed05c092"}],"nova/virt/vmwareapi/vmware_images.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"d787d2a9f5f2f0e0dc1ab0a326aaf1e7fb152c8d","unresolved":false,"context_lines":[{"line_number":254,"context_line":"def _build_import_spec_for_import_vapp(session, vm_name, datastore_name):"},{"line_number":255,"context_line":"    dummy_disk_kb \u003d 0"},{"line_number":256,"context_line":"    vm_create_spec \u003d volumeops.get_import_vapp_create_spec("},{"line_number":257,"context_line":"            session, vm_name, dummy_disk_kb, \"thin\", datastore_name)"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    client_factory \u003d session.vim.client.factory"},{"line_number":260,"context_line":"    vm_import_spec \u003d client_factory.create(\u0027ns0:VirtualMachineImportSpec\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_3e2f3ea3","line":257,"updated":"2014-10-21 09:08:10.000000000","message":"Hmm, we don\u0027t have a constant for \"thin\". We should.","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"771d7608cfdb934d5a47bb333718c4ff5cc1303d","unresolved":false,"context_lines":[{"line_number":254,"context_line":"def _build_import_spec_for_import_vapp(session, vm_name, datastore_name):"},{"line_number":255,"context_line":"    dummy_disk_kb \u003d 0"},{"line_number":256,"context_line":"    vm_create_spec \u003d volumeops.get_import_vapp_create_spec("},{"line_number":257,"context_line":"            session, vm_name, dummy_disk_kb, \"thin\", datastore_name)"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    client_factory \u003d session.vim.client.factory"},{"line_number":260,"context_line":"    vm_import_spec \u003d client_factory.create(\u0027ns0:VirtualMachineImportSpec\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_69f9cd7f","line":257,"in_reply_to":"9aa7fdbe_3e2f3ea3","updated":"2014-10-22 11:53:46.000000000","message":"Done","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"d787d2a9f5f2f0e0dc1ab0a326aaf1e7fb152c8d","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                                 ds_name, vm_folder_ref, res_pool_ref):"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    \"\"\"Fetch image from Glance to ESX datastore.\"\"\""},{"line_number":269,"context_line":"    image_ref \u003d instance[\u0027image_ref\u0027]"},{"line_number":270,"context_line":"    LOG.debug(\"Downloading image file data %(image_ref)s to the ESX \""},{"line_number":271,"context_line":"              \"as VM named \u0027%(vm_name)s\u0027\","},{"line_number":272,"context_line":"              {\u0027image_ref\u0027: image_ref, \u0027vm_name\u0027: vm_name},"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_9ef3ca72","line":269,"updated":"2014-10-21 09:08:10.000000000","message":"instance.image_ref","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"771d7608cfdb934d5a47bb333718c4ff5cc1303d","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                                 ds_name, vm_folder_ref, res_pool_ref):"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    \"\"\"Fetch image from Glance to ESX datastore.\"\"\""},{"line_number":269,"context_line":"    image_ref \u003d instance[\u0027image_ref\u0027]"},{"line_number":270,"context_line":"    LOG.debug(\"Downloading image file data %(image_ref)s to the ESX \""},{"line_number":271,"context_line":"              \"as VM named \u0027%(vm_name)s\u0027\","},{"line_number":272,"context_line":"              {\u0027image_ref\u0027: image_ref, \u0027vm_name\u0027: vm_name},"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_c9ee39b4","line":269,"in_reply_to":"9aa7fdbe_9ef3ca72","updated":"2014-10-22 11:53:46.000000000","message":"Done","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8901a7b7fc7816efa5a4cae3e07643a0aa063c8e","unresolved":false,"context_lines":[{"line_number":304,"context_line":"    create_spec.extraConfig \u003d None"},{"line_number":305,"context_line":"    create_spec.files \u003d vm_file_info"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    LOG.debug(\"Spec for creating the backing: %s.\", create_spec)"},{"line_number":308,"context_line":"    return create_spec"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa7fdbe_a2be5063","line":307,"updated":"2014-10-23 09:25:40.000000000","message":"the create spec is a ton of data. do we want to log this?","commit_id":"befd0e43077bc8dff92121b9708ef88190c9fc57"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"d4104698d0f01c236c06848306aae913a0e23a18","unresolved":false,"context_lines":[{"line_number":304,"context_line":"    create_spec.extraConfig \u003d None"},{"line_number":305,"context_line":"    create_spec.files \u003d vm_file_info"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    LOG.debug(\"Spec for creating the backing: %s.\", create_spec)"},{"line_number":308,"context_line":"    return create_spec"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa7fdbe_a4cd5cb9","line":307,"in_reply_to":"9aa7fdbe_a2be5063","updated":"2014-10-24 12:58:19.000000000","message":"Done","commit_id":"befd0e43077bc8dff92121b9708ef88190c9fc57"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"8901a7b7fc7816efa5a4cae3e07643a0aa063c8e","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"def fetch_image_stream_optimized(context, instance, session, vm_name,"},{"line_number":324,"context_line":"                                 ds_name, vm_folder_ref, res_pool_ref):"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    \"\"\"Fetch image from Glance to ESX datastore.\"\"\""},{"line_number":327,"context_line":"    image_ref \u003d instance.image_ref"},{"line_number":328,"context_line":"    LOG.debug(\"Downloading image file data %(image_ref)s to the ESX \""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa7fdbe_22b26094","line":325,"updated":"2014-10-23 09:25:40.000000000","message":"nit - you can delete this line","commit_id":"befd0e43077bc8dff92121b9708ef88190c9fc57"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"d4104698d0f01c236c06848306aae913a0e23a18","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"def fetch_image_stream_optimized(context, instance, session, vm_name,"},{"line_number":324,"context_line":"                                 ds_name, vm_folder_ref, res_pool_ref):"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    \"\"\"Fetch image from Glance to ESX datastore.\"\"\""},{"line_number":327,"context_line":"    image_ref \u003d instance.image_ref"},{"line_number":328,"context_line":"    LOG.debug(\"Downloading image file data %(image_ref)s to the ESX \""}],"source_content_type":"text/x-python","patch_set":18,"id":"9aa7fdbe_c4c5008f","line":325,"in_reply_to":"9aa7fdbe_22b26094","updated":"2014-10-24 12:58:19.000000000","message":"Done","commit_id":"befd0e43077bc8dff92121b9708ef88190c9fc57"}],"nova/virt/vmwareapi/volumeops.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"faede8d9ef636a5aad979ac3ddb3c78e0696e5d1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self._cluster \u003d cluster"},{"line_number":40,"context_line":"        self._vc_support \u003d vc_support"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def _get_create_spec(self, name, size_kb, disk_type, ds_name):"},{"line_number":43,"context_line":"        \"\"\"Return spec for creating a shadow VM for image disk."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        The VM is never meant to be powered on. When used in importing"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BzJI%3D","line":42,"updated":"2014-03-24 09:24:30.000000000","message":"maybe the function name should reflect that it is for the shadow vm","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"178db9425f6c258bd92ae0376e1fc6f60e4d3e16","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self._cluster \u003d cluster"},{"line_number":40,"context_line":"        self._vc_support \u003d vc_support"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def _get_create_spec(self, name, size_kb, disk_type, ds_name):"},{"line_number":43,"context_line":"        \"\"\"Return spec for creating a shadow VM for image disk."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        The VM is never meant to be powered on. When used in importing"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2Bryg%3D","line":42,"in_reply_to":"AAAAWH%2F%2BzJI%3D","updated":"2014-03-25 04:22:06.000000000","message":"good point. renamed","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"faede8d9ef636a5aad979ac3ddb3c78e0696e5d1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            disk_device_bkng.eagerlyScrub \u003d True"},{"line_number":74,"context_line":"        elif disk_type \u003d\u003d \u0027thin\u0027:"},{"line_number":75,"context_line":"            disk_device_bkng.thinProvisioned \u003d True"},{"line_number":76,"context_line":"        disk_device_bkng.fileName \u003d \u0027[%s]\u0027 % ds_name"},{"line_number":77,"context_line":"        disk_device_bkng.diskMode \u003d \u0027persistent\u0027"},{"line_number":78,"context_line":"        disk_device.backing \u003d disk_device_bkng"},{"line_number":79,"context_line":"        disk_spec \u003d cf.create(\u0027ns0:VirtualDeviceConfigSpec\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BzI8%3D","line":76,"updated":"2014-03-24 09:24:30.000000000","message":"i this not something that needs to be unique?","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"178db9425f6c258bd92ae0376e1fc6f60e4d3e16","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            disk_device_bkng.eagerlyScrub \u003d True"},{"line_number":74,"context_line":"        elif disk_type \u003d\u003d \u0027thin\u0027:"},{"line_number":75,"context_line":"            disk_device_bkng.thinProvisioned \u003d True"},{"line_number":76,"context_line":"        disk_device_bkng.fileName \u003d \u0027[%s]\u0027 % ds_name"},{"line_number":77,"context_line":"        disk_device_bkng.diskMode \u003d \u0027persistent\u0027"},{"line_number":78,"context_line":"        disk_device.backing \u003d disk_device_bkng"},{"line_number":79,"context_line":"        disk_spec \u003d cf.create(\u0027ns0:VirtualDeviceConfigSpec\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2Brzw%3D","line":76,"in_reply_to":"AAAAWH%2F%2BzI8%3D","updated":"2014-03-25 04:22:06.000000000","message":"I don\u0027t think so. The uniqueness comes from the vm name and the disk path is derived from it when creating a new VM via ImportVApp","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"faede8d9ef636a5aad979ac3ddb3c78e0696e5d1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        disk_spec.device \u003d disk_device"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        vm_file_info \u003d cf.create(\u0027ns0:VirtualMachineFileInfo\u0027)"},{"line_number":85,"context_line":"        vm_file_info.vmPathName \u003d \u0027[%s]\u0027 % ds_name"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        create_spec \u003d cf.create(\u0027ns0:VirtualMachineConfigSpec\u0027)"},{"line_number":88,"context_line":"        create_spec.name \u003d name"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BzFc%3D","line":85,"updated":"2014-03-24 09:24:30.000000000","message":"ditto","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"faede8d9ef636a5aad979ac3ddb3c78e0696e5d1","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        create_spec.extraConfig \u003d None"},{"line_number":94,"context_line":"        create_spec.files \u003d vm_file_info"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        LOG.debug(_(\"Spec for creating the backing: %s.\") % create_spec)"},{"line_number":97,"context_line":"        return create_spec"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def attach_disk_to_vm(self, vm_ref, instance,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2BzJ8%3D","line":96,"updated":"2014-03-24 09:24:30.000000000","message":", instead of %","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":8027,"name":"Vui Lam","email":"vui@vmware.com","username":"vui"},"change_message_id":"178db9425f6c258bd92ae0376e1fc6f60e4d3e16","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        create_spec.extraConfig \u003d None"},{"line_number":94,"context_line":"        create_spec.files \u003d vm_file_info"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        LOG.debug(_(\"Spec for creating the backing: %s.\") % create_spec)"},{"line_number":97,"context_line":"        return create_spec"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    def attach_disk_to_vm(self, vm_ref, instance,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAWH%2F%2Brmk%3D","line":96,"in_reply_to":"AAAAWH%2F%2BzJ8%3D","updated":"2014-03-25 04:22:06.000000000","message":"Done","commit_id":"34ad1991c8c87edb101abb9e645c429cd3e16b4f"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"d787d2a9f5f2f0e0dc1ab0a326aaf1e7fb152c8d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def get_import_vapp_create_spec(session, name, size_kb, disk_type, ds_name):"},{"line_number":34,"context_line":"    \"\"\"Return spec for creating a shadow VM for image disk."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    The VM is never meant to be powered on. When used in importing"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_e637d5ae","line":33,"updated":"2014-10-21 09:08:10.000000000","message":"This doesn\u0027t live in volumeops. It has no connection to other code in volumeops, and is only tangentially related to volumes. It would be better closer to where it\u0027s called from.","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"771d7608cfdb934d5a47bb333718c4ff5cc1303d","unresolved":false,"context_lines":[{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def get_import_vapp_create_spec(session, name, size_kb, disk_type, ds_name):"},{"line_number":34,"context_line":"    \"\"\"Return spec for creating a shadow VM for image disk."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    The VM is never meant to be powered on. When used in importing"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_a9e655b2","line":33,"in_reply_to":"9aa7fdbe_e637d5ae","updated":"2014-10-22 11:53:46.000000000","message":"OK, make sense. I will move it.","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"d787d2a9f5f2f0e0dc1ab0a326aaf1e7fb152c8d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    disk_spec.device \u003d disk_device"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    vm_file_info \u003d cf.create(\u0027ns0:VirtualMachineFileInfo\u0027)"},{"line_number":76,"context_line":"    vm_file_info.vmPathName \u003d \u0027[%s]\u0027 % ds_name"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    create_spec \u003d cf.create(\u0027ns0:VirtualMachineConfigSpec\u0027)"},{"line_number":79,"context_line":"    create_spec.name \u003d name"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_e6b6f5db","line":76,"updated":"2014-10-21 09:08:10.000000000","message":"You can set this value to ensure the VM is created in the image temp directory along with other temporary images.","commit_id":"b876f99759520735b08331b345b165e2c56af763"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"771d7608cfdb934d5a47bb333718c4ff5cc1303d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    disk_spec.device \u003d disk_device"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    vm_file_info \u003d cf.create(\u0027ns0:VirtualMachineFileInfo\u0027)"},{"line_number":76,"context_line":"    vm_file_info.vmPathName \u003d \u0027[%s]\u0027 % ds_name"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    create_spec \u003d cf.create(\u0027ns0:VirtualMachineConfigSpec\u0027)"},{"line_number":79,"context_line":"    create_spec.name \u003d name"}],"source_content_type":"text/x-python","patch_set":15,"id":"9aa7fdbe_69554d4f","line":76,"in_reply_to":"9aa7fdbe_e6b6f5db","updated":"2014-10-22 11:53:46.000000000","message":"Unfortunately this doesn\u0027t work :( it must be under the root folder","commit_id":"b876f99759520735b08331b345b165e2c56af763"}]}
