)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Config options: improve libvirt help text (2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds additional help text to the following"},{"line_number":10,"context_line":"subbet of options: live_migration* and snapshot_image_format."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I92ffe5022a6b52eb66e134d8acc61684fa0f893e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9ad45d7e_84ba1709","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":37},"updated":"2016-08-12 12:18:27.000000000","message":"It also sets \"min\" to some Opts. I would clarify that here or keep the change really just to help text changes. I tend to the latter one.\n\nIt also drops some of the \"services which consume this\" (which is fine for me), but I would say that here too.","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Config options: improve libvirt help text (2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds additional help text to the following"},{"line_number":10,"context_line":"subbet of options: live_migration* and snapshot_image_format."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I92ffe5022a6b52eb66e134d8acc61684fa0f893e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3ac371cc_b535bff8","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":37},"in_reply_to":"9ad45d7e_84ba1709","updated":"2016-08-15 02:43:38.000000000","message":"thanks","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Config options: improve libvirt help text (2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds additional help text to the following"},{"line_number":10,"context_line":"subbet of options: live_migration* and snapshot_image_format."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I92ffe5022a6b52eb66e134d8acc61684fa0f893e"},{"line_number":13,"context_line":"Implements: blueprint centralize-config-options-newton"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9ad45d7e_93c37f38","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":6},"updated":"2016-08-12 12:18:27.000000000","message":"nit: s/subbet/subset","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Config options: improve libvirt help text (2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds additional help text to the following"},{"line_number":10,"context_line":"subbet of options: live_migration* and snapshot_image_format."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I92ffe5022a6b52eb66e134d8acc61684fa0f893e"},{"line_number":13,"context_line":"Implements: blueprint centralize-config-options-newton"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3ac371cc_153bf3ec","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":6},"in_reply_to":"9ad45d7e_93c37f38","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"e39df6697b83b846dc5afa97e29ba210e93b93ed","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Config options: improve libvirt help text (2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit adds additional help text to the following"},{"line_number":10,"context_line":"subset of options: live_migration* and snapshot_image_format."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I92ffe5022a6b52eb66e134d8acc61684fa0f893e"},{"line_number":13,"context_line":"Implements: blueprint centralize-config-options-ocata"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"7a77a97e_55697824","line":10,"updated":"2016-11-16 09:54:09.000000000","message":"It also formats the help text of some of the other config options and removes parts of the help texts of other config options we agreed on to clean up.","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"}],"nova/conf/libvirt.py":[{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"2b091d740c60779a849f6b9e487f473f7f9490ce","unresolved":false,"context_lines":[{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Possible values:"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"* Validated IP address or hostname"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"Services which consume this:"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_739aaf6f","line":280,"range":{"start_line":280,"start_character":2,"end_line":280,"end_character":34},"updated":"2016-05-31 21:38:58.000000000","message":"From your description above, None could be one of the value and is also default. So you should add that here.","commit_id":"2bf7b7463a223013918ef63e4d58bd8b82e2a28e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"d27c2044bdc0a1b2c089525a51190bc34307f0d9","unresolved":false,"context_lines":[{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Possible values:"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"* Validated IP address or hostname"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"Services which consume this:"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_73e62ab1","line":280,"range":{"start_line":280,"start_character":2,"end_line":280,"end_character":34},"in_reply_to":"9abb7d3a_739aaf6f","updated":"2016-06-01 01:03:44.000000000","message":"Done","commit_id":"2bf7b7463a223013918ef63e4d58bd8b82e2a28e"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"2b091d740c60779a849f6b9e487f473f7f9490ce","unresolved":false,"context_lines":[{"line_number":330,"context_line":"\"\"\"),"},{"line_number":331,"context_line":"    cfg.BoolOpt(\u0027live_migration_tunnelled\u0027,"},{"line_number":332,"context_line":"                help\u003d\"\"\""},{"line_number":333,"context_line":"Whether to use tunnelled migration, where migration data is transported"},{"line_number":334,"context_line":"over the libvirtd connection. If True, we use the VIR_MIGRATE_TUNNELLED"},{"line_number":335,"context_line":"migration flag, avoiding the need to configure the network to allow direct"},{"line_number":336,"context_line":"hypervisor to hypervisor communication. If False, use the native transport."}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_d3055b7a","line":333,"range":{"start_line":333,"start_character":0,"end_line":333,"end_character":7},"updated":"2016-05-31 21:38:58.000000000","message":"This option allows","commit_id":"2bf7b7463a223013918ef63e4d58bd8b82e2a28e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"d27c2044bdc0a1b2c089525a51190bc34307f0d9","unresolved":false,"context_lines":[{"line_number":330,"context_line":"\"\"\"),"},{"line_number":331,"context_line":"    cfg.BoolOpt(\u0027live_migration_tunnelled\u0027,"},{"line_number":332,"context_line":"                help\u003d\"\"\""},{"line_number":333,"context_line":"Whether to use tunnelled migration, where migration data is transported"},{"line_number":334,"context_line":"over the libvirtd connection. If True, we use the VIR_MIGRATE_TUNNELLED"},{"line_number":335,"context_line":"migration flag, avoiding the need to configure the network to allow direct"},{"line_number":336,"context_line":"hypervisor to hypervisor communication. If False, use the native transport."}],"source_content_type":"text/x-python","patch_set":1,"id":"9abb7d3a_53eb2678","line":333,"range":{"start_line":333,"start_character":0,"end_line":333,"end_character":7},"in_reply_to":"9abb7d3a_d3055b7a","updated":"2016-06-01 01:03:44.000000000","message":"Done","commit_id":"2bf7b7463a223013918ef63e4d58bd8b82e2a28e"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"68de8ae9a6bb1a38e3c0c37cf419930c71d1c6d0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# needs:fix_opt_description"},{"line_number":2,"context_line":"# needs:check_deprecation_status"},{"line_number":3,"context_line":"# needs:check_opt_group_and_type"},{"line_number":4,"context_line":"# needs:fix_opt_description_indentation"},{"line_number":5,"context_line":"# needs:fix_opt_registration_consistency"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Copyright 2016 OpenStack Foundation"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_f77099de","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":40},"updated":"2016-07-05 10:51:36.000000000","message":"Just asking - wasn\u0027t it supposed to be added in one single patch for all files? I think John did it.","commit_id":"e4c09fc42b1104d3d21b671a6719eb58aba1807f"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b5afad363c7edebbd2b1609fef71f0674a342fb4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# needs:fix_opt_description"},{"line_number":2,"context_line":"# needs:check_deprecation_status"},{"line_number":3,"context_line":"# needs:check_opt_group_and_type"},{"line_number":4,"context_line":"# needs:fix_opt_description_indentation"},{"line_number":5,"context_line":"# needs:fix_opt_registration_consistency"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Copyright 2016 OpenStack Foundation"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_5806cc1d","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":40},"in_reply_to":"1aa78d24_f77099de","updated":"2016-07-06 06:16:11.000000000","message":"this part if out of scope in this patch-set, Markus had done the work by adding this into the series of centralize config file.","commit_id":"e4c09fc42b1104d3d21b671a6719eb58aba1807f"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"68de8ae9a6bb1a38e3c0c37cf419930c71d1c6d0","unresolved":false,"context_lines":[{"line_number":568,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"},{"line_number":569,"context_line":"    you may need to search key words ``VIR_PERF_PARAM_*``"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"* Services that use this:"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    ``nova-compute``"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"* Related options:"},{"line_number":576,"context_line":"    None"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_17d285d2","line":573,"range":{"start_line":571,"start_character":0,"end_line":573,"end_character":20},"updated":"2016-07-05 10:51:36.000000000","message":"This one is not needed :) There are few more of these in this patch.","commit_id":"e4c09fc42b1104d3d21b671a6719eb58aba1807f"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"6eb98c7ea62204ce6253ab7a1ae1fd7b2f7b404b","unresolved":false,"context_lines":[{"line_number":568,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"},{"line_number":569,"context_line":"    you may need to search key words ``VIR_PERF_PARAM_*``"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"* Services that use this:"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    ``nova-compute``"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"* Related options:"},{"line_number":576,"context_line":"    None"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_5889ac74","line":573,"range":{"start_line":571,"start_character":0,"end_line":573,"end_character":20},"in_reply_to":"1aa78d24_17d285d2","updated":"2016-07-06 06:20:41.000000000","message":"Just realizing this is the result after rebasing from another work, so I will remove it ASAP.\nThank you Maciej.","commit_id":"e4c09fc42b1104d3d21b671a6719eb58aba1807f"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b5afad363c7edebbd2b1609fef71f0674a342fb4","unresolved":false,"context_lines":[{"line_number":568,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"},{"line_number":569,"context_line":"    you may need to search key words ``VIR_PERF_PARAM_*``"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"* Services that use this:"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"    ``nova-compute``"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"* Related options:"},{"line_number":576,"context_line":"    None"}],"source_content_type":"text/x-python","patch_set":8,"id":"1aa78d24_7828e886","line":573,"range":{"start_line":571,"start_character":0,"end_line":573,"end_character":20},"in_reply_to":"1aa78d24_17d285d2","updated":"2016-07-06 06:16:11.000000000","message":"hm, this one is not in scope of this patch, so I will remove it in another correct patch-set.","commit_id":"e4c09fc42b1104d3d21b671a6719eb58aba1807f"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"1ca7be2202a19a04a541a18f6600894b8b596690","unresolved":false,"context_lines":[{"line_number":325,"context_line":"feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":326,"context_line":"to the libvirt documentation for further details."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"Possible values:"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"* Integer value (default is 0)."},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"Related options:"},{"line_number":333,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dada55a8_8853a6e1","line":330,"range":{"start_line":328,"start_character":0,"end_line":330,"end_character":31},"updated":"2016-07-20 19:40:07.000000000","message":"If there is no option for a negative value consider adding min\u003d0 param to this IntOpt. Afterwards, this section can be dropped.\n\nConsider doing the same for the rest of IntOpts and FloatOpts :)","commit_id":"e2790f0614a7d2962457126810a990f5a7fe02ed"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"d44ebeec0a3ff5f900b5d01a156d302eb3548e62","unresolved":false,"context_lines":[{"line_number":325,"context_line":"feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":326,"context_line":"to the libvirt documentation for further details."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"Possible values:"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"* Integer value (default is 0)."},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"Related options:"},{"line_number":333,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dada55a8_8f7e0217","line":330,"range":{"start_line":328,"start_character":0,"end_line":330,"end_character":31},"in_reply_to":"dada55a8_8853a6e1","updated":"2016-07-21 01:22:52.000000000","message":"Done","commit_id":"e2790f0614a7d2962457126810a990f5a7fe02ed"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                             title\u003d\"Libvirt Options\","},{"line_number":38,"context_line":"                             help\u003d\"\"\""},{"line_number":39,"context_line":"Libvirt options allows cloud administrator to configure related"},{"line_number":40,"context_line":"libvirt hypervisor driver to be used within an OpenStack deployment."},{"line_number":41,"context_line":"\"\"\")"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"libvirt_general_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_e929f18a","line":40,"updated":"2016-08-09 13:24:19.000000000","message":"Maybe just mention virt_type here, and how it can influence what is supported, rather than having to mention it in almost every config.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                             title\u003d\"Libvirt Options\","},{"line_number":38,"context_line":"                             help\u003d\"\"\""},{"line_number":39,"context_line":"Libvirt options allows cloud administrator to configure related"},{"line_number":40,"context_line":"libvirt hypervisor driver to be used within an OpenStack deployment."},{"line_number":41,"context_line":"\"\"\")"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"libvirt_general_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_7dd591b7","line":40,"in_reply_to":"9ad45d7e_e929f18a","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"* None (default) or validated IP address, hostname"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"Related options:"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":262,"context_line":"migration."},{"line_number":263,"context_line":"\"\"\"),"},{"line_number":264,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":265,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_8914b544","line":262,"range":{"start_line":259,"start_character":0,"end_line":262,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"We don\u0027t really need this detail here, its distracting.\n\nI think that goes for most of these changes here.\n\nI would look at adding it into the group help text.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":"* None (default) or validated IP address, hostname"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"Related options:"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":262,"context_line":"migration."},{"line_number":263,"context_line":"\"\"\"),"},{"line_number":264,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":265,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_3dbe79d4","line":262,"range":{"start_line":259,"start_character":0,"end_line":262,"end_character":10},"in_reply_to":"9ad45d7e_8914b544","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":265,"context_line":"               help\u003d\"\"\""},{"line_number":266,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":267,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"},{"line_number":268,"context_line":"hostname."},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"Possible values:"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_c94ced72","line":268,"range":{"start_line":267,"start_character":15,"end_line":268,"end_character":9},"updated":"2016-08-09 13:24:19.000000000","message":"Is that not live_migration_inbound_addr? maybe we should say its related here.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":264,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":265,"context_line":"               help\u003d\"\"\""},{"line_number":266,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":267,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"},{"line_number":268,"context_line":"hostname."},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"Possible values:"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_a0cb62a4","line":268,"range":{"start_line":267,"start_character":15,"end_line":268,"end_character":9},"in_reply_to":"9ad45d7e_c94ced72","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"* An URI like ``qemu+tcp://%s-lm/system`` for example if using with KVM/QEMU."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"Related options:"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":277,"context_line":"migration."},{"line_number":278,"context_line":"\"\"\"),"},{"line_number":279,"context_line":"    cfg.StrOpt(\u0027live_migration_flag\u0027,"},{"line_number":280,"context_line":"               default\u003d\u0027VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_2c3832a0","line":277,"range":{"start_line":274,"start_character":0,"end_line":277,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"* An URI like ``qemu+tcp://%s-lm/system`` for example if using with KVM/QEMU."},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"Related options:"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":277,"context_line":"migration."},{"line_number":278,"context_line":"\"\"\"),"},{"line_number":279,"context_line":"    cfg.StrOpt(\u0027live_migration_flag\u0027,"},{"line_number":280,"context_line":"               default\u003d\u0027VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, \u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_5dbb6de5","line":277,"range":{"start_line":274,"start_character":0,"end_line":277,"end_character":10},"in_reply_to":"9ad45d7e_2c3832a0","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":310,"context_line":"Possible values:"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":313,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"Related options:"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_f163933f","line":313,"updated":"2016-08-09 13:24:19.000000000","message":"But what is the default behaviour?\n\nhttps://github.com/openstack/nova/blob/b2100015ac6f98c68451cb8827687866fe695452/nova/virt/libvirt/driver.py#L590\n\nTurns out, by default, we fallback to what is set in either live_migration_flag or block_migration_flag depending on the type of migration happening.\n\nWe should make that clear here.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":310,"context_line":"Possible values:"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":313,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"Related options:"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_c0e3f603","line":313,"in_reply_to":"9ad45d7e_f163933f","updated":"2016-08-10 03:32:48.000000000","message":"Done, thank you for clarifying this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":312,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":313,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"Related options:"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":318,"context_line":"migration."},{"line_number":319,"context_line":"\"\"\"),"},{"line_number":320,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":321,"context_line":"               default\u003d0,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_cc5196da","line":318,"range":{"start_line":315,"start_character":0,"end_line":318,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":312,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":313,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"Related options:"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":318,"context_line":"migration."},{"line_number":319,"context_line":"\"\"\"),"},{"line_number":320,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":321,"context_line":"               default\u003d0,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_7daf5194","line":318,"range":{"start_line":315,"start_character":0,"end_line":318,"end_character":10},"in_reply_to":"9ad45d7e_cc5196da","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":328,"context_line":""},{"line_number":329,"context_line":"Possible values:"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"* Integer value (default is 0)."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Related options:"},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_2c0672ce","line":331,"updated":"2016-08-09 13:24:19.000000000","message":"Really should say what 0 means in here, as its a special value. Or we just drop this section.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":328,"context_line":""},{"line_number":329,"context_line":"Possible values:"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"* Integer value (default is 0)."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Related options:"},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_1d78d529","line":331,"in_reply_to":"9ad45d7e_2c0672ce","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Related options:"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":336,"context_line":"migration."},{"line_number":337,"context_line":"\"\"\"),"},{"line_number":338,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime\u0027,"},{"line_number":339,"context_line":"               default\u003d500,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_0c628ead","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"Related options:"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":336,"context_line":"migration."},{"line_number":337,"context_line":"\"\"\"),"},{"line_number":338,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime\u0027,"},{"line_number":339,"context_line":"               default\u003d500,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_fd722148","line":336,"range":{"start_line":335,"start_character":0,"end_line":336,"end_character":10},"in_reply_to":"9ad45d7e_0c628ead","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":337,"context_line":"\"\"\"),"},{"line_number":338,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime\u0027,"},{"line_number":339,"context_line":"               default\u003d500,"},{"line_number":340,"context_line":"               min\u003d0,"},{"line_number":341,"context_line":"               help\u003d\"\"\""},{"line_number":342,"context_line":"Maximum permitted downtime, in milliseconds, for live migration"},{"line_number":343,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_114bc788","line":340,"updated":"2016-08-09 13:24:19.000000000","message":"The real min should be: LIVE_MIGRATION_DOWNTIME_DELAY_MIN but that would break upgrades, lets add a TODO to sort that out, rather than adding min\u003d0 here with is actually wrong.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":337,"context_line":"\"\"\"),"},{"line_number":338,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime\u0027,"},{"line_number":339,"context_line":"               default\u003d500,"},{"line_number":340,"context_line":"               min\u003d0,"},{"line_number":341,"context_line":"               help\u003d\"\"\""},{"line_number":342,"context_line":"Maximum permitted downtime, in milliseconds, for live migration"},{"line_number":343,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_e0d27aff","line":340,"in_reply_to":"9ad45d7e_114bc788","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":347,"context_line":""},{"line_number":348,"context_line":"* Integer value (default is 500)."},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"Related options:"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":353,"context_line":"migration."},{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_steps\u0027,"},{"line_number":356,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_0c09eedd","line":353,"range":{"start_line":350,"start_character":0,"end_line":353,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":347,"context_line":""},{"line_number":348,"context_line":"* Integer value (default is 500)."},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"Related options:"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":353,"context_line":"migration."},{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_steps\u0027,"},{"line_number":356,"context_line":"               default\u003d10,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_7d9d9158","line":353,"range":{"start_line":350,"start_character":0,"end_line":353,"end_character":10},"in_reply_to":"9ad45d7e_0c09eedd","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_steps\u0027,"},{"line_number":356,"context_line":"               default\u003d10,"},{"line_number":357,"context_line":"               min\u003d0,"},{"line_number":358,"context_line":"               help\u003d\"\"\""},{"line_number":359,"context_line":"Number of incremental steps to reach max downtime value. Will be rounded up"},{"line_number":360,"context_line":"to a minimum of %d steps."}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_4c0da636","line":357,"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets not add this as its misleading.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_steps\u0027,"},{"line_number":356,"context_line":"               default\u003d10,"},{"line_number":357,"context_line":"               min\u003d0,"},{"line_number":358,"context_line":"               help\u003d\"\"\""},{"line_number":359,"context_line":"Number of incremental steps to reach max downtime value. Will be rounded up"},{"line_number":360,"context_line":"to a minimum of %d steps."}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_4008a691","line":357,"in_reply_to":"9ad45d7e_4c0da636","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":363,"context_line":""},{"line_number":364,"context_line":"* Integer value (default is 0)."},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"Related options:"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":369,"context_line":"migration."},{"line_number":370,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":371,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_delay\u0027,"},{"line_number":372,"context_line":"               default\u003d75,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_acfa62bb","line":369,"range":{"start_line":366,"start_character":0,"end_line":369,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":363,"context_line":""},{"line_number":364,"context_line":"* Integer value (default is 0)."},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"Related options:"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":369,"context_line":"migration."},{"line_number":370,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":371,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_delay\u0027,"},{"line_number":372,"context_line":"               default\u003d75,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_5db7edd7","line":369,"range":{"start_line":366,"start_character":0,"end_line":369,"end_character":10},"in_reply_to":"9ad45d7e_acfa62bb","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":370,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":371,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_delay\u0027,"},{"line_number":372,"context_line":"               default\u003d75,"},{"line_number":373,"context_line":"               min\u003d0,"},{"line_number":374,"context_line":"               help\u003d\"\"\""},{"line_number":375,"context_line":"Time to wait, in seconds, between each step increase of the migration"},{"line_number":376,"context_line":"downtime. Minimum delay is %d seconds. Value is per GiB of guest RAM"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_ec1e1a62","line":373,"updated":"2016-08-09 13:24:19.000000000","message":"as above.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":370,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":371,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_delay\u0027,"},{"line_number":372,"context_line":"               default\u003d75,"},{"line_number":373,"context_line":"               min\u003d0,"},{"line_number":374,"context_line":"               help\u003d\"\"\""},{"line_number":375,"context_line":"Time to wait, in seconds, between each step increase of the migration"},{"line_number":376,"context_line":"downtime. Minimum delay is %d seconds. Value is per GiB of guest RAM"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_e0f9da81","line":373,"in_reply_to":"9ad45d7e_ec1e1a62","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"* Integer value (default is 75)."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"Related options:"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":386,"context_line":"migration."},{"line_number":387,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":388,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":389,"context_line":"               default\u003d800,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_ec045ac1","line":386,"range":{"start_line":383,"start_character":0,"end_line":386,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"* Integer value (default is 75)."},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"Related options:"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":386,"context_line":"migration."},{"line_number":387,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":388,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":389,"context_line":"               default\u003d800,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_bdc6e946","line":386,"range":{"start_line":383,"start_character":0,"end_line":386,"end_character":10},"in_reply_to":"9ad45d7e_ec045ac1","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":395,"context_line":"be transferred, with lower bound of a minimum of 2 GiB. Should usually be"},{"line_number":396,"context_line":"larger than downtime delay * downtime steps. Set to 0 to disable timeouts."},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"Possible values:"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"* Integer value (default is 800)."},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Related options:"},{"line_number":403,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_4c72c6ae","line":400,"range":{"start_line":398,"start_character":0,"end_line":400,"end_character":33},"updated":"2016-08-09 13:24:19.000000000","message":"Nit: Lets drop this, unless you include the detail about 0 disabling timeouts.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":395,"context_line":"be transferred, with lower bound of a minimum of 2 GiB. Should usually be"},{"line_number":396,"context_line":"larger than downtime delay * downtime steps. Set to 0 to disable timeouts."},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"Possible values:"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"* Integer value (default is 800)."},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Related options:"},{"line_number":403,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_3de159d1","line":400,"range":{"start_line":398,"start_character":0,"end_line":400,"end_character":33},"in_reply_to":"9ad45d7e_4c72c6ae","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":399,"context_line":""},{"line_number":400,"context_line":"* Integer value (default is 800)."},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Related options:"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":405,"context_line":"migration."},{"line_number":406,"context_line":"\"\"\"),"},{"line_number":407,"context_line":"    cfg.IntOpt(\u0027live_migration_progress_timeout\u0027,"},{"line_number":408,"context_line":"               default\u003d150,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_2c2dd246","line":405,"range":{"start_line":402,"start_character":0,"end_line":405,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":399,"context_line":""},{"line_number":400,"context_line":"* Integer value (default is 800)."},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Related options:"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":405,"context_line":"migration."},{"line_number":406,"context_line":"\"\"\"),"},{"line_number":407,"context_line":"    cfg.IntOpt(\u0027live_migration_progress_timeout\u0027,"},{"line_number":408,"context_line":"               default\u003d150,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_7debd1b0","line":405,"range":{"start_line":402,"start_character":0,"end_line":405,"end_character":10},"in_reply_to":"9ad45d7e_2c2dd246","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":412,"context_line":"Time to wait, in seconds, for migration to make forward progress in"},{"line_number":413,"context_line":"transferring data before aborting the operation. Set to 0 to disable timeouts."},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"Possible values:"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"* Integer value (default is 150)."},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"Related options:"},{"line_number":420,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_ec63bada","line":417,"range":{"start_line":415,"start_character":0,"end_line":417,"end_character":33},"updated":"2016-08-09 13:24:19.000000000","message":"Nit: as above, we should describe what 0 means here.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":412,"context_line":"Time to wait, in seconds, for migration to make forward progress in"},{"line_number":413,"context_line":"transferring data before aborting the operation. Set to 0 to disable timeouts."},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"Possible values:"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"* Integer value (default is 150)."},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"Related options:"},{"line_number":420,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_bd3b8937","line":417,"range":{"start_line":415,"start_character":0,"end_line":417,"end_character":33},"in_reply_to":"9ad45d7e_ec63bada","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":416,"context_line":""},{"line_number":417,"context_line":"* Integer value (default is 150)."},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"Related options:"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":422,"context_line":"migration."},{"line_number":423,"context_line":"\"\"\"),"},{"line_number":424,"context_line":"    cfg.BoolOpt(\u0027live_migration_permit_post_copy\u0027,"},{"line_number":425,"context_line":"                default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_8c1cbe14","line":422,"range":{"start_line":419,"start_character":0,"end_line":422,"end_character":10},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":416,"context_line":""},{"line_number":417,"context_line":"* Integer value (default is 150)."},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"Related options:"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"* ``virt_type``: Influences which hypervisor is used that support live"},{"line_number":422,"context_line":"migration."},{"line_number":423,"context_line":"\"\"\"),"},{"line_number":424,"context_line":"    cfg.BoolOpt(\u0027live_migration_permit_post_copy\u0027,"},{"line_number":425,"context_line":"                default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_1d4bb5ca","line":422,"range":{"start_line":419,"start_character":0,"end_line":422,"end_character":10},"in_reply_to":"9ad45d7e_8c1cbe14","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    cfg.StrOpt(\u0027snapshot_image_format\u0027,"},{"line_number":463,"context_line":"               choices\u003d(\u0027raw\u0027, \u0027qcow2\u0027, \u0027vmdk\u0027, \u0027vdi\u0027),"},{"line_number":464,"context_line":"               help\u003d\"\"\""},{"line_number":465,"context_line":"Snapshot image format. Defaults to same as source image."},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"Possible values:"},{"line_number":468,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_8cd95e86","line":465,"updated":"2016-08-09 13:24:19.000000000","message":"This seems a bit terse. I assume, if set, this decides what format is used when sending the snapshot to glance.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    cfg.StrOpt(\u0027snapshot_image_format\u0027,"},{"line_number":463,"context_line":"               choices\u003d(\u0027raw\u0027, \u0027qcow2\u0027, \u0027vmdk\u0027, \u0027vdi\u0027),"},{"line_number":464,"context_line":"               help\u003d\"\"\""},{"line_number":465,"context_line":"Snapshot image format. Defaults to same as source image."},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"Possible values:"},{"line_number":468,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_e0039a40","line":465,"in_reply_to":"9ad45d7e_8cd95e86","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":469,"context_line":"* ``raw``: RAW disk format"},{"line_number":470,"context_line":"* ``qcow2``: KVM default disk format"},{"line_number":471,"context_line":"* ``vmdk``: VMWare default disk format"},{"line_number":472,"context_line":"* ``vdi``: VirtualBox default disk format"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"Related options:"},{"line_number":475,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_6c7d0a6e","line":472,"updated":"2016-08-09 13:24:19.000000000","message":"We should note in here that not setting the configuration makes it default to same type as the source image.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":469,"context_line":"* ``raw``: RAW disk format"},{"line_number":470,"context_line":"* ``qcow2``: KVM default disk format"},{"line_number":471,"context_line":"* ``vmdk``: VMWare default disk format"},{"line_number":472,"context_line":"* ``vdi``: VirtualBox default disk format"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"Related options:"},{"line_number":475,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_c0fe5637","line":472,"in_reply_to":"9ad45d7e_6c7d0a6e","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c54a4847c5ecb5f157ebc3ae9f8ea53ee33d8afe","unresolved":false,"context_lines":[{"line_number":471,"context_line":"* ``vmdk``: VMWare default disk format"},{"line_number":472,"context_line":"* ``vdi``: VirtualBox default disk format"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"Related options:"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"* ``virt_type``: Influences which hypervisor is used, which determines"},{"line_number":477,"context_line":"  the suitable image format."},{"line_number":478,"context_line":"\"\"\"),"},{"line_number":479,"context_line":"    cfg.StrOpt(\u0027disk_prefix\u0027,"},{"line_number":480,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_2cd4b21e","line":477,"range":{"start_line":474,"start_character":0,"end_line":477,"end_character":28},"updated":"2016-08-09 13:24:19.000000000","message":"As above, lets drop this.","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"f4b82137245820104217748154e6109ff207d75f","unresolved":false,"context_lines":[{"line_number":471,"context_line":"* ``vmdk``: VMWare default disk format"},{"line_number":472,"context_line":"* ``vdi``: VirtualBox default disk format"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"Related options:"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"* ``virt_type``: Influences which hypervisor is used, which determines"},{"line_number":477,"context_line":"  the suitable image format."},{"line_number":478,"context_line":"\"\"\"),"},{"line_number":479,"context_line":"    cfg.StrOpt(\u0027disk_prefix\u0027,"},{"line_number":480,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":11,"id":"9ad45d7e_3d1679a7","line":477,"range":{"start_line":474,"start_character":0,"end_line":477,"end_character":28},"in_reply_to":"9ad45d7e_2cd4b21e","updated":"2016-08-10 03:32:48.000000000","message":"Done","commit_id":"46200a1569317c62a1660bd04c51df26c6068aaa"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"b69f31f4a9280b87728508cf6a2c27f82b063492","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None (default) or validated IP address, hostname"},{"line_number":251,"context_line":"\"\"\"),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":253,"context_line":"               help\u003d\"\"\""},{"line_number":254,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":255,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_17052545","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":14},"updated":"2016-08-10 19:01:50.000000000","message":"This can be URI opt.","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"c45bc8ff35903ce299bf54a1ec5a77bac621422f","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None (default) or validated IP address, hostname"},{"line_number":251,"context_line":"\"\"\"),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":253,"context_line":"               help\u003d\"\"\""},{"line_number":254,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":255,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_eb6fc0f9","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":14},"in_reply_to":"9ad45d7e_17052545","updated":"2016-08-11 01:38:37.000000000","message":"in case of setting to None, rfc3986 validator will return False, so I prefer set this to StrOpt.","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"92c4393114f30f97151c6309f17f13b41bb507cb","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None (default) or validated IP address, hostname"},{"line_number":251,"context_line":"\"\"\"),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":253,"context_line":"               help\u003d\"\"\""},{"line_number":254,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":255,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_3a50db31","line":252,"range":{"start_line":252,"start_character":8,"end_line":252,"end_character":14},"in_reply_to":"9ad45d7e_eb6fc0f9","updated":"2016-08-11 15:14:14.000000000","message":"You are correct, sir. Unit tests are failing if this one is changed to URIOpt. My bad!","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9c76c1aa2267038095b0ff20f455faf275110eb6","unresolved":false,"context_lines":[{"line_number":262,"context_line":"Related options:"},{"line_number":263,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"},{"line_number":264,"context_line":"is not None, the ip/hostname address is used instead of ``live_migration_uri``"},{"line_number":265,"context_line":"as the uri for live migration."},{"line_number":266,"context_line":"\"\"\"),"},{"line_number":267,"context_line":"    cfg.StrOpt(\u0027live_migration_flag\u0027,"},{"line_number":268,"context_line":"               default\u003d\u0027VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, \u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_0957db58","line":265,"updated":"2016-08-10 14:24:20.000000000","message":"Nit: I think that cloud be clearer that its talking about what is used as the hostname substitution in the option, but I don\u0027t want to block on that.","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"c45bc8ff35903ce299bf54a1ec5a77bac621422f","unresolved":false,"context_lines":[{"line_number":262,"context_line":"Related options:"},{"line_number":263,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"},{"line_number":264,"context_line":"is not None, the ip/hostname address is used instead of ``live_migration_uri``"},{"line_number":265,"context_line":"as the uri for live migration."},{"line_number":266,"context_line":"\"\"\"),"},{"line_number":267,"context_line":"    cfg.StrOpt(\u0027live_migration_flag\u0027,"},{"line_number":268,"context_line":"               default\u003d\u0027VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, \u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_e62257a2","line":265,"in_reply_to":"9ad45d7e_0957db58","updated":"2016-08-11 01:38:37.000000000","message":"Done","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"ba24f1471e82790f799eadb7573741b907824b9f","unresolved":false,"context_lines":[{"line_number":321,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"},{"line_number":322,"context_line":"value if guest liveness is unimportant."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"Possible values:"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"* Integer value (default is 500)."},{"line_number":327,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":328,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_steps is"},{"line_number":329,"context_line":"    # LIVE_MIGRATION_DOWNTIME_STEPS_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_a704e617","line":326,"range":{"start_line":324,"start_character":0,"end_line":326,"end_character":32},"updated":"2016-08-10 21:14:59.000000000","message":"drop this","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"345b009f6bca17d0df7eb2aa3576b18db828bf35","unresolved":false,"context_lines":[{"line_number":321,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"},{"line_number":322,"context_line":"value if guest liveness is unimportant."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"Possible values:"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"* Integer value (default is 500)."},{"line_number":327,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":328,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_steps is"},{"line_number":329,"context_line":"    # LIVE_MIGRATION_DOWNTIME_STEPS_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_10379c4d","line":326,"range":{"start_line":324,"start_character":0,"end_line":326,"end_character":32},"in_reply_to":"9ad45d7e_4592144d","updated":"2016-08-12 01:04:19.000000000","message":"Done","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"c45bc8ff35903ce299bf54a1ec5a77bac621422f","unresolved":false,"context_lines":[{"line_number":321,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"},{"line_number":322,"context_line":"value if guest liveness is unimportant."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"Possible values:"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"* Integer value (default is 500)."},{"line_number":327,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":328,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_steps is"},{"line_number":329,"context_line":"    # LIVE_MIGRATION_DOWNTIME_STEPS_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_ab502833","line":326,"range":{"start_line":324,"start_character":0,"end_line":326,"end_character":32},"in_reply_to":"9ad45d7e_a704e617","updated":"2016-08-11 01:38:37.000000000","message":"There is no need to drop this because the sample config will not show the default value.","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0e37051e85cacd497fa9e60218479aaf8f531442","unresolved":false,"context_lines":[{"line_number":321,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"},{"line_number":322,"context_line":"value if guest liveness is unimportant."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"Possible values:"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"* Integer value (default is 500)."},{"line_number":327,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":328,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_steps is"},{"line_number":329,"context_line":"    # LIVE_MIGRATION_DOWNTIME_STEPS_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_4592144d","line":326,"range":{"start_line":324,"start_character":0,"end_line":326,"end_character":32},"in_reply_to":"9ad45d7e_ab502833","updated":"2016-08-11 15:25:40.000000000","message":"So these defaults do get generated in sample file, bottom line for each option is default value. o/p from sample file:\n\n# Maximum permitted downtime, in milliseconds, for live migration\n# switchover. Will be rounded up to a minimum of 100ms. Use a large\n# value if guest liveness is unimportant.\n#\n# Possible values:\n#\n# * Integer value (default is 500).\n#  (integer value)\n#live_migration_downtime \u003d 500\n\nSo I think this should be dropped.","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"ba24f1471e82790f799eadb7573741b907824b9f","unresolved":false,"context_lines":[{"line_number":334,"context_line":"Number of incremental steps to reach max downtime value. Will be rounded up"},{"line_number":335,"context_line":"to a minimum of %d steps."},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"Possible values:"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"* Integer value (default is 0)."},{"line_number":340,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":341,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_delay is"},{"line_number":342,"context_line":"    # LIVE_MIGRATION_DOWNTIME_DELAY_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_022320a8","line":339,"range":{"start_line":337,"start_character":0,"end_line":339,"end_character":31},"updated":"2016-08-10 21:14:59.000000000","message":"drop this. Isn\u0027t default 10?","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"c45bc8ff35903ce299bf54a1ec5a77bac621422f","unresolved":false,"context_lines":[{"line_number":334,"context_line":"Number of incremental steps to reach max downtime value. Will be rounded up"},{"line_number":335,"context_line":"to a minimum of %d steps."},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"Possible values:"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"* Integer value (default is 0)."},{"line_number":340,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":341,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_delay is"},{"line_number":342,"context_line":"    # LIVE_MIGRATION_DOWNTIME_DELAY_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_4b608c01","line":339,"range":{"start_line":337,"start_character":0,"end_line":339,"end_character":31},"in_reply_to":"9ad45d7e_022320a8","updated":"2016-08-11 01:38:37.000000000","message":"yeah, will edit this but I still prefer to keep this section","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0e37051e85cacd497fa9e60218479aaf8f531442","unresolved":false,"context_lines":[{"line_number":334,"context_line":"Number of incremental steps to reach max downtime value. Will be rounded up"},{"line_number":335,"context_line":"to a minimum of %d steps."},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"Possible values:"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"* Integer value (default is 0)."},{"line_number":340,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":341,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_delay is"},{"line_number":342,"context_line":"    # LIVE_MIGRATION_DOWNTIME_DELAY_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_85988c6b","line":339,"range":{"start_line":337,"start_character":0,"end_line":339,"end_character":31},"in_reply_to":"9ad45d7e_4b608c01","updated":"2016-08-11 15:25:40.000000000","message":"same comment","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"345b009f6bca17d0df7eb2aa3576b18db828bf35","unresolved":false,"context_lines":[{"line_number":334,"context_line":"Number of incremental steps to reach max downtime value. Will be rounded up"},{"line_number":335,"context_line":"to a minimum of %d steps."},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"Possible values:"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"* Integer value (default is 0)."},{"line_number":340,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":341,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_delay is"},{"line_number":342,"context_line":"    # LIVE_MIGRATION_DOWNTIME_DELAY_MIN but adding this to IntOpt min value"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_d0306458","line":339,"range":{"start_line":337,"start_character":0,"end_line":339,"end_character":31},"in_reply_to":"9ad45d7e_85988c6b","updated":"2016-08-12 01:04:19.000000000","message":"Done","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"ba24f1471e82790f799eadb7573741b907824b9f","unresolved":false,"context_lines":[{"line_number":348,"context_line":"downtime. Minimum delay is %d seconds. Value is per GiB of guest RAM"},{"line_number":349,"context_line":"+ disk to be transferred, with lower bound of a minimum of 2 GiB per device."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"Possible values:"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"* Integer value (default is 75)."},{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":356,"context_line":"               default\u003d800,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_822f1087","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":32},"updated":"2016-08-10 21:14:59.000000000","message":"drop this","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"345b009f6bca17d0df7eb2aa3576b18db828bf35","unresolved":false,"context_lines":[{"line_number":348,"context_line":"downtime. Minimum delay is %d seconds. Value is per GiB of guest RAM"},{"line_number":349,"context_line":"+ disk to be transferred, with lower bound of a minimum of 2 GiB per device."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"Possible values:"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"* Integer value (default is 75)."},{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":356,"context_line":"               default\u003d800,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_f02da8fe","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":32},"in_reply_to":"9ad45d7e_05adbc87","updated":"2016-08-12 01:04:19.000000000","message":"Done","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0e37051e85cacd497fa9e60218479aaf8f531442","unresolved":false,"context_lines":[{"line_number":348,"context_line":"downtime. Minimum delay is %d seconds. Value is per GiB of guest RAM"},{"line_number":349,"context_line":"+ disk to be transferred, with lower bound of a minimum of 2 GiB per device."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"Possible values:"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"* Integer value (default is 75)."},{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":356,"context_line":"               default\u003d800,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_05adbc87","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":32},"in_reply_to":"9ad45d7e_2b5d5847","updated":"2016-08-11 15:25:40.000000000","message":"same","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"c45bc8ff35903ce299bf54a1ec5a77bac621422f","unresolved":false,"context_lines":[{"line_number":348,"context_line":"downtime. Minimum delay is %d seconds. Value is per GiB of guest RAM"},{"line_number":349,"context_line":"+ disk to be transferred, with lower bound of a minimum of 2 GiB per device."},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"Possible values:"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"* Integer value (default is 75)."},{"line_number":354,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":355,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":356,"context_line":"               default\u003d800,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_2b5d5847","line":353,"range":{"start_line":351,"start_character":0,"end_line":353,"end_character":32},"in_reply_to":"9ad45d7e_822f1087","updated":"2016-08-11 01:38:37.000000000","message":"as above, I prefer to keep this.","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"ba24f1471e82790f799eadb7573741b907824b9f","unresolved":false,"context_lines":[{"line_number":549,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"},{"line_number":550,"context_line":"    you may need to search key words ``VIR_PERF_PARAM_*``"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"* Related options:"},{"line_number":553,"context_line":"    None"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"\"\"\"),"},{"line_number":556,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_42407834","line":553,"range":{"start_line":552,"start_character":0,"end_line":553,"end_character":8},"updated":"2016-08-10 21:14:59.000000000","message":"drop this","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"345b009f6bca17d0df7eb2aa3576b18db828bf35","unresolved":false,"context_lines":[{"line_number":549,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"},{"line_number":550,"context_line":"    you may need to search key words ``VIR_PERF_PARAM_*``"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"* Related options:"},{"line_number":553,"context_line":"    None"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"\"\"\"),"},{"line_number":556,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_90ec2cbc","line":553,"range":{"start_line":552,"start_character":0,"end_line":553,"end_character":8},"in_reply_to":"9ad45d7e_42407834","updated":"2016-08-12 01:04:19.000000000","message":"Done","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"c45bc8ff35903ce299bf54a1ec5a77bac621422f","unresolved":false,"context_lines":[{"line_number":549,"context_line":"    https://libvirt.org/html/libvirt-libvirt-domain.html , which"},{"line_number":550,"context_line":"    you may need to search key words ``VIR_PERF_PARAM_*``"},{"line_number":551,"context_line":""},{"line_number":552,"context_line":"* Related options:"},{"line_number":553,"context_line":"    None"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"\"\"\"),"},{"line_number":556,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":12,"id":"9ad45d7e_ab3788fd","line":553,"range":{"start_line":552,"start_character":0,"end_line":553,"end_character":8},"in_reply_to":"9ad45d7e_42407834","updated":"2016-08-11 01:38:37.000000000","message":"this section is out of this patch, but I think it\u0027s OK to drop this. So thank you, fixed.","commit_id":"19b9adefe9736f53c051815604c4a556074ad0f1"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Libvirt options allows cloud administrator to configure related"},{"line_number":40,"context_line":"libvirt hypervisor driver to be used within an OpenStack deployment."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Almost the libvirt config options are influence by ``virt_type`` config which"},{"line_number":43,"context_line":"describes the virtualization type (or so called domain type) libvirt should"},{"line_number":44,"context_line":"use for specific features such as live migration, snapshot."},{"line_number":45,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_f35d9b7a","line":42,"range":{"start_line":42,"start_character":7,"end_line":42,"end_character":10},"updated":"2016-08-12 12:18:27.000000000","message":"s/the/all of the\n\nnote: I\u0027m not an English native speaker, just an educated guess","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Libvirt options allows cloud administrator to configure related"},{"line_number":40,"context_line":"libvirt hypervisor driver to be used within an OpenStack deployment."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Almost the libvirt config options are influence by ``virt_type`` config which"},{"line_number":43,"context_line":"describes the virtualization type (or so called domain type) libvirt should"},{"line_number":44,"context_line":"use for specific features such as live migration, snapshot."},{"line_number":45,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_5a0c7a42","line":42,"range":{"start_line":42,"start_character":7,"end_line":42,"end_character":10},"in_reply_to":"9ad45d7e_f35d9b7a","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"If this option is set to None, which is the default, the hostname of the"},{"line_number":246,"context_line":"migration target compute node will be used."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"Possible values:"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None (default) or validated IP address, hostname"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_06af4f7e","line":247,"updated":"2016-08-12 12:18:27.000000000","message":"Maybe add: \n\n\"Using this is useful in environments where the live-migration traffic can impact the network plane significantly. A separate network for live-migration traffic can then use this config option and avoids the impact on the management network.\"\n\nI used this spec as background: https://review.openstack.org/#/c/194990/8/specs/mitaka/approved/split-network-plane-for-live-migration.rst","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"If this option is set to None, which is the default, the hostname of the"},{"line_number":246,"context_line":"migration target compute node will be used."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"Possible values:"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None (default) or validated IP address, hostname"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_9a06f21e","line":247,"in_reply_to":"9ad45d7e_06af4f7e","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"Possible values:"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None (default) or validated IP address, hostname"},{"line_number":251,"context_line":"\"\"\"),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":253,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_66456bb2","line":250,"range":{"start_line":250,"start_character":20,"end_line":250,"end_character":29},"updated":"2016-08-12 12:18:27.000000000","message":"nit: could be removed I guess","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":247,"context_line":""},{"line_number":248,"context_line":"Possible values:"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None (default) or validated IP address, hostname"},{"line_number":251,"context_line":"\"\"\"),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":253,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_7a033610","line":250,"range":{"start_line":250,"start_character":20,"end_line":250,"end_character":29},"in_reply_to":"9ad45d7e_66456bb2","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":253,"context_line":"               help\u003d\"\"\""},{"line_number":254,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":255,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"},{"line_number":256,"context_line":"hostname."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Possible values:"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_09aac085","line":256,"updated":"2016-08-12 12:18:27.000000000","message":"I\u0027m a little torn if we should write here what our default values are [1]. Without that knowledge the users don\u0027t know if they should override that. But when we write the defaults here, then the docs here could differ from the actual value over time. But the change shouldn\u0027t happen so often I guess? Would love to here another opinion on this.\n\n[1] https://github.com/openstack/nova/blob/a059c8453ea3739e45ea1cc56eacc82603a25b0f/nova/virt/libvirt/driver.py#L728-L730","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":253,"context_line":"               help\u003d\"\"\""},{"line_number":254,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":255,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"},{"line_number":256,"context_line":"hostname."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Possible values:"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_35f54f83","line":256,"in_reply_to":"9ad45d7e_09aac085","updated":"2016-08-15 02:43:38.000000000","message":"Basically, I think we should add the below statement:\n\n\"\"\"\nIf this option is set to None (which is the default), Nova will automatically generate the `live_migration_uri` value based on only 3 supported `virt_type` in following list:\n* \u0027kvm\u0027: \u0027qemu+tcp://%s/system\u0027\n* \u0027qemu\u0027: \u0027qemu+tcp://%s/system\u0027\n* \u0027xen\u0027: \u0027xenmigr://%s/system\u0027\n\n\"\"\"","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":301,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":302,"context_line":"* Not set: fallback to what is set in either ``live_migration_flag`` or"},{"line_number":303,"context_line":"  ``block_migration_flag`` based on the type of migration happening."},{"line_number":304,"context_line":"\"\"\"),"},{"line_number":305,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":306,"context_line":"               default\u003d0,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_24a40b07","line":303,"range":{"start_line":302,"start_character":0,"end_line":303,"end_character":68},"updated":"2016-08-12 12:18:27.000000000","message":"I think this is only true for the transition period until the deprecated \"live_migration_flag\" gets removed [1]. IOW, I would rephrase that as:\n\n    \"Supersedes and (if set) overrides the deprecated \n    \u0027live_migration_flag\u0027 and \u0027block_migration_flag\u0027 \n    to enable tunneled migration.\n\n[1] https://github.com/openstack/nova/commit/621594f#diff-f4019782d93a196a0d026479e6aa61b1R706","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":301,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":302,"context_line":"* Not set: fallback to what is set in either ``live_migration_flag`` or"},{"line_number":303,"context_line":"  ``block_migration_flag`` based on the type of migration happening."},{"line_number":304,"context_line":"\"\"\"),"},{"line_number":305,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":306,"context_line":"               default\u003d0,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_d5eddb8f","line":303,"range":{"start_line":302,"start_character":0,"end_line":303,"end_character":68},"in_reply_to":"9ad45d7e_24a40b07","updated":"2016-08-15 02:43:38.000000000","message":"great, thank you markus_z","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":304,"context_line":"\"\"\"),"},{"line_number":305,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":306,"context_line":"               default\u003d0,"},{"line_number":307,"context_line":"               min\u003d0,"},{"line_number":308,"context_line":"               help\u003d\"\"\""},{"line_number":309,"context_line":"Maximum bandwidth(in MiB/s) to be used during migration. If set to 0,"},{"line_number":310,"context_line":"will choose a suitable default. Some hypervisors do not support this"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_44477f1d","line":307,"range":{"start_line":307,"start_character":15,"end_line":307,"end_character":21},"updated":"2016-08-12 12:18:27.000000000","message":"I would keep that out of this change. The commit message also says that only help texts will get changed.","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b06872e773bf3a5ae723181d8e7eb26ecaa94f35","unresolved":false,"context_lines":[{"line_number":304,"context_line":"\"\"\"),"},{"line_number":305,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":306,"context_line":"               default\u003d0,"},{"line_number":307,"context_line":"               min\u003d0,"},{"line_number":308,"context_line":"               help\u003d\"\"\""},{"line_number":309,"context_line":"Maximum bandwidth(in MiB/s) to be used during migration. If set to 0,"},{"line_number":310,"context_line":"will choose a suitable default. Some hypervisors do not support this"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_57bb9875","line":307,"range":{"start_line":307,"start_character":15,"end_line":307,"end_character":21},"in_reply_to":"9ad45d7e_44477f1d","updated":"2016-08-12 18:29:24.000000000","message":"+1","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":304,"context_line":"\"\"\"),"},{"line_number":305,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":306,"context_line":"               default\u003d0,"},{"line_number":307,"context_line":"               min\u003d0,"},{"line_number":308,"context_line":"               help\u003d\"\"\""},{"line_number":309,"context_line":"Maximum bandwidth(in MiB/s) to be used during migration. If set to 0,"},{"line_number":310,"context_line":"will choose a suitable default. Some hypervisors do not support this"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_35ff0f36","line":307,"range":{"start_line":307,"start_character":15,"end_line":307,"end_character":21},"in_reply_to":"9ad45d7e_57bb9875","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":311,"context_line":"feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":312,"context_line":"to the libvirt documentation for further details."},{"line_number":313,"context_line":"\"\"\"),"},{"line_number":314,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime is"},{"line_number":315,"context_line":"    # LIVE_MIGRATION_DOWNTIME_MIN but adding this to IntOpt min value"},{"line_number":316,"context_line":"    # can break upgrades."},{"line_number":317,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime\u0027,"},{"line_number":318,"context_line":"               default\u003d500,"},{"line_number":319,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_24aa4b86","line":316,"range":{"start_line":314,"start_character":6,"end_line":316,"end_character":25},"updated":"2016-08-12 12:18:27.000000000","message":"yeah, I would do that change when Ocata opens. The impact would be to big at this point in time. Adding the TODO is good.","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":342,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":343,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":344,"context_line":"               default\u003d800,"},{"line_number":345,"context_line":"               min\u003d0,"},{"line_number":346,"context_line":"               mutable\u003dTrue,"},{"line_number":347,"context_line":"               help\u003d\"\"\""},{"line_number":348,"context_line":"Time to wait, in seconds, for migration to successfully complete transferring"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_c41b6f7f","line":345,"range":{"start_line":345,"start_character":15,"end_line":345,"end_character":21},"updated":"2016-08-12 12:18:27.000000000","message":"same as line 307","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":342,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":343,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":344,"context_line":"               default\u003d800,"},{"line_number":345,"context_line":"               min\u003d0,"},{"line_number":346,"context_line":"               mutable\u003dTrue,"},{"line_number":347,"context_line":"               help\u003d\"\"\""},{"line_number":348,"context_line":"Time to wait, in seconds, for migration to successfully complete transferring"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_3586efb9","line":345,"range":{"start_line":345,"start_character":15,"end_line":345,"end_character":21},"in_reply_to":"9ad45d7e_17aac019","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b06872e773bf3a5ae723181d8e7eb26ecaa94f35","unresolved":false,"context_lines":[{"line_number":342,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":343,"context_line":"    cfg.IntOpt(\u0027live_migration_completion_timeout\u0027,"},{"line_number":344,"context_line":"               default\u003d800,"},{"line_number":345,"context_line":"               min\u003d0,"},{"line_number":346,"context_line":"               mutable\u003dTrue,"},{"line_number":347,"context_line":"               help\u003d\"\"\""},{"line_number":348,"context_line":"Time to wait, in seconds, for migration to successfully complete transferring"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_17aac019","line":345,"range":{"start_line":345,"start_character":15,"end_line":345,"end_character":21},"in_reply_to":"9ad45d7e_c41b6f7f","updated":"2016-08-12 18:29:24.000000000","message":"Given the issues we are hitting with those +1","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":353,"context_line":"\"\"\"),"},{"line_number":354,"context_line":"    cfg.IntOpt(\u0027live_migration_progress_timeout\u0027,"},{"line_number":355,"context_line":"               default\u003d150,"},{"line_number":356,"context_line":"               min\u003d0,"},{"line_number":357,"context_line":"               mutable\u003dTrue,"},{"line_number":358,"context_line":"               help\u003d\"\"\""},{"line_number":359,"context_line":"Time to wait, in seconds, for migration to make forward progress in"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_640ba32c","line":356,"range":{"start_line":356,"start_character":15,"end_line":356,"end_character":21},"updated":"2016-08-12 12:18:27.000000000","message":"same as line 307","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":353,"context_line":"\"\"\"),"},{"line_number":354,"context_line":"    cfg.IntOpt(\u0027live_migration_progress_timeout\u0027,"},{"line_number":355,"context_line":"               default\u003d150,"},{"line_number":356,"context_line":"               min\u003d0,"},{"line_number":357,"context_line":"               mutable\u003dTrue,"},{"line_number":358,"context_line":"               help\u003d\"\"\""},{"line_number":359,"context_line":"Time to wait, in seconds, for migration to make forward progress in"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_959363fa","line":356,"range":{"start_line":356,"start_character":15,"end_line":356,"end_character":21},"in_reply_to":"9ad45d7e_640ba32c","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":358,"context_line":"               help\u003d\"\"\""},{"line_number":359,"context_line":"Time to wait, in seconds, for migration to make forward progress in"},{"line_number":360,"context_line":"transferring data before aborting the operation. Set to 0 to disable timeouts."},{"line_number":361,"context_line":"Default is 150."},{"line_number":362,"context_line":"\"\"\"),"},{"line_number":363,"context_line":"    cfg.BoolOpt(\u0027live_migration_permit_post_copy\u0027,"},{"line_number":364,"context_line":"                default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_bf50020c","line":361,"range":{"start_line":361,"start_character":0,"end_line":361,"end_character":14},"updated":"2016-08-12 12:18:27.000000000","message":"nit: not necessary, the \"nova.conf.sample\" will generate that and the \"configuration reference\" manual will do that too.\n\nhttp://docs-draft.openstack.org/50/316550/14/check/gate-nova-docs-ubuntu-xenial/1bd1507//doc/build/html/sample_config.html","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"51781bc96cad561fabd9e7684c13e6ebdc0f81b4","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    cfg.StrOpt(\u0027snapshot_image_format\u0027,"},{"line_number":402,"context_line":"               choices\u003d(\u0027raw\u0027, \u0027qcow2\u0027, \u0027vmdk\u0027, \u0027vdi\u0027),"},{"line_number":403,"context_line":"               help\u003d\"\"\""},{"line_number":404,"context_line":"Determine the snapshot image format when sending to Glance."},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"If set, this decided what format is used when sending the snapshot to Glance."},{"line_number":407,"context_line":"If not set, defaults to same type as source image."}],"source_content_type":"text/x-python","patch_set":14,"id":"9ad45d7e_7fe32a34","line":404,"range":{"start_line":404,"start_character":52,"end_line":404,"end_character":58},"updated":"2016-08-12 12:18:27.000000000","message":"nit: maybe keep it generic with \"the image service\".","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e19b17edcd87a4ce17e1dcf19af60bcbfa909d6f","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    cfg.StrOpt(\u0027snapshot_image_format\u0027,"},{"line_number":402,"context_line":"               choices\u003d(\u0027raw\u0027, \u0027qcow2\u0027, \u0027vmdk\u0027, \u0027vdi\u0027),"},{"line_number":403,"context_line":"               help\u003d\"\"\""},{"line_number":404,"context_line":"Determine the snapshot image format when sending to Glance."},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"If set, this decided what format is used when sending the snapshot to Glance."},{"line_number":407,"context_line":"If not set, defaults to same type as source image."}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_15449372","line":404,"range":{"start_line":404,"start_character":52,"end_line":404,"end_character":58},"in_reply_to":"9ad45d7e_7fe32a34","updated":"2016-08-15 02:43:38.000000000","message":"Done","commit_id":"8c07508a442b6ca79cb25f435ce76c34bb102ea0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"9ce3dee89fa61627c352d8e08633efd850036f6a","unresolved":false,"context_lines":[{"line_number":485,"context_line":""},{"line_number":486,"context_line":"* Related options:"},{"line_number":487,"context_line":"    None"},{"line_number":488,"context_line":""},{"line_number":489,"context_line":"\"\"\"),"},{"line_number":490,"context_line":"]"},{"line_number":491,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_30571604","side":"PARENT","line":488,"updated":"2016-08-15 08:06:00.000000000","message":"I\u0027m OK with dropping these section in this change.","commit_id":"bb1609b6e2ca6c6e23ff4408fcef2a34c186db54"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"9ce3dee89fa61627c352d8e08633efd850036f6a","unresolved":false,"context_lines":[{"line_number":263,"context_line":"If this option is set to None (which is the default), Nova will automatically"},{"line_number":264,"context_line":"generate the `live_migration_uri` value based on only 3 supported `virt_type`"},{"line_number":265,"context_line":"in following list:"},{"line_number":266,"context_line":"* \u0027kvm\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":267,"context_line":"* \u0027qemu\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":268,"context_line":"* \u0027xen\u0027: \u0027xenmigr://%s/system\u0027"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"Possible values:"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_253b5aed","line":268,"range":{"start_line":266,"start_character":0,"end_line":268,"end_character":30},"updated":"2016-08-15 08:06:00.000000000","message":"That\u0027s OK to say here IMO. A follow up patch could then extract this to a variable which gets used here and at https://github.com/openstack/nova/blob/a059c8453ea3739e45ea1cc56eacc82603a25b0f/nova/virt/libvirt/driver.py#L728-L730 which would remove the duplicated strings.","commit_id":"e2a98c050f815c62c3995d46fa639b895dee5020"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9f70b4246f4e1594d45612538439f0b61223ed14","unresolved":false,"context_lines":[{"line_number":263,"context_line":"If this option is set to None (which is the default), Nova will automatically"},{"line_number":264,"context_line":"generate the `live_migration_uri` value based on only 3 supported `virt_type`"},{"line_number":265,"context_line":"in following list:"},{"line_number":266,"context_line":"* \u0027kvm\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":267,"context_line":"* \u0027qemu\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":268,"context_line":"* \u0027xen\u0027: \u0027xenmigr://%s/system\u0027"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"Possible values:"},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_591108ac","line":268,"range":{"start_line":266,"start_character":0,"end_line":268,"end_character":30},"in_reply_to":"3ac371cc_253b5aed","updated":"2016-08-15 16:32:20.000000000","message":"Yeah, that is tempting in a follow up. But I suspect its not worth the effort.","commit_id":"e2a98c050f815c62c3995d46fa639b895dee5020"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9f70b4246f4e1594d45612538439f0b61223ed14","unresolved":false,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"Related options:"},{"line_number":275,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"},{"line_number":276,"context_line":"is not None, the ip/hostname address of target compute node is used instead of"},{"line_number":277,"context_line":"``live_migration_uri`` as the uri for live migration."},{"line_number":278,"context_line":"\"\"\"),"},{"line_number":279,"context_line":"    cfg.StrOpt(\u0027live_migration_flag\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_bdb0e5f5","line":276,"range":{"start_line":276,"start_character":0,"end_line":276,"end_character":1},"updated":"2016-08-15 16:32:20.000000000","message":"Nit really should indent here really.","commit_id":"e2a98c050f815c62c3995d46fa639b895dee5020"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"8b330539c2fc68db6b5b5653e088e1194c44ddca","unresolved":false,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"Related options:"},{"line_number":275,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"},{"line_number":276,"context_line":"is not None, the ip/hostname address of target compute node is used instead of"},{"line_number":277,"context_line":"``live_migration_uri`` as the uri for live migration."},{"line_number":278,"context_line":"\"\"\"),"},{"line_number":279,"context_line":"    cfg.StrOpt(\u0027live_migration_flag\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_885597fb","line":276,"range":{"start_line":276,"start_character":0,"end_line":276,"end_character":1},"in_reply_to":"3ac371cc_bdb0e5f5","updated":"2016-08-17 01:10:46.000000000","message":"Done","commit_id":"e2a98c050f815c62c3995d46fa639b895dee5020"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"9ce3dee89fa61627c352d8e08633efd850036f6a","unresolved":false,"context_lines":[{"line_number":411,"context_line":"               help\u003d\"\"\""},{"line_number":412,"context_line":"Determine the snapshot image format when sending to the image service."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"If set, this decided what format is used when sending the snapshot to Glance."},{"line_number":415,"context_line":"If not set, defaults to same type as source image."},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"Possible values:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_d02a027e","line":414,"range":{"start_line":414,"start_character":70,"end_line":414,"end_character":76},"updated":"2016-08-15 08:06:00.000000000","message":"nit: s/Glance/image service\n\nI\u0027m OK to do that in a follow up patch.","commit_id":"e2a98c050f815c62c3995d46fa639b895dee5020"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"8b330539c2fc68db6b5b5653e088e1194c44ddca","unresolved":false,"context_lines":[{"line_number":411,"context_line":"               help\u003d\"\"\""},{"line_number":412,"context_line":"Determine the snapshot image format when sending to the image service."},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"If set, this decided what format is used when sending the snapshot to Glance."},{"line_number":415,"context_line":"If not set, defaults to same type as source image."},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"Possible values:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_084a4755","line":414,"range":{"start_line":414,"start_character":70,"end_line":414,"end_character":76},"in_reply_to":"3ac371cc_d02a027e","updated":"2016-08-17 01:10:46.000000000","message":"Done","commit_id":"e2a98c050f815c62c3995d46fa639b895dee5020"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"ce6fd678a899b3483669e485c8c1df12a59e4e83","unresolved":false,"context_lines":[{"line_number":765,"context_line":""},{"line_number":766,"context_line":"* Related options:"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"    vzstorage_mount_* group of parameters"},{"line_number":769,"context_line":"\"\"\""},{"line_number":770,"context_line":"              ),"},{"line_number":771,"context_line":"    cfg.StrOpt(\u0027vzstorage_log_path\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"3ac371cc_57348cfa","line":768,"range":{"start_line":768,"start_character":3,"end_line":768,"end_character":41},"updated":"2016-08-18 06:58:24.000000000","message":"Why can\u0027t we add it to the group  instead of mentioning it for every option?","commit_id":"8548780242adbd6ba7e0b9e6b6ec5e617f92e9d9"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"32bd5500597e7f9e31257d2fd89231e9d1e30e35","unresolved":false,"context_lines":[{"line_number":765,"context_line":""},{"line_number":766,"context_line":"* Related options:"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"    vzstorage_mount_* group of parameters"},{"line_number":769,"context_line":"\"\"\""},{"line_number":770,"context_line":"              ),"},{"line_number":771,"context_line":"    cfg.StrOpt(\u0027vzstorage_log_path\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"3ac371cc_63846a0a","line":768,"range":{"start_line":768,"start_character":3,"end_line":768,"end_character":41},"in_reply_to":"3ac371cc_57348cfa","updated":"2016-08-18 08:07:06.000000000","message":"yeah, you can do this in next patch-set. This patch-set only focus on improving help text for only live_migrate options :-)","commit_id":"8548780242adbd6ba7e0b9e6b6ec5e617f92e9d9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":244,"context_line":"               help\u003d\"\"\""},{"line_number":245,"context_line":"The IP address or hostname to be used as the target for live migration traffic"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"If this option is set to None, which is the default, the hostname of the"},{"line_number":248,"context_line":"migration target compute node will be used."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Using this is useful in environments where the live-migration traffic can"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_5fcf707e","line":247,"range":{"start_line":247,"start_character":31,"end_line":247,"end_character":53},"updated":"2016-09-13 13:18:01.000000000","message":"nit: you should remove this (it can be inferred)","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":244,"context_line":"               help\u003d\"\"\""},{"line_number":245,"context_line":"The IP address or hostname to be used as the target for live migration traffic"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"If this option is set to None, which is the default, the hostname of the"},{"line_number":248,"context_line":"migration target compute node will be used."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Using this is useful in environments where the live-migration traffic can"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_663464de","line":247,"range":{"start_line":247,"start_character":31,"end_line":247,"end_character":53},"in_reply_to":"9a89bdaa_5fcf707e","updated":"2016-09-22 06:38:25.000000000","message":"Done","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":247,"context_line":"If this option is set to None, which is the default, the hostname of the"},{"line_number":248,"context_line":"migration target compute node will be used."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Using this is useful in environments where the live-migration traffic can"},{"line_number":251,"context_line":"impact the network plane significantly. A separate network for live-migration"},{"line_number":252,"context_line":"traffic can then use this config option and avoids the impact on the"},{"line_number":253,"context_line":"management network."}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_1f7fa817","line":250,"range":{"start_line":250,"start_character":0,"end_line":250,"end_character":13},"updated":"2016-09-13 13:18:01.000000000","message":"This option is","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":247,"context_line":"If this option is set to None, which is the default, the hostname of the"},{"line_number":248,"context_line":"migration target compute node will be used."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Using this is useful in environments where the live-migration traffic can"},{"line_number":251,"context_line":"impact the network plane significantly. A separate network for live-migration"},{"line_number":252,"context_line":"traffic can then use this config option and avoids the impact on the"},{"line_number":253,"context_line":"management network."}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_865fb00d","line":250,"range":{"start_line":250,"start_character":0,"end_line":250,"end_character":13},"in_reply_to":"9a89bdaa_1f7fa817","updated":"2016-09-22 06:38:25.000000000","message":"Done","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Possible values:"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"* None (default) or IP address, hostname"},{"line_number":258,"context_line":"\"\"\"),"},{"line_number":259,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":260,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_5fa4d0a4","line":257,"range":{"start_line":257,"start_character":2,"end_line":257,"end_character":40},"updated":"2016-09-13 13:18:01.000000000","message":"How about:\n\n    * A valid IP address or hostname, else None","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Possible values:"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"* None (default) or IP address, hostname"},{"line_number":258,"context_line":"\"\"\"),"},{"line_number":259,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":260,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_e6a4f409","line":257,"range":{"start_line":257,"start_character":2,"end_line":257,"end_character":40},"in_reply_to":"9a89bdaa_5fa4d0a4","updated":"2016-09-22 06:38:25.000000000","message":"Done","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":258,"context_line":"\"\"\"),"},{"line_number":259,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":260,"context_line":"               help\u003d\"\"\""},{"line_number":261,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":262,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"},{"line_number":263,"context_line":"hostname."},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_1fe408de","line":261,"updated":"2016-09-13 13:18:01.000000000","message":"Can you add a summary line before this. Something like:\n\n    Live migration target URI to use\n\nwould work","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":258,"context_line":"\"\"\"),"},{"line_number":259,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":260,"context_line":"               help\u003d\"\"\""},{"line_number":261,"context_line":"Override the default libvirt live migration target URI (which is dependent"},{"line_number":262,"context_line":"on virt_type). Any included \"%s\" is replaced with the migration target"},{"line_number":263,"context_line":"hostname."},{"line_number":264,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_0681e04a","line":261,"in_reply_to":"9a89bdaa_1fe408de","updated":"2016-09-22 06:38:25.000000000","message":"Done","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":265,"context_line":"If this option is set to None (which is the default), Nova will automatically"},{"line_number":266,"context_line":"generate the `live_migration_uri` value based on only 3 supported `virt_type`"},{"line_number":267,"context_line":"in following list:"},{"line_number":268,"context_line":"* \u0027kvm\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":269,"context_line":"* \u0027qemu\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":270,"context_line":"* \u0027xen\u0027: \u0027xenmigr://%s/system\u0027"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"Possible values:"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_7a93625b","line":270,"range":{"start_line":268,"start_character":0,"end_line":270,"end_character":30},"updated":"2016-09-13 13:18:01.000000000","message":"Could we validate this with a regex? Maybe add a TODO?","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"26bbdbe23e96e04951f52aa7cdb72adbbb38df79","unresolved":false,"context_lines":[{"line_number":265,"context_line":"If this option is set to None (which is the default), Nova will automatically"},{"line_number":266,"context_line":"generate the `live_migration_uri` value based on only 3 supported `virt_type`"},{"line_number":267,"context_line":"in following list:"},{"line_number":268,"context_line":"* \u0027kvm\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":269,"context_line":"* \u0027qemu\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":270,"context_line":"* \u0027xen\u0027: \u0027xenmigr://%s/system\u0027"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"Possible values:"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_7ec5888c","line":270,"range":{"start_line":268,"start_character":0,"end_line":270,"end_character":30},"in_reply_to":"5a8bc5a2_8d41763c","updated":"2016-09-23 07:27:30.000000000","message":"thanks Maciej and Stephen, added TODO note :-)","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"e0483c32066cf5d8aab8a6030922b14b545f8e6a","unresolved":false,"context_lines":[{"line_number":265,"context_line":"If this option is set to None (which is the default), Nova will automatically"},{"line_number":266,"context_line":"generate the `live_migration_uri` value based on only 3 supported `virt_type`"},{"line_number":267,"context_line":"in following list:"},{"line_number":268,"context_line":"* \u0027kvm\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":269,"context_line":"* \u0027qemu\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":270,"context_line":"* \u0027xen\u0027: \u0027xenmigr://%s/system\u0027"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"Possible values:"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_8d41763c","line":270,"range":{"start_line":268,"start_character":0,"end_line":270,"end_character":30},"in_reply_to":"5a8bc5a2_a6e82c18","updated":"2016-09-22 13:43:09.000000000","message":"With regex we can check if provided value is a valid uri.\nPerhaps URIOpt would work as well, but I am not sure if this would work.\n\nAdding TODO seems the best to me.","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":265,"context_line":"If this option is set to None (which is the default), Nova will automatically"},{"line_number":266,"context_line":"generate the `live_migration_uri` value based on only 3 supported `virt_type`"},{"line_number":267,"context_line":"in following list:"},{"line_number":268,"context_line":"* \u0027kvm\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":269,"context_line":"* \u0027qemu\u0027: \u0027qemu+tcp://%s/system\u0027"},{"line_number":270,"context_line":"* \u0027xen\u0027: \u0027xenmigr://%s/system\u0027"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"Possible values:"},{"line_number":273,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_a6e82c18","line":270,"range":{"start_line":268,"start_character":0,"end_line":270,"end_character":30},"in_reply_to":"9a89bdaa_7a93625b","updated":"2016-09-22 06:38:25.000000000","message":"Did not get your point here, this is a default value which grabbed from code-base. We can not validate anything in this help text.","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":274,"context_line":"* An URI like ``qemu+tcp://%s-lm/system`` for example if using with KVM/QEMU."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"Related options:"},{"line_number":277,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"},{"line_number":278,"context_line":"  is not None, the ip/hostname address of target compute node is used instead"},{"line_number":279,"context_line":"  of ``live_migration_uri`` as the uri for live migration."},{"line_number":280,"context_line":"\"\"\"),"},{"line_number":281,"context_line":"    cfg.BoolOpt(\u0027live_migration_tunnelled\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_d08fef20","line":278,"range":{"start_line":277,"start_character":35,"end_line":278,"end_character":13},"updated":"2016-09-13 13:18:01.000000000","message":"Is set to None,","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":274,"context_line":"* An URI like ``qemu+tcp://%s-lm/system`` for example if using with KVM/QEMU."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"Related options:"},{"line_number":277,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"},{"line_number":278,"context_line":"  is not None, the ip/hostname address of target compute node is used instead"},{"line_number":279,"context_line":"  of ``live_migration_uri`` as the uri for live migration."},{"line_number":280,"context_line":"\"\"\"),"},{"line_number":281,"context_line":"    cfg.BoolOpt(\u0027live_migration_tunnelled\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_e60eb4e4","line":278,"range":{"start_line":277,"start_character":35,"end_line":278,"end_character":13},"in_reply_to":"9a89bdaa_d08fef20","updated":"2016-09-22 06:38:25.000000000","message":"I think the correct one is not None","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    cfg.BoolOpt(\u0027live_migration_tunnelled\u0027,"},{"line_number":282,"context_line":"                default\u003dFalse,"},{"line_number":283,"context_line":"                help\u003d\"\"\""},{"line_number":284,"context_line":"This option allows to use tunnelled migration, where migration data is"},{"line_number":285,"context_line":"transported over the libvirtd connection. If True, we use the"},{"line_number":286,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":287,"context_line":"the network to allow direct hypervisor to hypervisor communication."},{"line_number":288,"context_line":"If False, use the native transport. If not set, Nova will choose a"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_50d2ff00","line":285,"range":{"start_line":284,"start_character":0,"end_line":285,"end_character":41},"updated":"2016-09-13 13:18:01.000000000","message":"Can we add a summary line here too? Something like...\n\n    Enable tunnelled migration\n\n    When enabled, migration data is transported over the\n    libvirtd connection...","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    cfg.BoolOpt(\u0027live_migration_tunnelled\u0027,"},{"line_number":282,"context_line":"                default\u003dFalse,"},{"line_number":283,"context_line":"                help\u003d\"\"\""},{"line_number":284,"context_line":"This option allows to use tunnelled migration, where migration data is"},{"line_number":285,"context_line":"transported over the libvirtd connection. If True, we use the"},{"line_number":286,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":287,"context_line":"the network to allow direct hypervisor to hypervisor communication."},{"line_number":288,"context_line":"If False, use the native transport. If not set, Nova will choose a"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_c6d7f821","line":285,"range":{"start_line":284,"start_character":0,"end_line":285,"end_character":41},"in_reply_to":"9a89bdaa_50d2ff00","updated":"2016-09-22 06:38:25.000000000","message":"Done","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Possible values:"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":295,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":296,"context_line":"* Supersedes and (if set) overrides the deprecated \u0027live_migration_flag\u0027 and"},{"line_number":297,"context_line":"  \u0027block_migration_flag\u0027 to enable tunneled migration."},{"line_number":298,"context_line":"\"\"\"),"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_d079affd","line":295,"range":{"start_line":294,"start_character":0,"end_line":295,"end_character":65},"updated":"2016-09-13 13:18:01.000000000","message":"Remove these (they can be inferred from the type boolean)","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":291,"context_line":""},{"line_number":292,"context_line":"Possible values:"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"* ``True``: enable tunnelled migration over libvirtd connection."},{"line_number":295,"context_line":"* ``False``: disable tunnelled migration, using native transport."},{"line_number":296,"context_line":"* Supersedes and (if set) overrides the deprecated \u0027live_migration_flag\u0027 and"},{"line_number":297,"context_line":"  \u0027block_migration_flag\u0027 to enable tunneled migration."},{"line_number":298,"context_line":"\"\"\"),"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_46920859","line":295,"range":{"start_line":294,"start_character":0,"end_line":295,"end_character":65},"in_reply_to":"9a89bdaa_d079affd","updated":"2016-09-22 06:38:25.000000000","message":"Done","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"61bce4d890628cfd13f48feb56b090d8930d4216","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":300,"context_line":"               default\u003d0,"},{"line_number":301,"context_line":"               help\u003d\"\"\""},{"line_number":302,"context_line":"Maximum bandwidth(in MiB/s) to be used during migration. If set to 0,"},{"line_number":303,"context_line":"will choose a suitable default. Some hypervisors do not support this"},{"line_number":304,"context_line":"feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":305,"context_line":"to the libvirt documentation for further details."}],"source_content_type":"text/x-python","patch_set":19,"id":"9a89bdaa_d0c7ef0f","line":302,"updated":"2016-09-13 13:18:01.000000000","message":"Insert new line after first sentence","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"a490230c6d58b89c63e3b14fb13c7beb2a72dc95","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    cfg.IntOpt(\u0027live_migration_bandwidth\u0027,"},{"line_number":300,"context_line":"               default\u003d0,"},{"line_number":301,"context_line":"               help\u003d\"\"\""},{"line_number":302,"context_line":"Maximum bandwidth(in MiB/s) to be used during migration. If set to 0,"},{"line_number":303,"context_line":"will choose a suitable default. Some hypervisors do not support this"},{"line_number":304,"context_line":"feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":305,"context_line":"to the libvirt documentation for further details."}],"source_content_type":"text/x-python","patch_set":19,"id":"5a8bc5a2_e698746d","line":302,"in_reply_to":"9a89bdaa_d0c7ef0f","updated":"2016-09-22 06:38:25.000000000","message":"Done","commit_id":"456045bc80ab9db8236743909ed7c23fd6c6306e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d47b28b2f37bdfd1d6da48dfb9f5f9f6a0e99b16","unresolved":false,"context_lines":[{"line_number":242,"context_line":"  an effect."},{"line_number":243,"context_line":"\"\"\"),"},{"line_number":244,"context_line":"    cfg.StrOpt(\u0027live_migration_inbound_addr\u0027,"},{"line_number":245,"context_line":"               help\u003d\"\"\""},{"line_number":246,"context_line":"The IP address or hostname to be used as the target for live migration traffic"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"If this option is set to None, the hostname of the migration target compute"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_d64b062a","line":245,"range":{"start_line":245,"start_character":15,"end_line":245,"end_character":23},"updated":"2016-09-22 16:13:55.000000000","message":"It would be fantastic if you could fix the indentation of these opts in a follow up patch","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d47b28b2f37bdfd1d6da48dfb9f5f9f6a0e99b16","unresolved":false,"context_lines":[{"line_number":243,"context_line":"\"\"\"),"},{"line_number":244,"context_line":"    cfg.StrOpt(\u0027live_migration_inbound_addr\u0027,"},{"line_number":245,"context_line":"               help\u003d\"\"\""},{"line_number":246,"context_line":"The IP address or hostname to be used as the target for live migration traffic"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"If this option is set to None, the hostname of the migration target compute"},{"line_number":249,"context_line":"node will be used."}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_36326af2","line":246,"updated":"2016-09-22 16:13:55.000000000","message":"nit: fullstop","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"39a9f6691999ccb21236f04d82bcb4d1b5003ed8","unresolved":false,"context_lines":[{"line_number":243,"context_line":"\"\"\"),"},{"line_number":244,"context_line":"    cfg.StrOpt(\u0027live_migration_inbound_addr\u0027,"},{"line_number":245,"context_line":"               help\u003d\"\"\""},{"line_number":246,"context_line":"The IP address or hostname to be used as the target for live migration traffic"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"If this option is set to None, the hostname of the migration target compute"},{"line_number":249,"context_line":"node will be used."}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_9b4fcbbc","line":246,"in_reply_to":"5a8bc5a2_36326af2","updated":"2016-09-23 07:41:12.000000000","message":"Done","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d47b28b2f37bdfd1d6da48dfb9f5f9f6a0e99b16","unresolved":false,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"* A valid IP address or hostname, else None."},{"line_number":259,"context_line":"\"\"\"),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":261,"context_line":"               help\u003d\"\"\""},{"line_number":262,"context_line":"Live migration target URI to use."},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_16356ed9","line":260,"updated":"2016-09-22 16:13:55.000000000","message":"Add a todo here convert this to a URIOpt and validate it using the \u0027schemes\u0027 argument coming in the next release of oslo_config","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"39a9f6691999ccb21236f04d82bcb4d1b5003ed8","unresolved":false,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"* A valid IP address or hostname, else None."},{"line_number":259,"context_line":"\"\"\"),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":261,"context_line":"               help\u003d\"\"\""},{"line_number":262,"context_line":"Live migration target URI to use."},{"line_number":263,"context_line":""}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_3b7157e1","line":260,"in_reply_to":"5a8bc5a2_16356ed9","updated":"2016-09-23 07:41:12.000000000","message":"Done","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d47b28b2f37bdfd1d6da48dfb9f5f9f6a0e99b16","unresolved":false,"context_lines":[{"line_number":286,"context_line":"                help\u003d\"\"\""},{"line_number":287,"context_line":"Enable tunnelled migration."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"This option allows to use tunnelled migration, where migration data is"},{"line_number":290,"context_line":"transported over the libvirtd connection. If True, we use the"},{"line_number":291,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":292,"context_line":"the network to allow direct hypervisor to hypervisor communication."}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_f63e42b7","line":289,"range":{"start_line":289,"start_character":12,"end_line":289,"end_character":25},"updated":"2016-09-22 16:13:55.000000000","message":"enables","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"39a9f6691999ccb21236f04d82bcb4d1b5003ed8","unresolved":false,"context_lines":[{"line_number":286,"context_line":"                help\u003d\"\"\""},{"line_number":287,"context_line":"Enable tunnelled migration."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"This option allows to use tunnelled migration, where migration data is"},{"line_number":290,"context_line":"transported over the libvirtd connection. If True, we use the"},{"line_number":291,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":292,"context_line":"the network to allow direct hypervisor to hypervisor communication."}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_7b73dfe7","line":289,"range":{"start_line":289,"start_character":12,"end_line":289,"end_character":25},"in_reply_to":"5a8bc5a2_f63e42b7","updated":"2016-09-23 07:41:12.000000000","message":"Done","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d47b28b2f37bdfd1d6da48dfb9f5f9f6a0e99b16","unresolved":false,"context_lines":[{"line_number":287,"context_line":"Enable tunnelled migration."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"This option allows to use tunnelled migration, where migration data is"},{"line_number":290,"context_line":"transported over the libvirtd connection. If True, we use the"},{"line_number":291,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":292,"context_line":"the network to allow direct hypervisor to hypervisor communication."},{"line_number":293,"context_line":"If False, use the native transport. If not set, Nova will choose a"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_b673dab0","line":290,"range":{"start_line":290,"start_character":45,"end_line":290,"end_character":49},"updated":"2016-09-22 16:13:55.000000000","message":"enabled","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"39a9f6691999ccb21236f04d82bcb4d1b5003ed8","unresolved":false,"context_lines":[{"line_number":287,"context_line":"Enable tunnelled migration."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"This option allows to use tunnelled migration, where migration data is"},{"line_number":290,"context_line":"transported over the libvirtd connection. If True, we use the"},{"line_number":291,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":292,"context_line":"the network to allow direct hypervisor to hypervisor communication."},{"line_number":293,"context_line":"If False, use the native transport. If not set, Nova will choose a"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_9b826b93","line":290,"range":{"start_line":290,"start_character":45,"end_line":290,"end_character":49},"in_reply_to":"5a8bc5a2_b673dab0","updated":"2016-09-23 07:41:12.000000000","message":"Done","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d47b28b2f37bdfd1d6da48dfb9f5f9f6a0e99b16","unresolved":false,"context_lines":[{"line_number":308,"context_line":"this feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":309,"context_line":"to the libvirt documentation for further details."},{"line_number":310,"context_line":"\"\"\"),"},{"line_number":311,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime is"},{"line_number":312,"context_line":"    # LIVE_MIGRATION_DOWNTIME_MIN but adding this to IntOpt min value"},{"line_number":313,"context_line":"    # can break upgrades."},{"line_number":314,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime\u0027,"},{"line_number":315,"context_line":"               default\u003d500,"},{"line_number":316,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_56829653","line":313,"range":{"start_line":311,"start_character":20,"end_line":313,"end_character":25},"updated":"2016-09-22 16:13:55.000000000","message":"keep it short and sweet\n\n    Add min argument","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"39a9f6691999ccb21236f04d82bcb4d1b5003ed8","unresolved":false,"context_lines":[{"line_number":308,"context_line":"this feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":309,"context_line":"to the libvirt documentation for further details."},{"line_number":310,"context_line":"\"\"\"),"},{"line_number":311,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime is"},{"line_number":312,"context_line":"    # LIVE_MIGRATION_DOWNTIME_MIN but adding this to IntOpt min value"},{"line_number":313,"context_line":"    # can break upgrades."},{"line_number":314,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime\u0027,"},{"line_number":315,"context_line":"               default\u003d500,"},{"line_number":316,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_5e97f18f","line":313,"range":{"start_line":311,"start_character":20,"end_line":313,"end_character":25},"in_reply_to":"5a8bc5a2_56829653","updated":"2016-09-23 07:41:12.000000000","message":"hm, too short statement can lead to misunderstood, so I will change to \"Need to add min argument by moving from LIVE_MIGRATION_DOWNTIME_MIN constant\".","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d47b28b2f37bdfd1d6da48dfb9f5f9f6a0e99b16","unresolved":false,"context_lines":[{"line_number":315,"context_line":"               default\u003d500,"},{"line_number":316,"context_line":"               help\u003d\"\"\""},{"line_number":317,"context_line":"Maximum permitted downtime, in milliseconds, for live migration"},{"line_number":318,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"},{"line_number":319,"context_line":"value if guest liveness is unimportant."},{"line_number":320,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":321,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_steps is"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_96f33e0a","line":318,"range":{"start_line":318,"start_character":11,"end_line":318,"end_character":12},"updated":"2016-09-22 16:13:55.000000000","message":"Can you insert a line break here and in options below, like so:\n\n    Summary line is here\n\n    Futher information available here in description","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"39a9f6691999ccb21236f04d82bcb4d1b5003ed8","unresolved":false,"context_lines":[{"line_number":315,"context_line":"               default\u003d500,"},{"line_number":316,"context_line":"               help\u003d\"\"\""},{"line_number":317,"context_line":"Maximum permitted downtime, in milliseconds, for live migration"},{"line_number":318,"context_line":"switchover. Will be rounded up to a minimum of %dms. Use a large"},{"line_number":319,"context_line":"value if guest liveness is unimportant."},{"line_number":320,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":321,"context_line":"    # TODO(hieulq): the min value of live_migration_downtime_steps is"}],"source_content_type":"text/x-python","patch_set":22,"id":"5a8bc5a2_9e91799c","line":318,"range":{"start_line":318,"start_character":11,"end_line":318,"end_character":12},"in_reply_to":"5a8bc5a2_96f33e0a","updated":"2016-09-23 07:41:12.000000000","message":"Done","commit_id":"48f34722b078fb5f7cfde6462bf9cbbb56d022eb"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"7e75299d3e08e08df1a9701f6b11e15e1e06a049","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Possible values:"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"* An URI like ``qemu+tcp://%s-lm/system`` for example if using with KVM/QEMU."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"Related options:"},{"line_number":282,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"}],"source_content_type":"text/x-python","patch_set":23,"id":"fa6399be_39eeef8b","line":279,"updated":"2016-10-11 12:45:09.000000000","message":"Please remove this - we should not be recommending adding magic hostname suffixes/prefixes \"-lm\" - the hostname part of the URI should be \"%s\" and nothing more, nothing less. Future Nova is not likely to allow this hack.\n\nIf you want to control the interface used for migration, the live_migration_inbound_addr should be used, not URI hacks.","commit_id":"2566d46c4d868564c3bf608873e0219bd533c71c"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b17a617f67e251da6d45c228911b96a930ff0317","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Possible values:"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"* An URI like ``qemu+tcp://%s-lm/system`` for example if using with KVM/QEMU."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"Related options:"},{"line_number":282,"context_line":"* ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value"}],"source_content_type":"text/x-python","patch_set":23,"id":"fa6399be_d07767d2","line":279,"in_reply_to":"fa6399be_39eeef8b","updated":"2016-10-12 02:27:39.000000000","message":"Done","commit_id":"2566d46c4d868564c3bf608873e0219bd533c71c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c5d359ca95ba1182c361210c06371ac3cd80d300","unresolved":false,"context_lines":[{"line_number":294,"context_line":"the network to allow direct hypervisor to hypervisor communication."},{"line_number":295,"context_line":"If False, use the native transport. If not set, Nova will choose a"},{"line_number":296,"context_line":"sensible default based on, for example the availability of native"},{"line_number":297,"context_line":"encryption support in the hypervisor."},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"Possible values:"},{"line_number":300,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"3a98d1f4_23ff6c68","line":297,"updated":"2016-10-04 14:19:05.000000000","message":"It feels like we should say about the massive performance impact of turning this on. But that can be a follow on patch.","commit_id":"2566d46c4d868564c3bf608873e0219bd533c71c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"7e75299d3e08e08df1a9701f6b11e15e1e06a049","unresolved":false,"context_lines":[{"line_number":294,"context_line":"the network to allow direct hypervisor to hypervisor communication."},{"line_number":295,"context_line":"If False, use the native transport. If not set, Nova will choose a"},{"line_number":296,"context_line":"sensible default based on, for example the availability of native"},{"line_number":297,"context_line":"encryption support in the hypervisor."},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"Possible values:"},{"line_number":300,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"fa6399be_19912bf1","line":297,"in_reply_to":"3a98d1f4_23ff6c68","updated":"2016-10-11 12:45:09.000000000","message":"More importantly it absolutely need to say that this is *not* compatible with use of block migration.","commit_id":"2566d46c4d868564c3bf608873e0219bd533c71c"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b17a617f67e251da6d45c228911b96a930ff0317","unresolved":false,"context_lines":[{"line_number":294,"context_line":"the network to allow direct hypervisor to hypervisor communication."},{"line_number":295,"context_line":"If False, use the native transport. If not set, Nova will choose a"},{"line_number":296,"context_line":"sensible default based on, for example the availability of native"},{"line_number":297,"context_line":"encryption support in the hypervisor."},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"Possible values:"},{"line_number":300,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"fa6399be_1030ff00","line":297,"in_reply_to":"fa6399be_19912bf1","updated":"2016-10-12 02:27:39.000000000","message":"Done","commit_id":"2566d46c4d868564c3bf608873e0219bd533c71c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0fc8f146ecf90d63ce94415835374400500a2d3f","unresolved":false,"context_lines":[{"line_number":291,"context_line":"If False, use the native transport. If not set, Nova will choose a"},{"line_number":292,"context_line":"sensible default based on, for example the availability of native"},{"line_number":293,"context_line":"encryption support in the hypervisor. Enable this option will definitely"},{"line_number":294,"context_line":"impact massive performance."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"Note that this option is NOT compatible with use of block migration."},{"line_number":297,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"fa6399be_dd7854f5","line":294,"range":{"start_line":294,"start_character":0,"end_line":294,"end_character":27},"updated":"2016-10-12 09:57:54.000000000","message":"impact performance massively?","commit_id":"ab43b924c1f3865c6879d0971bcb34b9b89d47c0"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"16893411ae22941b5e50a1bcfb82a1176fb38bdd","unresolved":false,"context_lines":[{"line_number":291,"context_line":"If False, use the native transport. If not set, Nova will choose a"},{"line_number":292,"context_line":"sensible default based on, for example the availability of native"},{"line_number":293,"context_line":"encryption support in the hypervisor. Enable this option will definitely"},{"line_number":294,"context_line":"impact massive performance."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"Note that this option is NOT compatible with use of block migration."},{"line_number":297,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"fa6399be_bdfe4036","line":294,"range":{"start_line":294,"start_character":0,"end_line":294,"end_character":27},"in_reply_to":"fa6399be_dd7854f5","updated":"2016-10-12 09:59:49.000000000","message":"Done","commit_id":"ab43b924c1f3865c6879d0971bcb34b9b89d47c0"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"e39df6697b83b846dc5afa97e29ba210e93b93ed","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                help\u003d\"\"\""},{"line_number":285,"context_line":"Enable tunnelled migration."},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"This option enables tunnelled migration feature, where migration data is"},{"line_number":288,"context_line":"transported over the libvirtd connection. If enabled, we use the"},{"line_number":289,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":290,"context_line":"the network to allow direct hypervisor to hypervisor communication."}],"source_content_type":"text/x-python","patch_set":25,"id":"7a77a97e_12eb96b1","line":287,"range":{"start_line":287,"start_character":19,"end_line":287,"end_character":20},"updated":"2016-11-16 09:54:09.000000000","message":"nit: there should be a \"the\", I guess","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b2360eb0dc620974c29ab4ccf76a3415d3b70241","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                help\u003d\"\"\""},{"line_number":285,"context_line":"Enable tunnelled migration."},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"This option enables tunnelled migration feature, where migration data is"},{"line_number":288,"context_line":"transported over the libvirtd connection. If enabled, we use the"},{"line_number":289,"context_line":"VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure"},{"line_number":290,"context_line":"the network to allow direct hypervisor to hypervisor communication."}],"source_content_type":"text/x-python","patch_set":25,"id":"5a74a57a_97f40488","line":287,"range":{"start_line":287,"start_character":19,"end_line":287,"end_character":20},"in_reply_to":"7a77a97e_12eb96b1","updated":"2016-11-24 07:06:36.000000000","message":"Done","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"e39df6697b83b846dc5afa97e29ba210e93b93ed","unresolved":false,"context_lines":[{"line_number":305,"context_line":"               help\u003d\"\"\""},{"line_number":306,"context_line":"Maximum bandwidth(in MiB/s) to be used during migration."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"If set to 0, will choose a suitable default. Some hypervisors do not support"},{"line_number":309,"context_line":"this feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":310,"context_line":"to the libvirt documentation for further details."},{"line_number":311,"context_line":"\"\"\"),"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a77a97e_327892c4","line":308,"range":{"start_line":308,"start_character":12,"end_line":308,"end_character":13},"updated":"2016-11-16 09:54:09.000000000","message":"nit: You could add \"the hypervisor\". Because Nova doesn\u0027t choose a default (at least I didn\u0027t find anything in the code for that).","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b2360eb0dc620974c29ab4ccf76a3415d3b70241","unresolved":false,"context_lines":[{"line_number":305,"context_line":"               help\u003d\"\"\""},{"line_number":306,"context_line":"Maximum bandwidth(in MiB/s) to be used during migration."},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"If set to 0, will choose a suitable default. Some hypervisors do not support"},{"line_number":309,"context_line":"this feature and will return an error if bandwidth is not 0. Please refer"},{"line_number":310,"context_line":"to the libvirt documentation for further details."},{"line_number":311,"context_line":"\"\"\"),"}],"source_content_type":"text/x-python","patch_set":25,"id":"5a74a57a_77f92880","line":308,"range":{"start_line":308,"start_character":12,"end_line":308,"end_character":13},"in_reply_to":"7a77a97e_327892c4","updated":"2016-11-24 07:06:36.000000000","message":"Done","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"e39df6697b83b846dc5afa97e29ba210e93b93ed","unresolved":false,"context_lines":[{"line_number":405,"context_line":"               help\u003d\"\"\""},{"line_number":406,"context_line":"Determine the snapshot image format when sending to the image service."},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"If set, this decided what format is used when sending the snapshot to image"},{"line_number":409,"context_line":"service."},{"line_number":410,"context_line":"If not set, defaults to same type as source image."},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"7a77a97e_b5b64cda","line":408,"range":{"start_line":408,"start_character":13,"end_line":408,"end_character":20},"updated":"2016-11-16 09:54:09.000000000","message":"nit: s/decided/decides/","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"e39df6697b83b846dc5afa97e29ba210e93b93ed","unresolved":false,"context_lines":[{"line_number":405,"context_line":"               help\u003d\"\"\""},{"line_number":406,"context_line":"Determine the snapshot image format when sending to the image service."},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"If set, this decided what format is used when sending the snapshot to image"},{"line_number":409,"context_line":"service."},{"line_number":410,"context_line":"If not set, defaults to same type as source image."},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"7a77a97e_75c5943a","line":408,"range":{"start_line":408,"start_character":67,"end_line":408,"end_character":70},"updated":"2016-11-16 09:54:09.000000000","message":"nit: s/to/to the/","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b2360eb0dc620974c29ab4ccf76a3415d3b70241","unresolved":false,"context_lines":[{"line_number":405,"context_line":"               help\u003d\"\"\""},{"line_number":406,"context_line":"Determine the snapshot image format when sending to the image service."},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"If set, this decided what format is used when sending the snapshot to image"},{"line_number":409,"context_line":"service."},{"line_number":410,"context_line":"If not set, defaults to same type as source image."},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"5a74a57a_37ffb068","line":408,"range":{"start_line":408,"start_character":67,"end_line":408,"end_character":70},"in_reply_to":"7a77a97e_75c5943a","updated":"2016-11-24 07:06:36.000000000","message":"Done","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"b2360eb0dc620974c29ab4ccf76a3415d3b70241","unresolved":false,"context_lines":[{"line_number":405,"context_line":"               help\u003d\"\"\""},{"line_number":406,"context_line":"Determine the snapshot image format when sending to the image service."},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"If set, this decided what format is used when sending the snapshot to image"},{"line_number":409,"context_line":"service."},{"line_number":410,"context_line":"If not set, defaults to same type as source image."},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"5a74a57a_f704587f","line":408,"range":{"start_line":408,"start_character":13,"end_line":408,"end_character":20},"in_reply_to":"7a77a97e_b5b64cda","updated":"2016-11-24 07:06:36.000000000","message":"Done","commit_id":"5520c11bd35341b98e1152cf690cb9deba7b4ec1"},{"author":{"_account_id":23950,"name":"Eric Xie","email":"eric_xiett@163.com","username":"ericxie"},"change_message_id":"f62329acf83007e89d89752ebcd46c5767df9cb3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Libvirt options allows cloud administrator to configure related"},{"line_number":40,"context_line":"libvirt hypervisor driver to be used within an OpenStack deployment."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Almost all of the libvirt config options are influence by ``virt_type`` config"},{"line_number":43,"context_line":"which describes the virtualization type (or so called domain type) libvirt"},{"line_number":44,"context_line":"should use for specific features such as live migration, snapshot."},{"line_number":45,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":27,"id":"5a74a57a_317df21c","line":42,"range":{"start_line":42,"start_character":45,"end_line":42,"end_character":54},"updated":"2016-11-24 11:37:30.000000000","message":"Should it be \u0027influenced\u0027?","commit_id":"59204025e95d11c095503bcf3ddcb0aa0468f934"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4223c7816651b72ba6648f6421875780698f5cf1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Libvirt options allows cloud administrator to configure related"},{"line_number":40,"context_line":"libvirt hypervisor driver to be used within an OpenStack deployment."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Almost all of the libvirt config options are influence by ``virt_type`` config"},{"line_number":43,"context_line":"which describes the virtualization type (or so called domain type) libvirt"},{"line_number":44,"context_line":"should use for specific features such as live migration, snapshot."},{"line_number":45,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":27,"id":"5a74a57a_3b83e857","line":42,"range":{"start_line":42,"start_character":45,"end_line":42,"end_character":54},"in_reply_to":"5a74a57a_317df21c","updated":"2016-11-25 11:23:36.000000000","message":"yes, but not going to block on that.","commit_id":"59204025e95d11c095503bcf3ddcb0aa0468f934"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"7c8443e63d539cb080c4af29bfa7770b62c16548","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Libvirt options allows cloud administrator to configure related"},{"line_number":40,"context_line":"libvirt hypervisor driver to be used within an OpenStack deployment."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Almost all of the libvirt config options are influence by ``virt_type`` config"},{"line_number":43,"context_line":"which describes the virtualization type (or so called domain type) libvirt"},{"line_number":44,"context_line":"should use for specific features such as live migration, snapshot."},{"line_number":45,"context_line":"\"\"\")"}],"source_content_type":"text/x-python","patch_set":27,"id":"5a74a57a_72697125","line":42,"range":{"start_line":42,"start_character":45,"end_line":42,"end_character":54},"in_reply_to":"5a74a57a_3b83e857","updated":"2016-11-29 20:43:16.000000000","message":"Agreed.","commit_id":"59204025e95d11c095503bcf3ddcb0aa0468f934"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4223c7816651b72ba6648f6421875780698f5cf1","unresolved":false,"context_lines":[{"line_number":258,"context_line":"* A valid IP address or hostname, else None."},{"line_number":259,"context_line":"\"\"\"),"},{"line_number":260,"context_line":"    # TODO(hieulq): change to URIOpt for validating schemas with next release"},{"line_number":261,"context_line":"    # of oslo_config."},{"line_number":262,"context_line":"    cfg.StrOpt(\u0027live_migration_uri\u0027,"},{"line_number":263,"context_line":"               help\u003d\"\"\""},{"line_number":264,"context_line":"Live migration target URI to use."}],"source_content_type":"text/x-python","patch_set":27,"id":"5a74a57a_db92f49e","line":261,"updated":"2016-11-25 11:23:36.000000000","message":"Nit: we can probably do that now, but lets keep moving forward here.","commit_id":"59204025e95d11c095503bcf3ddcb0aa0468f934"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4223c7816651b72ba6648f6421875780698f5cf1","unresolved":false,"context_lines":[{"line_number":293,"context_line":"encryption support in the hypervisor. Enable this option will definitely"},{"line_number":294,"context_line":"impact performance massively."},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"Note that this option is NOT compatible with use of block migration."},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Possible values:"},{"line_number":299,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"5a74a57a_7ba00044","line":296,"updated":"2016-11-25 11:23:36.000000000","message":"Is that still true? I guess it probably is.","commit_id":"59204025e95d11c095503bcf3ddcb0aa0468f934"}]}
