)]}'
{"nova/tests/unit/virt/libvirt/test_imagebackend.py":[{"author":{"_account_id":15847,"name":"Mikhail Feoktistov","email":"mfeoktistov@virtuozzo.com","username":"mfeoktistov"},"change_message_id":"e3a566044674841a39178f6daec8fdc993a5c174","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"        img_path \u003d os.path.join(self.PATH, \"root.hds\")"},{"line_number":1342,"context_line":"        imagebackend.libvirt_utils.copy_image(self.TEMPLATE_PATH, img_path)"},{"line_number":1343,"context_line":"        self.utils.execute(\"ploop\", \"restore-descriptor\", \"-f\", \"raw\","},{"line_number":1344,"context_line":"                           self.PATH, img_path)"},{"line_number":1345,"context_line":"        self.utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":1346,"context_line":"                           \u00270M\u0027, \u0027--resize_partition\u0027, \u0027--hdd\u0027,"},{"line_number":1347,"context_line":"                           self.PATH, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afb71cf_615406c9","line":1344,"updated":"2015-06-11 09:20:21.000000000","message":"I offer to add --round_down parameter to prl_disk_tool call","commit_id":"332eaa46930957b547ea6f5bfa81e522d2c143a9"}],"nova/virt/libvirt/imagebackend.py":[{"author":{"_account_id":15847,"name":"Mikhail Feoktistov","email":"mfeoktistov@virtuozzo.com","username":"mfeoktistov"},"change_message_id":"7f19fb2cc078c5960ad6c88fe580c7476cf9227d","unresolved":false,"context_lines":[{"line_number":785,"context_line":"            libvirt_utils.copy_image(base, image_path)"},{"line_number":786,"context_line":"            utils.execute(\u0027ploop\u0027, \u0027restore-descriptor\u0027, \u0027-f\u0027, self.pcs_format,"},{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3afb71cf_6835a6d8","line":788,"updated":"2015-06-08 12:45:22.000000000","message":"I offer to add --round_down parameter to prl_disk_tool call","commit_id":"4542dbca7d6484415ecd65d337e27e412ee440d5"},{"author":{"_account_id":15847,"name":"Mikhail Feoktistov","email":"mfeoktistov@virtuozzo.com","username":"mfeoktistov"},"change_message_id":"e3a566044674841a39178f6daec8fdc993a5c174","unresolved":false,"context_lines":[{"line_number":785,"context_line":"            libvirt_utils.copy_image(base, image_path)"},{"line_number":786,"context_line":"            utils.execute(\u0027ploop\u0027, \u0027restore-descriptor\u0027, \u0027-f\u0027, self.pcs_format,"},{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3afb71cf_c1429a0e","line":788,"updated":"2015-06-11 09:20:21.000000000","message":"I offer to add --round_down parameter to prl_disk_tool call","commit_id":"332eaa46930957b547ea6f5bfa81e522d2c143a9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4b38f4efccbe1d7f8e1f371c15190c6ea2ba1ed7","unresolved":false,"context_lines":[{"line_number":786,"context_line":"            utils.execute(\u0027ploop\u0027, \u0027restore-descriptor\u0027, \u0027-f\u0027, self.pcs_format,"},{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"},{"line_number":792,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_3e287496","line":789,"updated":"2015-06-25 16:15:57.000000000","message":"Is prl_disk_tool available when you install ploop?  Just wondering if there needs to be a DocImpact for required native dependencies when using this.\n\ndocs for prl_disk_tool are on page 174 here:\n\nhttp://www.odin.com/fileadmin/parallels/documents/hosting-cloud-enablement/pcs/Production_Documents/Update_1/Parallels_Command_Line_Reference_Guide_02012013.pdf\n\nFYI for other reviewers, I had a hard time finding a public man page for this command.\n\n--\n\nAlso, do you want to pre-validate the file system given:\n\n\"The supported file systems are NTFS, FAT16/FAT32, and ext2/ext3.\"\n\nOr do you just expect the command to fail and get bubbled up and people will understand how to resolve the issue?  Does prl_disk_tool have specific return codes that could be checked for better error handling/messaging?","commit_id":"f20bca25f0feb15e3b35047e2ee0645f274bf2c6"},{"author":{"_account_id":12408,"name":"Maxim Nestratov","email":"mnestratov@virtuozzo.com","username":"mnestratov"},"change_message_id":"be65c4fc08a13947986f066ecf8006032f17f8ab","unresolved":false,"context_lines":[{"line_number":786,"context_line":"            utils.execute(\u0027ploop\u0027, \u0027restore-descriptor\u0027, \u0027-f\u0027, self.pcs_format,"},{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"},{"line_number":792,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_cf0670cd","line":789,"in_reply_to":"fa32b979_0fb7783a","updated":"2015-06-25 16:42:57.000000000","message":"ext4 only in case of vm_mode\u003dexe, all the rest mention in doc supported for hvm","commit_id":"f20bca25f0feb15e3b35047e2ee0645f274bf2c6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2cf8d5d8fd5e0982199c26ae2c0384855e8b902f","unresolved":false,"context_lines":[{"line_number":786,"context_line":"            utils.execute(\u0027ploop\u0027, \u0027restore-descriptor\u0027, \u0027-f\u0027, self.pcs_format,"},{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"},{"line_number":792,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_0fb7783a","line":789,"in_reply_to":"fa32b979_3e287496","updated":"2015-06-25 16:39:19.000000000","message":"Or is only ext4 supported?\n\nhttp://git.openstack.org/cgit/openstack/nova/tree/nova/virt/configdrive.py#n226","commit_id":"f20bca25f0feb15e3b35047e2ee0645f274bf2c6"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"eca7ec012df5b2d8cc31fe07b70f65428997b6b7","unresolved":false,"context_lines":[{"line_number":786,"context_line":"            utils.execute(\u0027ploop\u0027, \u0027restore-descriptor\u0027, \u0027-f\u0027, self.pcs_format,"},{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"},{"line_number":792,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_6a79522e","line":789,"in_reply_to":"fa32b979_3e287496","updated":"2015-06-25 17:05:37.000000000","message":"prl_disk_tool is always installed by Virtuozzo Server distribution, nova-compute with virt_type\u003dvz is not supposed to run on general purpose distros.\n\nActually prl_disk_tool supports ext4 and LVM, just need to update docs. I\u0027ll file a bug for our product.\n\nUnfortunately prl_disk_tool doesn\u0027t have special exit code for this case. I think the best way would be to report prl_disk_tool\u0027s stderr.","commit_id":"f20bca25f0feb15e3b35047e2ee0645f274bf2c6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e6c9013233138d8045761ab5738cc3bf46b633bb","unresolved":false,"context_lines":[{"line_number":786,"context_line":"            utils.execute(\u0027ploop\u0027, \u0027restore-descriptor\u0027, \u0027-f\u0027, self.pcs_format,"},{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"},{"line_number":792,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_f37525fa","line":789,"in_reply_to":"fa32b979_6a79522e","updated":"2015-06-26 20:17:11.000000000","message":"Don\u0027t you need a rootwrap filter like in this change?\n\nhttps://review.openstack.org/#/c/182257/20/etc/nova/rootwrap.d/compute.filters","commit_id":"f20bca25f0feb15e3b35047e2ee0645f274bf2c6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4b38f4efccbe1d7f8e1f371c15190c6ea2ba1ed7","unresolved":false,"context_lines":[{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        if not os.path.exists(self.path):"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_9196513c","line":790,"updated":"2015-06-25 16:15:57.000000000","message":"I guess you change the shift from 10 to 20 because you\u0027re changing from kilobytes to megabytes.","commit_id":"f20bca25f0feb15e3b35047e2ee0645f274bf2c6"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"eca7ec012df5b2d8cc31fe07b70f65428997b6b7","unresolved":false,"context_lines":[{"line_number":787,"context_line":"                          target, image_path)"},{"line_number":788,"context_line":"            if size:"},{"line_number":789,"context_line":"                utils.execute(\u0027prl_disk_tool\u0027, \u0027resize\u0027, \u0027--size\u0027,"},{"line_number":790,"context_line":"                              \u0027%dM\u0027 % (size \u003e\u003e 20), \u0027--resize_partition\u0027,"},{"line_number":791,"context_line":"                              \u0027--hdd\u0027, self.path, run_as_root\u003dTrue)"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"        if not os.path.exists(self.path):"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_6ac71245","line":790,"in_reply_to":"fa32b979_9196513c","updated":"2015-06-25 17:05:37.000000000","message":"Yes, you\u0027re right.","commit_id":"f20bca25f0feb15e3b35047e2ee0645f274bf2c6"}]}
