)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7b8305097c2d5ca11d8fa9a9b325f8126af8691d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"If deprecated options aren\u0027t registered, interface will not exist."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Tests needed."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic3df9817f0038f8f610db70d7e34fe9d458606b6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df3967d1_45a4ea08","line":12,"updated":"2017-07-28 18:54:10.000000000","message":"and a Closes-Bug","commit_id":"204d08d8cce855ed7e96a53000fb3abd5ef1566b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"d2ba2c63664f65d08f1eb41e80d522a99b3df644","unresolved":false,"context_lines":[{"line_number":9,"context_line":"If deprecated options aren\u0027t registered, interface will not exist."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Tests needed."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic3df9817f0038f8f610db70d7e34fe9d458606b6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df3967d1_c5c45a43","line":12,"in_reply_to":"df3967d1_45a4ea08","updated":"2017-07-28 19:13:17.000000000","message":"Done","commit_id":"204d08d8cce855ed7e96a53000fb3abd5ef1566b"}],"keystoneauth1/loading/adapter.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3627c61f3e19536ae743b143253d41416c1221bd","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        \"\"\""},{"line_number":170,"context_line":"        c \u003d conf[group]"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if c.valid_interfaces and hasattr(c, \u0027interface\u0027) and c.interface:"},{"line_number":173,"context_line":"            raise TypeError(\"interface and valid_interfaces are mutually\""},{"line_number":174,"context_line":"                            \" exclusive. Please use valid_interfaces.\")"},{"line_number":175,"context_line":"        if c.valid_interfaces:"}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_1a3f61d7","line":172,"updated":"2017-07-28 18:47:24.000000000","message":"is the last bit of this statement required?","commit_id":"2bf2c84b5ba7c2acbfb12c4df33bc1f8ce2efa46"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5d55f8ea833e35199351bb431b9dae28108a6f1f","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        \"\"\""},{"line_number":170,"context_line":"        c \u003d conf[group]"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        if c.valid_interfaces and hasattr(c, \u0027interface\u0027) and c.interface:"},{"line_number":173,"context_line":"            raise TypeError(\"interface and valid_interfaces are mutually\""},{"line_number":174,"context_line":"                            \" exclusive. Please use valid_interfaces.\")"},{"line_number":175,"context_line":"        if c.valid_interfaces:"}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_852772b7","line":172,"in_reply_to":"df3967d1_1a3f61d7","updated":"2017-07-28 18:50:34.000000000","message":"Yes; the conf has the attribute even if the value isn\u0027t specified.","commit_id":"2bf2c84b5ba7c2acbfb12c4df33bc1f8ce2efa46"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7b8305097c2d5ca11d8fa9a9b325f8126af8691d","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            kwargs.setdefault(\u0027interface\u0027, c.valid_interfaces)"},{"line_number":182,"context_line":"        elif hasattr(c, \u0027interface\u0027):"},{"line_number":183,"context_line":"            kwargs.setdefault(\u0027interface\u0027, c.interface)"},{"line_number":184,"context_line":"        kwargs.setdefault(\u0027service_type\u0027, c.service_type)"},{"line_number":185,"context_line":"        kwargs.setdefault(\u0027service_name\u0027, c.service_name)"},{"line_number":186,"context_line":"        kwargs.setdefault(\u0027region_name\u0027, c.region_name)"},{"line_number":187,"context_line":"        kwargs.setdefault(\u0027endpoint_override\u0027, c.endpoint_override)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df3967d1_45562a09","line":184,"updated":"2017-07-28 18:54:10.000000000","message":"Umm, do we also need\n\n else:\n     kwargs.setdefault(\u0027interface\u0027, None)\n\n?\n\nNot sure if omitting that will get us a KeyError or missing arg or something later on.\n\nI guess prolly not, cause it ends up at the Adapter init, which has a default for the kwarg.","commit_id":"204d08d8cce855ed7e96a53000fb3abd5ef1566b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"9b0872ffca550dcc5189a339ab48bd8ba180ded7","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        if c.valid_interfaces:"},{"line_number":176,"context_line":"            for iface in c.valid_interfaces:"},{"line_number":177,"context_line":"                if iface not in (\u0027public\u0027, \u0027internal\u0027, \u0027admin\u0027):"},{"line_number":178,"context_line":"                    raise TypeError(\"\u0027{iface}\u0027 is not a valid value for\""},{"line_number":179,"context_line":"                                    \" valid_interfaces. Valid valies are\""},{"line_number":180,"context_line":"                                    \" public, internal or admin\")"},{"line_number":181,"context_line":"            kwargs.setdefault(\u0027interface\u0027, c.valid_interfaces)"},{"line_number":182,"context_line":"        elif hasattr(c, \u0027interface\u0027):"},{"line_number":183,"context_line":"            kwargs.setdefault(\u0027interface\u0027, c.interface)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_9d4b4686","line":180,"range":{"start_line":178,"start_character":20,"end_line":180,"end_character":64},"updated":"2017-07-28 22:20:14.000000000","message":".format(...) !","commit_id":"08c259f417429184a023a2fbd08092a2d854145d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"620986e38503e1abd2a2db64c84cbc9f0306ebb7","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        if c.valid_interfaces:"},{"line_number":176,"context_line":"            for iface in c.valid_interfaces:"},{"line_number":177,"context_line":"                if iface not in (\u0027public\u0027, \u0027internal\u0027, \u0027admin\u0027):"},{"line_number":178,"context_line":"                    raise TypeError(\"\u0027{iface}\u0027 is not a valid value for\""},{"line_number":179,"context_line":"                                    \" valid_interfaces. Valid valies are\""},{"line_number":180,"context_line":"                                    \" public, internal or admin\")"},{"line_number":181,"context_line":"            kwargs.setdefault(\u0027interface\u0027, c.valid_interfaces)"},{"line_number":182,"context_line":"        elif hasattr(c, \u0027interface\u0027):"},{"line_number":183,"context_line":"            kwargs.setdefault(\u0027interface\u0027, c.interface)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df3967d1_5d139e67","line":180,"range":{"start_line":178,"start_character":20,"end_line":180,"end_character":64},"in_reply_to":"df3967d1_9d4b4686","updated":"2017-07-28 22:22:48.000000000","message":"Done","commit_id":"08c259f417429184a023a2fbd08092a2d854145d"}]}
