)]}'
{"nova/conf/libvirt.py":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"84d989bb9eafdfe43ddaa59130e668d1fcbe495c","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"ALL_OPTS \u003d list(itertools.chain("},{"line_number":219,"context_line":"    libvirt_general_opts,"},{"line_number":220,"context_line":"))"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"def register_opts(conf):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_0b55711c","line":220,"updated":"2016-04-22 02:37:03.000000000","message":"This is not necessary. Since there is only a single list of opts, you should delete this line, and the replace \u0027ALL_OPTS\u0027 below with \u0027libvirt_general_opts\u0027.","commit_id":"defc24be171ae0a601ba78c894f6d02de94724c9"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"374080d485d4a082a898a1ca120539225602ce45","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"ALL_OPTS \u003d list(itertools.chain("},{"line_number":219,"context_line":"    libvirt_general_opts,"},{"line_number":220,"context_line":"))"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"def register_opts(conf):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_66cffcb3","line":220,"in_reply_to":"1a122d0e_0b55711c","updated":"2016-04-22 02:52:00.000000000","message":"Thanks Ed, this is the first patch of libvirt opts, and the other patchs will need the option list. So I place the list ALL_OPTS here for the others.","commit_id":"defc24be171ae0a601ba78c894f6d02de94724c9"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"18f3a1cd33ce01f027c2deed5381cb0678944541","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def list_opts():"},{"line_number":223,"context_line":"    return {libvirt_group: libvirt_general_opts}"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_5ec9c978","line":223,"range":{"start_line":223,"start_character":12,"end_line":223,"end_character":25},"updated":"2016-04-22 15:29:45.000000000","message":"There is a bug in new bug in oslo\u0027s generator that means we get duplicate configs if we don\u0027t do libvirt_group.name here.","commit_id":"7dbfdfa401deb824437bd9727361c13f66c3c5a5"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f3367ac09f3ab1e2d443bc49448900b288c504b8","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def list_opts():"},{"line_number":223,"context_line":"    return {libvirt_group: libvirt_general_opts}"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_4c11e303","line":223,"range":{"start_line":223,"start_character":12,"end_line":223,"end_character":25},"in_reply_to":"1a122d0e_5ec9c978","updated":"2016-04-26 03:46:27.000000000","message":"Sure, I will fix this and at the last patch-set (patch-set number 17), I will revert the libvirt_group.name to libvirt_group because this will completely avoid dupplicate oslo_conf section","commit_id":"7dbfdfa401deb824437bd9727361c13f66c3c5a5"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"9568b7b42d3970ba3e652a28b523a868607a85c6","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def list_opts():"},{"line_number":223,"context_line":"    return {libvirt_group.name: libvirt_general_opts}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_c44fc732","line":223,"range":{"start_line":223,"start_character":25,"end_line":223,"end_character":30},"updated":"2016-05-03 17:58:45.000000000","message":"nit: Adding a TODO here, which mentions the bug in \"oslo.config\" would be the best but I won\u0027t -1 for this.","commit_id":"ca5bcfbd89239fce72c02b53a15a708d7e81fd2d"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"9a84466ed102053fcc752927e68abba4be0c6263","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def list_opts():"},{"line_number":223,"context_line":"    return {libvirt_group.name: libvirt_general_opts}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_c03c8f31","line":223,"range":{"start_line":223,"start_character":25,"end_line":223,"end_character":30},"in_reply_to":"1a122d0e_62f20c9c","updated":"2016-05-05 01:32:52.000000000","message":"Done","commit_id":"ca5bcfbd89239fce72c02b53a15a708d7e81fd2d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c0a2be4580d3a7687523313cec2406fc3ca37794","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"def list_opts():"},{"line_number":223,"context_line":"    return {libvirt_group.name: libvirt_general_opts}"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_62f20c9c","line":223,"range":{"start_line":223,"start_character":25,"end_line":223,"end_character":30},"in_reply_to":"1a122d0e_c44fc732","updated":"2016-05-04 09:57:58.000000000","message":"ack, +1","commit_id":"ca5bcfbd89239fce72c02b53a15a708d7e81fd2d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"182091989c61c1b8617112a97cb7bfe602fde926","unresolved":false,"context_lines":[{"line_number":57,"context_line":"               help\u003d\u0027The partition to inject to : \u0027"},{"line_number":58,"context_line":"                    \u0027-2 \u003d\u003e disable, -1 \u003d\u003e inspect (libguestfs only), \u0027"},{"line_number":59,"context_line":"                    \u00270 \u003d\u003e not partitioned, \u003e0 \u003d\u003e partition number\u0027),"},{"line_number":60,"context_line":"    cfg.BoolOpt(\u0027use_usb_tablet\u0027,"},{"line_number":61,"context_line":"                default\u003dTrue,"},{"line_number":62,"context_line":"                help\u003d\u0027Sync virtual and real mouse cursors in Windows VMs\u0027),"},{"line_number":63,"context_line":"    cfg.StrOpt(\u0027live_migration_inbound_addr\u0027,"},{"line_number":64,"context_line":"               help\u003d\u0027Live migration target ip or hostname \u0027"},{"line_number":65,"context_line":"                    \u0027(if this option is set to None, which is the default, \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_2b539517","line":62,"range":{"start_line":60,"start_character":4,"end_line":62,"end_character":75},"updated":"2016-06-17 20:46:22.000000000","message":"This is supposed to be deprecated.","commit_id":"dda676c80b539e98507cb85a1ce5644f74b755ee"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"18f3a1cd33ce01f027c2deed5381cb0678944541","unresolved":false,"context_lines":[{"line_number":5979,"context_line":"        steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":5980,"context_line":"        delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":5981,"context_line":""},{"line_number":5982,"context_line":"        if downtime \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN:"},{"line_number":5983,"context_line":"            downtime \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":5984,"context_line":"        if steps \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN:"},{"line_number":5985,"context_line":"            steps \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_1e12b109","line":5982,"range":{"start_line":5982,"start_character":22,"end_line":5982,"end_character":40},"updated":"2016-04-22 15:29:45.000000000","message":"Not sure I like this style, but I guess it should be OK.","commit_id":"7dbfdfa401deb824437bd9727361c13f66c3c5a5"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"a895c69b97e0704479a45af8a013fca14dba2437","unresolved":false,"context_lines":[{"line_number":5979,"context_line":"        steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":5980,"context_line":"        delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":5981,"context_line":""},{"line_number":5982,"context_line":"        if downtime \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN:"},{"line_number":5983,"context_line":"            downtime \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":5984,"context_line":"        if steps \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN:"},{"line_number":5985,"context_line":"            steps \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_f441a83a","line":5982,"range":{"start_line":5982,"start_character":22,"end_line":5982,"end_character":40},"in_reply_to":"1a122d0e_1e12b109","updated":"2016-04-25 11:32:55.000000000","message":"Why not actually used the MIN/MAX on the conf here - http://docs.openstack.org/developer/oslo.config/opts.html?highlight\u003dint#oslo_config.cfg.IntOpt","commit_id":"7dbfdfa401deb824437bd9727361c13f66c3c5a5"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f3367ac09f3ab1e2d443bc49448900b288c504b8","unresolved":false,"context_lines":[{"line_number":5979,"context_line":"        steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":5980,"context_line":"        delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":5981,"context_line":""},{"line_number":5982,"context_line":"        if downtime \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN:"},{"line_number":5983,"context_line":"            downtime \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":5984,"context_line":"        if steps \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN:"},{"line_number":5985,"context_line":"            steps \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_2c0627ce","line":5982,"range":{"start_line":5982,"start_character":22,"end_line":5982,"end_character":40},"in_reply_to":"1a122d0e_f441a83a","updated":"2016-04-26 03:46:27.000000000","message":"Sean, I do not prefer to use min/max on IntOpt conf because if the value is out of range, oslo_config will raise an exception ValueError instead of setting the downtime value to its min. More details in here - https://github.com/openstack/oslo.config/blob/master/oslo_config/types.py#L306","commit_id":"7dbfdfa401deb824437bd9727361c13f66c3c5a5"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"9568b7b42d3970ba3e652a28b523a868607a85c6","unresolved":false,"context_lines":[{"line_number":5979,"context_line":"        steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":5980,"context_line":"        delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":5981,"context_line":""},{"line_number":5982,"context_line":"        if downtime \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN:"},{"line_number":5983,"context_line":"            downtime \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":5984,"context_line":"        if steps \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN:"},{"line_number":5985,"context_line":"            steps \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_84e14fff","line":5982,"range":{"start_line":5982,"start_character":22,"end_line":5982,"end_character":39},"updated":"2016-05-03 17:58:45.000000000","message":"I\u0027m OK with this approach as it\u0027s the most minimal change. After this merged we can think of a follow up patch which moves this into the config option itself but I need to take a closer look for that.","commit_id":"ca5bcfbd89239fce72c02b53a15a708d7e81fd2d"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"9a84466ed102053fcc752927e68abba4be0c6263","unresolved":false,"context_lines":[{"line_number":5979,"context_line":"        steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":5980,"context_line":"        delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":5981,"context_line":""},{"line_number":5982,"context_line":"        if downtime \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN:"},{"line_number":5983,"context_line":"            downtime \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":5984,"context_line":"        if steps \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN:"},{"line_number":5985,"context_line":"            steps \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_004327b0","line":5982,"range":{"start_line":5982,"start_character":22,"end_line":5982,"end_character":39},"in_reply_to":"1a122d0e_42ed50b6","updated":"2016-05-05 01:32:52.000000000","message":"Done","commit_id":"ca5bcfbd89239fce72c02b53a15a708d7e81fd2d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c0a2be4580d3a7687523313cec2406fc3ca37794","unresolved":false,"context_lines":[{"line_number":5979,"context_line":"        steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":5980,"context_line":"        delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":5981,"context_line":""},{"line_number":5982,"context_line":"        if downtime \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN:"},{"line_number":5983,"context_line":"            downtime \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":5984,"context_line":"        if steps \u003c nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN:"},{"line_number":5985,"context_line":"            steps \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_42ed50b6","line":5982,"range":{"start_line":5982,"start_character":22,"end_line":5982,"end_character":39},"in_reply_to":"1a122d0e_84e14fff","updated":"2016-05-04 09:57:58.000000000","message":"+1, a TODO would be nice, but its OK.","commit_id":"ca5bcfbd89239fce72c02b53a15a708d7e81fd2d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"182091989c61c1b8617112a97cb7bfe602fde926","unresolved":false,"context_lines":[{"line_number":156,"context_line":"                     \u00270 \u003d\u003e not partitioned, \u003e0 \u003d\u003e partition number\u0027),"},{"line_number":157,"context_line":"    cfg.BoolOpt(\u0027use_usb_tablet\u0027,"},{"line_number":158,"context_line":"                default\u003dTrue,"},{"line_number":159,"context_line":"                deprecated_for_removal\u003dTrue,"},{"line_number":160,"context_line":"                help\u003d\u0027(Deprecated, please see pointer_model) Sync virtual and \u0027"},{"line_number":161,"context_line":"                     \u0027real mouse cursors in Windows VMs\u0027),"},{"line_number":162,"context_line":"    cfg.StrOpt(\u0027live_migration_inbound_addr\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_eb4ced77","side":"PARENT","line":159,"range":{"start_line":159,"start_character":16,"end_line":159,"end_character":44},"updated":"2016-06-17 20:46:22.000000000","message":"This was lost in this conversion.","commit_id":"38033b9b2f5295c021c23162fc1dc2a9196bd90a"}],"nova/virt/opts.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"9568b7b42d3970ba3e652a28b523a868607a85c6","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import itertools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import nova.conf"},{"line_number":16,"context_line":"import nova.virt.libvirt.driver"},{"line_number":17,"context_line":"import nova.virt.libvirt.imagebackend"},{"line_number":18,"context_line":"import nova.virt.libvirt.imagecache"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_848f8f2d","side":"PARENT","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":16},"updated":"2016-05-03 17:58:45.000000000","message":"nit: This removal is not necessary I guess, but as we want to get rid of this \"opts.py\" module I\u0027m OK with it.","commit_id":"7be945b53944a44b26e49892e8a685815bf0cacb"}]}
