)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"9d629d508a13e30f6af34775555dc8588a61517f","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1257683"},{"line_number":14,"context_line":"DocImpact: Indicate that swap disks are now supported"},{"line_number":15,"context_line":"by the driver."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I9139f1d912861baff497b1a1297389fb8bb16b90"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba7be1f8_560caa94","line":15,"updated":"2015-03-01 14:32:03.000000000","message":"i think that this should have a BP associated with it.","commit_id":"59ed3735d76ba047b83c8c94cb63acff5ed17639"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"98866d8bbafff9ebb49edd0346dc9f745ebc29f9","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1257683"},{"line_number":14,"context_line":"DocImpact: Indicate that swap disks are now supported"},{"line_number":15,"context_line":"by the driver."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I9139f1d912861baff497b1a1297389fb8bb16b90"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba7be1f8_91254c0c","line":15,"in_reply_to":"ba7be1f8_560caa94","updated":"2015-03-01 18:25:12.000000000","message":"Which blueprint?  Is there already one?\n\nWe cannot get anything into K as it is already frozen.  Swap disk is already support by other virt drivers, how is having a blueprint for something like this going to help?  There is not much difference.","commit_id":"59ed3735d76ba047b83c8c94cb63acff5ed17639"}],"nova/tests/unit/virt/vmwareapi/test_vmops.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"56a91cc24d3ac4cfadfc1bcd6cbc4f9e0ad271d9","unresolved":false,"context_lines":[{"line_number":1420,"context_line":"    @mock.patch.object(vmops.VMwareVMOps, \u0027_get_extra_specs\u0027)"},{"line_number":1421,"context_line":"    @mock.patch.object(nova.virt.vmwareapi.images.VMwareImage,"},{"line_number":1422,"context_line":"                       \u0027from_image\u0027)"},{"line_number":1423,"context_line":"    def test_spawn_with_ephemerals_and_swap(self, from_image,"},{"line_number":1424,"context_line":"                                            get_extra_specs,"},{"line_number":1425,"context_line":"                                            get_vm_config_info,"},{"line_number":1426,"context_line":"                                            build_virtual_machine,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_344b6ccb","line":1423,"updated":"2015-05-03 16:05:05.000000000","message":"you already have the test test_spawn_with_block_device_info_swap. Shouldn\u0027t that already do what this test is trying to test? If not, I think a few changes can be made to _test_spawn, so this test won\u0027t be necessary.","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"b3aa12734aba1b207d652488cea7655743ff8534","unresolved":false,"context_lines":[{"line_number":1420,"context_line":"    @mock.patch.object(vmops.VMwareVMOps, \u0027_get_extra_specs\u0027)"},{"line_number":1421,"context_line":"    @mock.patch.object(nova.virt.vmwareapi.images.VMwareImage,"},{"line_number":1422,"context_line":"                       \u0027from_image\u0027)"},{"line_number":1423,"context_line":"    def test_spawn_with_ephemerals_and_swap(self, from_image,"},{"line_number":1424,"context_line":"                                            get_extra_specs,"},{"line_number":1425,"context_line":"                                            get_vm_config_info,"},{"line_number":1426,"context_line":"                                            build_virtual_machine,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_b57d3670","line":1423,"in_reply_to":"3acd31a7_344b6ccb","updated":"2015-05-04 01:51:21.000000000","message":"I wanted to avoid adding to the monolithic _test_spawn.  Hence, the reason for this test case.  This test case uses multiple ephemerals and one swap.","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"56a91cc24d3ac4cfadfc1bcd6cbc4f9e0ad271d9","unresolved":false,"context_lines":[{"line_number":1574,"context_line":"            self._vmops._create_swap(bdi, self._instance, \u0027fake-vm-ref\u0027,"},{"line_number":1575,"context_line":"                                     vi.dc_info, vi.datastore, \u0027fake_uuid\u0027,"},{"line_number":1576,"context_line":"                                     \u0027lsiLogic\u0027)"},{"line_number":1577,"context_line":"            size \u003d flavor.swap * units.Ki"},{"line_number":1578,"context_line":"            if bdi is not None:"},{"line_number":1579,"context_line":"                swap \u003d bdi.get(\u0027swap\u0027, {})"},{"line_number":1580,"context_line":"                size \u003d swap.get(\u0027swap_size\u0027, 0) * units.Ki"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_d408b893","line":1577,"updated":"2015-05-03 16:05:05.000000000","message":"MB","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"b3aa12734aba1b207d652488cea7655743ff8534","unresolved":false,"context_lines":[{"line_number":1574,"context_line":"            self._vmops._create_swap(bdi, self._instance, \u0027fake-vm-ref\u0027,"},{"line_number":1575,"context_line":"                                     vi.dc_info, vi.datastore, \u0027fake_uuid\u0027,"},{"line_number":1576,"context_line":"                                     \u0027lsiLogic\u0027)"},{"line_number":1577,"context_line":"            size \u003d flavor.swap * units.Ki"},{"line_number":1578,"context_line":"            if bdi is not None:"},{"line_number":1579,"context_line":"                swap \u003d bdi.get(\u0027swap\u0027, {})"},{"line_number":1580,"context_line":"                size \u003d swap.get(\u0027swap_size\u0027, 0) * units.Ki"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_d5867264","line":1577,"in_reply_to":"3acd31a7_d408b893","updated":"2015-05-04 01:51:21.000000000","message":"Not correct, it should be KB (as-is).  See my other comment.","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"56a91cc24d3ac4cfadfc1bcd6cbc4f9e0ad271d9","unresolved":false,"context_lines":[{"line_number":1577,"context_line":"            size \u003d flavor.swap * units.Ki"},{"line_number":1578,"context_line":"            if bdi is not None:"},{"line_number":1579,"context_line":"                swap \u003d bdi.get(\u0027swap\u0027, {})"},{"line_number":1580,"context_line":"                size \u003d swap.get(\u0027swap_size\u0027, 0) * units.Ki"},{"line_number":1581,"context_line":"            path \u003d str(ds_obj.DatastorePath(vi.datastore.name, \u0027fake_uuid\u0027,"},{"line_number":1582,"context_line":"                                             \u0027swap.vmdk\u0027))"},{"line_number":1583,"context_line":"            create_and_attach.assert_called_once_with(self._instance,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_b4ff7c66","line":1580,"updated":"2015-05-03 16:05:05.000000000","message":"MB","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"56a91cc24d3ac4cfadfc1bcd6cbc4f9e0ad271d9","unresolved":false,"context_lines":[{"line_number":1579,"context_line":"                swap \u003d bdi.get(\u0027swap\u0027, {})"},{"line_number":1580,"context_line":"                size \u003d swap.get(\u0027swap_size\u0027, 0) * units.Ki"},{"line_number":1581,"context_line":"            path \u003d str(ds_obj.DatastorePath(vi.datastore.name, \u0027fake_uuid\u0027,"},{"line_number":1582,"context_line":"                                             \u0027swap.vmdk\u0027))"},{"line_number":1583,"context_line":"            create_and_attach.assert_called_once_with(self._instance,"},{"line_number":1584,"context_line":"                \u0027fake-vm-ref\u0027, vi.dc_info, size, \u0027lsiLogic\u0027, path)"},{"line_number":1585,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_14ef50b1","line":1582,"updated":"2015-05-03 16:05:05.000000000","message":"overindented by one space.","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3e7aa84e6534cc59512524fcf570882981e3cf1d","unresolved":false,"context_lines":[{"line_number":726,"context_line":"    @mock.patch.object(vm_util, \u0027get_ephemerals\u0027)"},{"line_number":727,"context_line":"    def test_remove_ephemerals_and_swap(self, get_ephemerals, get_swap,"},{"line_number":728,"context_line":"                                        detach_devices):"},{"line_number":729,"context_line":"        get_ephemerals.return_value \u003d [mock.sentinel.ephemeral0,"},{"line_number":730,"context_line":"                                       mock.sentinel.ephemeral1]"},{"line_number":731,"context_line":"        get_swap.return_value \u003d mock.sentinel.swap"},{"line_number":732,"context_line":"        devices \u003d [mock.sentinel.ephemeral0, mock.sentinel.ephemeral1,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_3f09cd2c","line":729,"range":{"start_line":729,"start_character":39,"end_line":729,"end_character":52},"updated":"2015-07-27 16:05:20.000000000","message":"I don\u0027t like the use of sentinel, as mock is shared between test methods, so can lead to odd interactions.\n\nMaybe it does something magic I don\u0027t know about?\n\nAnyway, its locally consistent to use these, so I will not block the change on this, but I am curious.","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"}],"nova/virt/vmwareapi/vm_util.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d9933fe41969850150f3d17f39e984585ba2705f","unresolved":false,"context_lines":[{"line_number":1499,"context_line":"        hardware_devices \u003d hardware_devices.VirtualDevice"},{"line_number":1500,"context_line":""},{"line_number":1501,"context_line":"    for device in hardware_devices:"},{"line_number":1502,"context_line":"        if device.__class__.__name__ \u003d\u003d \"VirtualDisk\":"},{"line_number":1503,"context_line":"            if (device.backing.__class__.__name__ \u003d\u003d"},{"line_number":1504,"context_line":"                    \"VirtualDiskFlatVer2BackingInfo\"):"},{"line_number":1505,"context_line":"                if \u0027swap\u0027 in device.backing.fileName:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_67ea69ad","line":1502,"updated":"2015-02-25 17:57:08.000000000","message":"This can be:\n\nif (device.__class__.__name__ \u003d\u003d \"VirtualDisk\" and\n        device.backing.__class__.__name__ \u003d\u003d\n                    \"VirtualDiskFlatVer2BackingInfo\" and\n        \u0027swap\u0027 in device.backing.fileName):\n    return device","commit_id":"d2b5aa58db53ad9ecfe94513d21c77a2039058db"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"685c366f03b03ca1b15b1be9760349202e2ff964","unresolved":false,"context_lines":[{"line_number":1499,"context_line":"        hardware_devices \u003d hardware_devices.VirtualDevice"},{"line_number":1500,"context_line":""},{"line_number":1501,"context_line":"    for device in hardware_devices:"},{"line_number":1502,"context_line":"        if device.__class__.__name__ \u003d\u003d \"VirtualDisk\":"},{"line_number":1503,"context_line":"            if (device.backing.__class__.__name__ \u003d\u003d"},{"line_number":1504,"context_line":"                    \"VirtualDiskFlatVer2BackingInfo\"):"},{"line_number":1505,"context_line":"                if \u0027swap\u0027 in device.backing.fileName:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_eae1c02a","line":1502,"in_reply_to":"ba7be1f8_67ea69ad","updated":"2015-02-25 18:10:10.000000000","message":"Done","commit_id":"d2b5aa58db53ad9ecfe94513d21c77a2039058db"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"d9933fe41969850150f3d17f39e984585ba2705f","unresolved":false,"context_lines":[{"line_number":1504,"context_line":"                    \"VirtualDiskFlatVer2BackingInfo\"):"},{"line_number":1505,"context_line":"                if \u0027swap\u0027 in device.backing.fileName:"},{"line_number":1506,"context_line":"                    return device"},{"line_number":1507,"context_line":"    return None"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_07ba8dc0","line":1507,"updated":"2015-02-25 17:57:08.000000000","message":"by default the method returns None. So we do not need this return","commit_id":"d2b5aa58db53ad9ecfe94513d21c77a2039058db"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"685c366f03b03ca1b15b1be9760349202e2ff964","unresolved":false,"context_lines":[{"line_number":1504,"context_line":"                    \"VirtualDiskFlatVer2BackingInfo\"):"},{"line_number":1505,"context_line":"                if \u0027swap\u0027 in device.backing.fileName:"},{"line_number":1506,"context_line":"                    return device"},{"line_number":1507,"context_line":"    return None"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_0ad45446","line":1507,"in_reply_to":"ba7be1f8_07ba8dc0","updated":"2015-02-25 18:10:10.000000000","message":"Done","commit_id":"d2b5aa58db53ad9ecfe94513d21c77a2039058db"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"9df75c2843a35d2d9733c4e16cd65468defe9911","unresolved":false,"context_lines":[{"line_number":1548,"context_line":"    return devices"},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"def get_swap(session, vm_ref):"},{"line_number":1552,"context_line":"    hardware_devices \u003d session._call_method(vim_util,"},{"line_number":1553,"context_line":"            \"get_dynamic_property\", vm_ref, \"VirtualMachine\","},{"line_number":1554,"context_line":"            \"config.hardware.device\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa32b979_b74a1726","line":1551,"updated":"2015-06-27 17:13:26.000000000","message":"do we have a test for this?","commit_id":"d92199187ca51c03e208bed665c0535a4fa7ca63"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"dd05b825cffde0b2f62220eb79550e903be1e740","unresolved":false,"context_lines":[{"line_number":1548,"context_line":"    return devices"},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"def get_swap(session, vm_ref):"},{"line_number":1552,"context_line":"    hardware_devices \u003d session._call_method(vim_util,"},{"line_number":1553,"context_line":"            \"get_dynamic_property\", vm_ref, \"VirtualMachine\","},{"line_number":1554,"context_line":"            \"config.hardware.device\")"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba3cc151_e35fcc73","line":1551,"in_reply_to":"fa32b979_b74a1726","updated":"2015-06-29 00:24:01.000000000","message":"I will add one in the next patch.","commit_id":"d92199187ca51c03e208bed665c0535a4fa7ca63"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c07857c5452c403f5a45bc168eddad94857de1aa","unresolved":false,"context_lines":[{"line_number":1548,"context_line":"    return devices"},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"def get_swap(session, vm_ref):"},{"line_number":1552,"context_line":"    hardware_devices \u003d session._call_method(vim_util,"},{"line_number":1553,"context_line":"            \"get_dynamic_property\", vm_ref, \"VirtualMachine\","},{"line_number":1554,"context_line":"            \"config.hardware.device\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_d931c25b","line":1551,"updated":"2015-07-28 09:51:58.000000000","message":"why is this not get_swaps?\nit should be the same as the method above. That is, there may be multiple swap devices via the bdms?","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b3f5125660f76c6f7b596b6a43d69cdc16ae8beb","unresolved":false,"context_lines":[{"line_number":1548,"context_line":"    return devices"},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"def get_swap(session, vm_ref):"},{"line_number":1552,"context_line":"    hardware_devices \u003d session._call_method(vim_util,"},{"line_number":1553,"context_line":"            \"get_dynamic_property\", vm_ref, \"VirtualMachine\","},{"line_number":1554,"context_line":"            \"config.hardware.device\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_ff601737","line":1551,"in_reply_to":"3a50d1a3_d931c25b","updated":"2015-07-28 12:54:34.000000000","message":"I think if there is only ever one swap, I am fine with that","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"485c98daafaa23b36e8ebac3b799db7a212c0dfb","unresolved":false,"context_lines":[{"line_number":1548,"context_line":"    return devices"},{"line_number":1549,"context_line":""},{"line_number":1550,"context_line":""},{"line_number":1551,"context_line":"def get_swap(session, vm_ref):"},{"line_number":1552,"context_line":"    hardware_devices \u003d session._call_method(vim_util,"},{"line_number":1553,"context_line":"            \"get_dynamic_property\", vm_ref, \"VirtualMachine\","},{"line_number":1554,"context_line":"            \"config.hardware.device\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_aacfaf54","line":1551,"in_reply_to":"3a50d1a3_ff601737","updated":"2015-07-28 13:00:01.000000000","message":"correct this is my bad","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"}],"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"56a91cc24d3ac4cfadfc1bcd6cbc4f9e0ad271d9","unresolved":false,"context_lines":[{"line_number":558,"context_line":"        if bdi is not None:"},{"line_number":559,"context_line":"            swap \u003d driver.block_device_info_get_swap(bdi)"},{"line_number":560,"context_line":"            if driver.swap_is_usable(swap):"},{"line_number":561,"context_line":"                size \u003d swap[\u0027swap_size\u0027] * units.Ki"},{"line_number":562,"context_line":"                self._create_and_attach_thin_disk(instance, vm_ref, dc_info,"},{"line_number":563,"context_line":"                                                  size, adapter_type, path)"},{"line_number":564,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_34ddac0e","line":561,"updated":"2015-05-03 16:05:05.000000000","message":"Swap is not in KB, it is in MB:\n\n--swap \u003cswap\u003e (optional) is the swap size in MB (the default is 0).\n\nhttps://www-01.ibm.com/support/knowledgecenter/SS4KMC_2.3.0/com.ibm.sco.doc_2.3/dd/mp/mpc_flavor.html","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"b3aa12734aba1b207d652488cea7655743ff8534","unresolved":false,"context_lines":[{"line_number":558,"context_line":"        if bdi is not None:"},{"line_number":559,"context_line":"            swap \u003d driver.block_device_info_get_swap(bdi)"},{"line_number":560,"context_line":"            if driver.swap_is_usable(swap):"},{"line_number":561,"context_line":"                size \u003d swap[\u0027swap_size\u0027] * units.Ki"},{"line_number":562,"context_line":"                self._create_and_attach_thin_disk(instance, vm_ref, dc_info,"},{"line_number":563,"context_line":"                                                  size, adapter_type, path)"},{"line_number":564,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_5565c2de","line":561,"in_reply_to":"3acd31a7_34ddac0e","updated":"2015-05-04 01:51:21.000000000","message":"This is specific to VMware.  If you look at https://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/vm_util.py#L1327 and https://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/vm_util.py#L697, the size that is expected must be in KB.  I have tested this on vCenter and it works as expected.","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"56a91cc24d3ac4cfadfc1bcd6cbc4f9e0ad271d9","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                # extract the swap_size from the instance\u0027s flavor."},{"line_number":570,"context_line":"                swap \u003d None"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        size \u003d instance.flavor.swap * units.Ki"},{"line_number":573,"context_line":"        if not swap and size \u003e 0:"},{"line_number":574,"context_line":"            self._create_and_attach_thin_disk(instance, vm_ref, dc_info, size,"},{"line_number":575,"context_line":"                                              adapter_type, path)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_54cee85a","line":572,"updated":"2015-05-03 16:05:05.000000000","message":"Swap is not in KB, it is in MB:\n\n--swap \u003cswap\u003e (optional) is the swap size in MB (the default is 0).\n\nhttps://www-01.ibm.com/support/knowledgecenter/SS4KMC_2.3.0/com.ibm.sco.doc_2.3/dd/mp/mpc_flavor.html","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"b3aa12734aba1b207d652488cea7655743ff8534","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                # extract the swap_size from the instance\u0027s flavor."},{"line_number":570,"context_line":"                swap \u003d None"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"        size \u003d instance.flavor.swap * units.Ki"},{"line_number":573,"context_line":"        if not swap and size \u003e 0:"},{"line_number":574,"context_line":"            self._create_and_attach_thin_disk(instance, vm_ref, dc_info, size,"},{"line_number":575,"context_line":"                                              adapter_type, path)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acd31a7_356486e2","line":572,"in_reply_to":"3acd31a7_54cee85a","updated":"2015-05-04 01:51:21.000000000","message":"Ditto","commit_id":"5e7eb5b384ae7eeb3667d3317782e26b13a16821"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c07857c5452c403f5a45bc168eddad94857de1aa","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                at \u003d eph.get(\u0027disk_bus\u0027) or adapter_type"},{"line_number":570,"context_line":"                filename \u003d vm_util.get_ephemeral_name(idx)"},{"line_number":571,"context_line":"                path \u003d str(ds_obj.DatastorePath(datastore.name, folder,"},{"line_number":572,"context_line":"                                                 filename))"},{"line_number":573,"context_line":"                self._create_and_attach_thin_disk(instance, vm_ref, dc_info,"},{"line_number":574,"context_line":"                                                  size, at, path)"},{"line_number":575,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_87843e0b","line":572,"updated":"2015-07-28 09:51:58.000000000","message":"indentation here is dodgy","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b3f5125660f76c6f7b596b6a43d69cdc16ae8beb","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                at \u003d eph.get(\u0027disk_bus\u0027) or adapter_type"},{"line_number":570,"context_line":"                filename \u003d vm_util.get_ephemeral_name(idx)"},{"line_number":571,"context_line":"                path \u003d str(ds_obj.DatastorePath(datastore.name, folder,"},{"line_number":572,"context_line":"                                                 filename))"},{"line_number":573,"context_line":"                self._create_and_attach_thin_disk(instance, vm_ref, dc_info,"},{"line_number":574,"context_line":"                                                  size, at, path)"},{"line_number":575,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_aa49ef32","line":572,"in_reply_to":"3a50d1a3_87843e0b","updated":"2015-07-28 12:54:34.000000000","message":"I am happy with a follow on patch for that, since this doesn\u0027t fail pep8, either way is fine for me.","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"e41672a7aa0f7354abcdc31248f5b3a2b39ff284","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                at \u003d eph.get(\u0027disk_bus\u0027) or adapter_type"},{"line_number":570,"context_line":"                filename \u003d vm_util.get_ephemeral_name(idx)"},{"line_number":571,"context_line":"                path \u003d str(ds_obj.DatastorePath(datastore.name, folder,"},{"line_number":572,"context_line":"                                                 filename))"},{"line_number":573,"context_line":"                self._create_and_attach_thin_disk(instance, vm_ref, dc_info,"},{"line_number":574,"context_line":"                                                  size, at, path)"},{"line_number":575,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_57780fc4","line":572,"in_reply_to":"3a50d1a3_aa49ef32","updated":"2015-07-28 13:41:15.000000000","message":"I can do a follow up patch for it.  If there is a rebase needed, I can put it in the rebase.","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c07857c5452c403f5a45bc168eddad94857de1aa","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            swap \u003d driver.block_device_info_get_swap(bdi)"},{"line_number":593,"context_line":"            if driver.swap_is_usable(swap):"},{"line_number":594,"context_line":"                size \u003d swap[\u0027swap_size\u0027] * units.Ki"},{"line_number":595,"context_line":"                self._create_and_attach_thin_disk(instance, vm_ref, dc_info,"},{"line_number":596,"context_line":"                                                  size, adapter_type, path)"},{"line_number":597,"context_line":"            else:"},{"line_number":598,"context_line":"                # driver.block_device_info_get_swap returns"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_19440ab5","line":595,"updated":"2015-07-28 09:51:58.000000000","message":"here we create multiple swap devices. so the resize will fail as we only clean up one.","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b3f5125660f76c6f7b596b6a43d69cdc16ae8beb","unresolved":false,"context_lines":[{"line_number":592,"context_line":"            swap \u003d driver.block_device_info_get_swap(bdi)"},{"line_number":593,"context_line":"            if driver.swap_is_usable(swap):"},{"line_number":594,"context_line":"                size \u003d swap[\u0027swap_size\u0027] * units.Ki"},{"line_number":595,"context_line":"                self._create_and_attach_thin_disk(instance, vm_ref, dc_info,"},{"line_number":596,"context_line":"                                                  size, adapter_type, path)"},{"line_number":597,"context_line":"            else:"},{"line_number":598,"context_line":"                # driver.block_device_info_get_swap returns"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_3f90bfec","line":595,"in_reply_to":"3a50d1a3_19440ab5","updated":"2015-07-28 12:54:34.000000000","message":"I thought you could only ever have one swap in the DBMs?\nhttps://github.com/openstack/nova/blob/master/nova/virt/driver.py#L115","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c07857c5452c403f5a45bc168eddad94857de1aa","unresolved":false,"context_lines":[{"line_number":1190,"context_line":""},{"line_number":1191,"context_line":"    def _remove_ephemerals_and_swap(self, vm_ref):"},{"line_number":1192,"context_line":"        devices \u003d vm_util.get_ephemerals(self._session, vm_ref)"},{"line_number":1193,"context_line":"        swap \u003d vm_util.get_swap(self._session, vm_ref)"},{"line_number":1194,"context_line":"        if swap is not None:"},{"line_number":1195,"context_line":"            devices.append(swap)"},{"line_number":1196,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_79098e83","line":1193,"updated":"2015-07-28 09:51:58.000000000","message":"this should return swap devices and not just one swap device","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b3f5125660f76c6f7b596b6a43d69cdc16ae8beb","unresolved":false,"context_lines":[{"line_number":1190,"context_line":""},{"line_number":1191,"context_line":"    def _remove_ephemerals_and_swap(self, vm_ref):"},{"line_number":1192,"context_line":"        devices \u003d vm_util.get_ephemerals(self._session, vm_ref)"},{"line_number":1193,"context_line":"        swap \u003d vm_util.get_swap(self._session, vm_ref)"},{"line_number":1194,"context_line":"        if swap is not None:"},{"line_number":1195,"context_line":"            devices.append(swap)"},{"line_number":1196,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a50d1a3_5f1a6bc7","line":1193,"in_reply_to":"3a50d1a3_79098e83","updated":"2015-07-28 12:54:34.000000000","message":"this seems valid given above.","commit_id":"a7542ef192798ed32c9e44dd16c66860eae4be7e"}]}
