)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"74b64de2f34633536946cc41212f2f2de71d9e8c","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Note that help text changes will be included in a future commit."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Blueprint centralize-config-options"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I2a8130b51ce3975c6cfd3c6181ea7e7d53fbc49f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"fa0719c6_8fabc974","line":14,"updated":"2016-03-23 15:46:35.000000000","message":"Please be aware that the effort in Newton is tracked with a\nnew (follow up) blueprint \n\n    centralize-config-options-newton\n\nIf questions arise, ping me. Thanks for your help here!","commit_id":"2b9f80fe6087b8482c15ae9f0317be1ca323a0a0"}],"nova/cmd/spicehtml5proxy.py":[{"author":{"_account_id":18335,"name":"Pushkar Umaranikar","email":"pushkar.umaranikar@intel.com","username":"pushkarumaranikar"},"change_message_id":"c14e315415bc11edfa43c65c1ab51b37f8855256","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d nova.conf.CONF"},{"line_number":30,"context_line":"spice.register_cli_opts(CONF)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":10,"id":"dae33548_d042330e","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":29},"updated":"2016-02-18 21:31:51.000000000","message":"I think we can remove this function call.\n\nWe have register_opts() defined in nova/conf/spice.py\nYou are passing ALL_OPTS as an argument for that and ALL_OPTS has CLI_OPTS.\nHence, spice.register_opts() call from nova/conf/__init__.py registers cli_opts as well on initialization.","commit_id":"2b9f80fe6087b8482c15ae9f0317be1ca323a0a0"},{"author":{"_account_id":18723,"name":"Allen Gao","email":"wanlong.gao@gmail.com","username":"allen"},"change_message_id":"26b191571ba6ae68a01f2f3e41d3b3640db7bd48","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d nova.conf.CONF"},{"line_number":30,"context_line":"spice.register_cli_opts(CONF)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba0121b8_135db4ec","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":29},"in_reply_to":"dae33548_d042330e","updated":"2016-04-02 15:32:13.000000000","message":"You are wrong, cli options and conf options are not the same.","commit_id":"2b9f80fe6087b8482c15ae9f0317be1ca323a0a0"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"276e3dff78138116aa7c5f3d989cb9b6e386610c","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d nova.conf.CONF"},{"line_number":30,"context_line":"spice.register_cli_opts(CONF)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a18252c_ee2b8c92","line":30,"updated":"2016-04-13 21:33:49.000000000","message":"Why is this line still needed?","commit_id":"dc2e3130fe6448178abe5612d585c0dd929fe0ee"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"4ccf6b28d399c9f3524765f2fb02d6a391934df8","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"CONF \u003d nova.conf.CONF"},{"line_number":30,"context_line":"spice.register_cli_opts(CONF)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a18252c_e7bf21a8","line":30,"in_reply_to":"5a18252c_ee2b8c92","updated":"2016-04-14 08:19:30.000000000","message":"@Ed: When doing this, some of the spice related options will become CLI options and will get listed when executing \"nova-spiceproxy -h\". They also can then be used as\n\n    nova-spiceproxy --html5proxy_host \u003cip-address\u003e \\\n    --html5proxy_port \u003cport\u003e\n\nI think it\u0027s best to have this call in the appropriate starter-script, which is this one here for spice. We treated the CLI options for VLC and SERIAL the same.","commit_id":"dc2e3130fe6448178abe5612d585c0dd929fe0ee"}],"nova/conf/spice.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"dcc1faffc073073b9ea0e2a6d3bea58a618c5f11","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"def list_opts():"},{"line_number":212,"context_line":"    # Because of bug 1395819 in oslo.config we cannot pass in the OptGroup."},{"line_number":213,"context_line":"    # As soon as this bug is fixed is oslo.config and Nova uses the"},{"line_number":214,"context_line":"    # version which contains this fix, we can pass in the OptGroup instead"},{"line_number":215,"context_line":"    # of its name. This allows the generation of the group help too."},{"line_number":216,"context_line":"    return {spice_opt_group.name: ALL_OPTS}"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_4f42f811","line":215,"range":{"start_line":212,"start_character":0,"end_line":215,"end_character":68},"updated":"2016-01-13 15:09:01.000000000","message":"Nova uses now oslo.config 3.2.0 which includes that fix. Which means if you push a new patch set, you could use the OptGroup object instead of it\u0027s name.\n\n    return {spice_opt_group: ALL_OPTS}","commit_id":"059413fdd13f3f289ab087fb720efeb530da21dd"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc64ea27519d4842183c94c8eb5b74ba4b1721db","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        default\u003dFalse,"},{"line_number":28,"context_line":"        help\u003d\"\"\""},{"line_number":29,"context_line":"Enable spice related features."},{"line_number":30,"context_line":"This option only needs to be configured on the compute node(s)."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Services which consume this:"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_1991e9f0","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":63},"updated":"2016-01-19 14:42:30.000000000","message":"This is redundant to the \"used by nova-compute\" info below. This sentence can be deleted imo.","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"684dc070d6be9563c45ebe49c83c285f7cc2e9ff","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        default\u003dFalse,"},{"line_number":28,"context_line":"        help\u003d\"\"\""},{"line_number":29,"context_line":"Enable spice related features."},{"line_number":30,"context_line":"This option only needs to be configured on the compute node(s)."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Services which consume this:"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_f62e3ef9","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":63},"in_reply_to":"ba63e191_1991e9f0","updated":"2016-01-19 22:28:53.000000000","message":"ok, I\u0027ll remove all of these.","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc64ea27519d4842183c94c8eb5b74ba4b1721db","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"* ``nova-compute``"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Interdependencies to other options:"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* VNC must be explicitly disabled to get access to the spice console."},{"line_number":39,"context_line":"  Set the enabled option to False in the [vnc] section to disable"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_79e8257d","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":34},"updated":"2016-01-19 14:42:30.000000000","message":"nit: We used \"Related options\" in other changes. (I have to adjust the wording in \"nova/conf/serial_console.py\", maybe you took that as a template.)","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"684dc070d6be9563c45ebe49c83c285f7cc2e9ff","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"* ``nova-compute``"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Interdependencies to other options:"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* VNC must be explicitly disabled to get access to the spice console."},{"line_number":39,"context_line":"  Set the enabled option to False in the [vnc] section to disable"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_96358247","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":34},"in_reply_to":"ba63e191_79e8257d","updated":"2016-01-19 22:28:53.000000000","message":"ok","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc64ea27519d4842183c94c8eb5b74ba4b1721db","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Services which consume this:"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* ``nova-compute``"},{"line_number":55,"context_line":"\"\"\")"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"html5proxy_base_url_opt \u003d cfg.StrOpt(\u0027html5proxy_base_url\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_f9589558","line":55,"updated":"2016-01-19 14:42:30.000000000","message":"Please add these lines here:\n\n    Related options:\n\n    * None\n\nThis is more explicit.","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"684dc070d6be9563c45ebe49c83c285f7cc2e9ff","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Services which consume this:"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* ``nova-compute``"},{"line_number":55,"context_line":"\"\"\")"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"html5proxy_base_url_opt \u003d cfg.StrOpt(\u0027html5proxy_base_url\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_56406aa5","line":55,"in_reply_to":"ba63e191_f9589558","updated":"2016-01-19 22:28:53.000000000","message":"ok","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc64ea27519d4842183c94c8eb5b74ba4b1721db","unresolved":false,"context_lines":[{"line_number":58,"context_line":"html5proxy_base_url_opt \u003d cfg.StrOpt(\u0027html5proxy_base_url\u0027,"},{"line_number":59,"context_line":"        default\u003d\u0027http://127.0.0.1:6082/spice_auto.html\u0027,"},{"line_number":60,"context_line":"        help\u003d\"\"\""},{"line_number":61,"context_line":"Location of the spice HTML5 console proxy.  This is the base"},{"line_number":62,"context_line":"of the access URL returned to the Nova API client."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In order to use spice console, the service ``nova-spicehtml5proxy``"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_bc2c4b4b","line":61,"range":{"start_line":61,"start_character":0,"end_line":61,"end_character":41},"updated":"2016-01-19 14:42:30.000000000","message":"This sentence could be confusing, as it is an address to an \"html\" resource. I would rephrase this paragraph as:\n\n    \"The URL an end user would use to connect to the \n    ``nova-spicehtml5proxy`` service. This service does\n    then the forwarding to the console of an instance.\"","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc64ea27519d4842183c94c8eb5b74ba4b1721db","unresolved":false,"context_lines":[{"line_number":58,"context_line":"html5proxy_base_url_opt \u003d cfg.StrOpt(\u0027html5proxy_base_url\u0027,"},{"line_number":59,"context_line":"        default\u003d\u0027http://127.0.0.1:6082/spice_auto.html\u0027,"},{"line_number":60,"context_line":"        help\u003d\"\"\""},{"line_number":61,"context_line":"Location of the spice HTML5 console proxy.  This is the base"},{"line_number":62,"context_line":"of the access URL returned to the Nova API client."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In order to use spice console, the service ``nova-spicehtml5proxy``"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_793b45ec","line":61,"range":{"start_line":61,"start_character":43,"end_line":61,"end_character":44},"updated":"2016-01-19 14:42:30.000000000","message":"nit: spacing","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"684dc070d6be9563c45ebe49c83c285f7cc2e9ff","unresolved":false,"context_lines":[{"line_number":58,"context_line":"html5proxy_base_url_opt \u003d cfg.StrOpt(\u0027html5proxy_base_url\u0027,"},{"line_number":59,"context_line":"        default\u003d\u0027http://127.0.0.1:6082/spice_auto.html\u0027,"},{"line_number":60,"context_line":"        help\u003d\"\"\""},{"line_number":61,"context_line":"Location of the spice HTML5 console proxy.  This is the base"},{"line_number":62,"context_line":"of the access URL returned to the Nova API client."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In order to use spice console, the service ``nova-spicehtml5proxy``"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_968342cc","line":61,"range":{"start_line":61,"start_character":0,"end_line":61,"end_character":41},"in_reply_to":"ba63e191_bc2c4b4b","updated":"2016-01-19 22:28:53.000000000","message":"Thanks, its better wording.","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc64ea27519d4842183c94c8eb5b74ba4b1721db","unresolved":false,"context_lines":[{"line_number":179,"context_line":"keymap_opt \u003d cfg.StrOpt(\u0027keymap\u0027,"},{"line_number":180,"context_line":"        default\u003d\u0027en-us\u0027,"},{"line_number":181,"context_line":"        help\u003d\"\"\""},{"line_number":182,"context_line":"Keymap for spice."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"This option only needs to be configured on the compute node(s)."},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_45e53207","line":182,"updated":"2016-01-19 14:42:30.000000000","message":"I\u0027m no expert here, but I guess we use the \"IETF language tags\" [1] and only those which are supported by the hypervisor on that node? For my local machine they are specified in \"/usr/share/qemu-kvm/keymaps/\". So maybe rephrase as:\n\n    \"A keyboard layout which is supported by the\n    underlying hypervisor on this node. This is\n    usually an \u0027IETF language tag\u0027 (for example \u0027en-us\u0027).\n    If you use QEMU as hypervisor, you should find the\n    list of supported keyboard layouts at\n    /usr/share/qemu/keymaps\"\n\n[1] https://en.wikipedia.org/wiki/IETF_language_tag","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"684dc070d6be9563c45ebe49c83c285f7cc2e9ff","unresolved":false,"context_lines":[{"line_number":179,"context_line":"keymap_opt \u003d cfg.StrOpt(\u0027keymap\u0027,"},{"line_number":180,"context_line":"        default\u003d\u0027en-us\u0027,"},{"line_number":181,"context_line":"        help\u003d\"\"\""},{"line_number":182,"context_line":"Keymap for spice."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"This option only needs to be configured on the compute node(s)."},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_d6c77a10","line":182,"in_reply_to":"ba63e191_45e53207","updated":"2016-01-19 22:28:53.000000000","message":"ok, thanks","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"}],"nova/opts.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"dcc1faffc073073b9ea0e2a6d3bea58a618c5f11","unresolved":false,"context_lines":[{"line_number":111,"context_line":"             nova.keymgr.keymgr_opts,"},{"line_number":112,"context_line":"         )),"},{"line_number":113,"context_line":"        (\u0027rdp\u0027, nova.rdp.rdp_opts),"},{"line_number":114,"context_line":"        nova.conf.serial_console.list_opts(),"},{"line_number":115,"context_line":"        nova.conf.spice.list_opts(),"},{"line_number":116,"context_line":"        (\u0027upgrade_levels\u0027,"},{"line_number":117,"context_line":"         itertools.chain("},{"line_number":118,"context_line":"             [nova.baserpc.rpcapi_cap_opt],"}],"source_content_type":"text/x-python","patch_set":6,"id":"da6ed579_2c51d262","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":36},"updated":"2016-01-13 15:09:01.000000000","message":"You won\u0027t need those lines anymore because the new \"nvoa/conf/opts.py\" reads that automatically from your module.","commit_id":"059413fdd13f3f289ab087fb720efeb530da21dd"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"cc64ea27519d4842183c94c8eb5b74ba4b1721db","unresolved":false,"context_lines":[{"line_number":112,"context_line":"from nova import volume"},{"line_number":113,"context_line":"from nova.volume import encryptors"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"import nova.conf"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"libvirt \u003d None"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_196a4981","line":115,"updated":"2016-01-19 14:42:30.000000000","message":"Hmm... the pep8 checks doesn\u0027t complain here, which is odd. I would expect it between the lines 68-69 above.","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"},{"author":{"_account_id":17139,"name":"Chuck Carmack","email":"carmack@us.ibm.com","username":"ccarmack"},"change_message_id":"684dc070d6be9563c45ebe49c83c285f7cc2e9ff","unresolved":false,"context_lines":[{"line_number":112,"context_line":"from nova import volume"},{"line_number":113,"context_line":"from nova.volume import encryptors"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"import nova.conf"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"libvirt \u003d None"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba63e191_36c0562a","line":115,"in_reply_to":"ba63e191_196a4981","updated":"2016-01-19 22:28:53.000000000","message":"I moved it anyway.","commit_id":"16bfdeb0075566e46abd1b9ea4b7ee81b39987f3"}]}
