)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5582f971682b3e6e662e7ad6fd7a5ba47422cde4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix config generation for Neutron auth options"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Keystoneauth auth plugins by default return their own option objects."},{"line_number":10,"context_line":"To properly generate a sample config they have to be converted to oslo.config"},{"line_number":11,"context_line":"option objects first."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ifb1f63d2465aff72b0914989faa9f244a60a947c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5aef4532_1be1cd9a","line":10,"range":{"start_line":10,"start_character":66,"end_line":10,"end_character":77},"updated":"2016-03-09 13:30:57.000000000","message":"nit: move this to the next line","commit_id":"ddd28ab98f8ce583eacc05b74db79fe2e6ddd9a3"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f0b36e99c54094cabe6cbbecb1846aebe63c6d69","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    found \u003d True"},{"line_number":99,"context_line":"                    break"},{"line_number":100,"context_line":"            if not found:"},{"line_number":101,"context_line":"                opts.append(plugin_option._to_oslo_opt())"},{"line_number":102,"context_line":"    opts.sort(key\u003dlambda x: x.name)"},{"line_number":103,"context_line":"    return [(NEUTRON_GROUP, opts)]"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_9f08902f","line":101,"range":{"start_line":101,"start_character":42,"end_line":101,"end_character":56},"updated":"2016-03-06 18:34:05.000000000","message":"So we have to use a private method for this? That\u0027s likely to break us at some point when the private method is renamed or removed.","commit_id":"3aa79b9d139e45609115d9e1746ee9439f937551"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"43f58b6f4715a532ef9e651c0486a47d4ad7b4a0","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    found \u003d True"},{"line_number":99,"context_line":"                    break"},{"line_number":100,"context_line":"            if not found:"},{"line_number":101,"context_line":"                opts.append(plugin_option._to_oslo_opt())"},{"line_number":102,"context_line":"    opts.sort(key\u003dlambda x: x.name)"},{"line_number":103,"context_line":"    return [(NEUTRON_GROUP, opts)]"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_b6155e41","line":101,"range":{"start_line":101,"start_character":42,"end_line":101,"end_character":56},"in_reply_to":"5aef4532_5ba0dff4","updated":"2016-03-09 12:05:25.000000000","message":"Done","commit_id":"3aa79b9d139e45609115d9e1746ee9439f937551"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"bf0504875b15d9c7ef604d45ac5e932b8d6e25a8","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    found \u003d True"},{"line_number":99,"context_line":"                    break"},{"line_number":100,"context_line":"            if not found:"},{"line_number":101,"context_line":"                opts.append(plugin_option._to_oslo_opt())"},{"line_number":102,"context_line":"    opts.sort(key\u003dlambda x: x.name)"},{"line_number":103,"context_line":"    return [(NEUTRON_GROUP, opts)]"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_5ba0dff4","line":101,"range":{"start_line":101,"start_character":42,"end_line":101,"end_character":56},"in_reply_to":"5aef4532_ad41f23b","updated":"2016-03-07 18:37:28.000000000","message":"keystoneauth provides a couple of public functions that convert to oslo.conf options -- http://git.openstack.org/cgit/openstack/keystoneauth/tree/keystoneauth1/loading/conf.py#n45","commit_id":"3aa79b9d139e45609115d9e1746ee9439f937551"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"0fcf1f443810bc2044e6437924bf68fe7d234f70","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                    found \u003d True"},{"line_number":99,"context_line":"                    break"},{"line_number":100,"context_line":"            if not found:"},{"line_number":101,"context_line":"                opts.append(plugin_option._to_oslo_opt())"},{"line_number":102,"context_line":"    opts.sort(key\u003dlambda x: x.name)"},{"line_number":103,"context_line":"    return [(NEUTRON_GROUP, opts)]"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_ad41f23b","line":101,"range":{"start_line":101,"start_character":42,"end_line":101,"end_character":56},"in_reply_to":"7af24918_9f08902f","updated":"2016-03-07 15:44:21.000000000","message":"Yeah, I think Matt is right here, I didn\u0027t see that at first. If \"keystoneauth\" cannot release a new version because of the release schedule (I\u0027m not sure) we might want to copy the logic [1] here, or is this crazy talk?\n\nReferences:\n[1] http://git.openstack.org/cgit/openstack/keystoneauth/tree/keystoneauth1/loading/opts.py?id\u003d943fde7d5023ef4fd7f8111949ab20246ccbeaf4#n100","commit_id":"3aa79b9d139e45609115d9e1746ee9439f937551"}]}
