)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"fc096ac1bcf2e3c791f6a3f8646bdc329d31bb8b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Expose keystoneclient\u0027s session and auth plugin loading parameters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In change id support was added to be able to specify and use the"},{"line_number":10,"context_line":"standard session and auth plugin helpers from keystoneclient to"},{"line_number":11,"context_line":"standardize the options available for talking to neutron."},{"line_number":12,"context_line":"I7b3b825737dde333c8d88019d814304cbefdbfc7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da20952f_e7528a66","line":9,"updated":"2015-09-01 04:04:36.000000000","message":"Was there meant to be a change id on this line?","commit_id":"b4c3734754d6c0b98a6d7c8fcade115a147440e7"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"b4dcc264007a654137d264c3cffc7e0cf01be087","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    list \u003d copy.deepcopy(_neutron_options)"},{"line_number":136,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":137,"context_line":"    plugins \u003d auth.get_available_plugin_classes()"},{"line_number":138,"context_line":"    for name in plugins:"},{"line_number":139,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":140,"context_line":"            found \u003d False"},{"line_number":141,"context_line":"            for option in list:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_0208cc26","line":138,"updated":"2015-09-01 04:17:51.000000000","message":"this could become a really long and unwieldly list. why not just expose the common ones?","commit_id":"c84e22ce9acb7039143d0657fc372eb16139bcc2"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c4181ff5938376a395f5e902428a49a0ff9194be","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    list \u003d copy.deepcopy(_neutron_options)"},{"line_number":136,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":137,"context_line":"    plugins \u003d auth.get_available_plugin_classes()"},{"line_number":138,"context_line":"    for name in plugins:"},{"line_number":139,"context_line":"        for plugin_option in auth.get_plugin_class(name).get_options():"},{"line_number":140,"context_line":"            found \u003d False"},{"line_number":141,"context_line":"            for option in list:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_1edd2442","line":138,"in_reply_to":"da20952f_0208cc26","updated":"2015-09-02 19:26:25.000000000","message":"Jamie, v2password, v3password, anything else?","commit_id":"c84e22ce9acb7039143d0657fc372eb16139bcc2"},{"author":{"_account_id":16839,"name":"Cale Rath","email":"ctrath@us.ibm.com","username":"ctrath"},"change_message_id":"f4e41ba1024eb0792311ed8d41c6f5740fcdd5dd","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            found \u003d False"},{"line_number":164,"context_line":"            for option in list:"},{"line_number":165,"context_line":"                if option.name \u003d\u003d plugin_option.name:"},{"line_number":166,"context_line":"                    found \u003d True"},{"line_number":167,"context_line":"            if not found:"},{"line_number":168,"context_line":"                list.append(plugin_option)"},{"line_number":169,"context_line":"    list.sort(key\u003dlambda x: x.name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_8debdfdb","line":166,"updated":"2015-09-04 21:23:33.000000000","message":"I\u0027m not sure how long the neutron options list is, but you could do a break here since it\u0027s not necessary to iterate through the rest of the list at this point.","commit_id":"2a778a6a968289100b55c5849a1cb98296614736"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"959b3a29b515aa61bf7ff31e2f4c68e46f42a940","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            found \u003d False"},{"line_number":164,"context_line":"            for option in list:"},{"line_number":165,"context_line":"                if option.name \u003d\u003d plugin_option.name:"},{"line_number":166,"context_line":"                    found \u003d True"},{"line_number":167,"context_line":"            if not found:"},{"line_number":168,"context_line":"                list.append(plugin_option)"},{"line_number":169,"context_line":"    list.sort(key\u003dlambda x: x.name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_8dbe7fac","line":166,"in_reply_to":"da20952f_8debdfdb","updated":"2015-09-04 21:30:27.000000000","message":"Done.","commit_id":"2a778a6a968289100b55c5849a1cb98296614736"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"a9ccbe35d6084a0095150269d3bf8e0d38522ef1","unresolved":false,"context_lines":[{"line_number":152,"context_line":"_ADMIN_AUTH \u003d None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"def list_opts():"},{"line_number":156,"context_line":"    list \u003d copy.deepcopy(_neutron_options)"},{"line_number":157,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":158,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_3a3f5db5","line":155,"updated":"2015-09-05 17:33:38.000000000","message":"would it be possible to add a doc string here that would indicate that this method is for the configuration generation.","commit_id":"9095b364bd8fb1e4f282d7aca44825eca1243b53"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"25a753c4952ffc323f2f69492eb478c3e018dbe0","unresolved":false,"context_lines":[{"line_number":152,"context_line":"_ADMIN_AUTH \u003d None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"def list_opts():"},{"line_number":156,"context_line":"    list \u003d copy.deepcopy(_neutron_options)"},{"line_number":157,"context_line":"    list.insert(0, auth.get_common_conf_options()[0])"},{"line_number":158,"context_line":"    # NOTE(dims): There are a lot of auth plugins, we just generate"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba15a1d1_fcb94c7a","line":155,"in_reply_to":"da20952f_3a3f5db5","updated":"2015-09-15 14:50:37.000000000","message":"+1 it would be good to add that if you have to respin.","commit_id":"9095b364bd8fb1e4f282d7aca44825eca1243b53"}]}
