)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ff1e2a005faa089fdf4b4e727bffd5469d869be","unresolved":false,"context_lines":[{"line_number":10,"context_line":"for multiple clouds to be stored in a local file and selected with"},{"line_number":11,"context_line":"a single option."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"All internal option names have had \u0027os_\u0027 removed to be comptible with"},{"line_number":14,"context_line":"the options returned from OpenStackConfig().get_one_cloud()."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The config file is ~/.config/openstack/clouds.yaml:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_bef65f5b","line":13,"updated":"2015-03-03 06:32:29.000000000","message":"good thing you wrote *internal* options, I almost freaked out when I first glimpsed at this line. thought you were proposing the change to the env/optional args...","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"d75557b132d8126849e079e956ff14c2fc0a5f47","unresolved":false,"context_lines":[{"line_number":19,"context_line":"------"},{"line_number":20,"context_line":"clouds:"},{"line_number":21,"context_line":"  fred:"},{"line_number":22,"context_line":"    auth_url: https://x:443/"},{"line_number":23,"context_line":"    project_name: slate"},{"line_number":24,"context_line":"    username: fflintst"},{"line_number":25,"context_line":"    password: pebbles"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_37efe688","line":22,"updated":"2015-03-03 12:15:30.000000000","message":"auth_url, project_name, username and password are all options that go into a dict called auth. there is a top-level option called \"auth_plugin\" that defaults to password ... and there is a validation function which will double check that you are passing in the options that keystoneclient needs for the given auth plugin.","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"}],"examples/object_api.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"3c3f8389106d4975cbd6ddb5a16176395beda041","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from openstackclient.api import object_store_v1 as object_store"},{"line_number":31,"context_line":"from openstackclient.identity import client as identity_client"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from os_client_config import config as cloud_config"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"LOG \u003d logging.getLogger(\u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_285aef4f","line":33,"updated":"2015-04-03 21:50:36.000000000","message":"3rd-party import goes to the second group of imports","commit_id":"644c03b9b86df83e4d864a36a1a803cb1b6ac3a0"}],"examples/osc-lib.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"3c3f8389106d4975cbd6ddb5a16176395beda041","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"from openstackclient.common import clientmanager"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from os_client_config import config as cloud_config"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"LOG \u003d logging.getLogger(\u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_c81ca379","line":32,"updated":"2015-04-03 21:50:36.000000000","message":"3rd party import goes to second group of imports","commit_id":"644c03b9b86df83e4d864a36a1a803cb1b6ac3a0"}],"openstackclient/api/auth.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ff1e2a005faa089fdf4b4e727bffd5469d869be","unresolved":false,"context_lines":[{"line_number":172,"context_line":"             \u0027 (Env: OS_AUTH_TYPE)\u0027,"},{"line_number":173,"context_line":"        choices\u003davailable_plugins"},{"line_number":174,"context_line":"    )"},{"line_number":175,"context_line":"    # make sure we catch old v2.0 env values"},{"line_number":176,"context_line":"    for o in OPTIONS_LIST:"},{"line_number":177,"context_line":"        # remove allusion to tenants from v2.0 API"},{"line_number":178,"context_line":"        if \u0027tenant\u0027 not in o:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_5eb1e38d","line":175,"updated":"2015-03-03 06:32:29.000000000","message":"i guess remove this comment too","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"a4fb5545975299182b82ca583cad9acbf4c01c7b","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    if auth_plugin_name:"},{"line_number":98,"context_line":"        LOG.debug(\u0027auth_type: %s\u0027, auth_plugin_name)"},{"line_number":99,"context_line":"        auth_plugin_class \u003d base.get_plugin_class(auth_plugin_name)"},{"line_number":100,"context_line":"        plugin_options \u003d auth_plugin_class.get_options()"},{"line_number":101,"context_line":"        for option in plugin_options:"},{"line_number":102,"context_line":"            option_name \u003d \u0027os_\u0027 + option.dest"},{"line_number":103,"context_line":"            LOG.debug(\u0027fetching option %s\u0027 % option_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_dc54d455","side":"PARENT","line":100,"updated":"2015-03-03 20:27:27.000000000","message":"Seems like this block of code should be revived","commit_id":"9ce112f1a1e05d18e590da20c268de967a7b4795"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"287478831478d7d7fb30bd28d995352269571e21","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                dest\u003do.replace(\u0027-\u0027, \u0027_\u0027),"},{"line_number":188,"context_line":"                default\u003denvs.get("},{"line_number":189,"context_line":"                    OPTIONS_LIST[o][\u0027env\u0027],"},{"line_number":190,"context_line":"                    utils.env(OPTIONS_LIST[o][\u0027env\u0027]),"},{"line_number":191,"context_line":"                ),"},{"line_number":192,"context_line":"                help\u003d\u0027%s\\n(Env: %s)\u0027 % ("},{"line_number":193,"context_line":"                    OPTIONS_LIST[o][\u0027help\u0027],"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aaa499b_c113ae5b","line":190,"updated":"2015-04-12 13:59:08.000000000","message":"Wait a minute.  Everywhere utils.env is used to default command line options should be removed.  This file and:\n\nopenstackclient/object/client.py\nopenstackclient/identity/client.py\nopenstackclient/shell.py\nopenstackclient/image/client.py\nopenstackclient/network/client.py\nopenstackclient/volume/client.py\nopenstackclient/compute/client.py","commit_id":"2872f3fdd934f7aabf921a9bc1646fa4f8a5e304"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"2a1eb3395c9b9dab0bce712fe5f7f9bc35ae139c","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                dest\u003do.replace(\u0027-\u0027, \u0027_\u0027),"},{"line_number":188,"context_line":"                default\u003denvs.get("},{"line_number":189,"context_line":"                    OPTIONS_LIST[o][\u0027env\u0027],"},{"line_number":190,"context_line":"                    utils.env(OPTIONS_LIST[o][\u0027env\u0027]),"},{"line_number":191,"context_line":"                ),"},{"line_number":192,"context_line":"                help\u003d\u0027%s\\n(Env: %s)\u0027 % ("},{"line_number":193,"context_line":"                    OPTIONS_LIST[o][\u0027help\u0027],"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aaa499b_160e7b34","line":190,"in_reply_to":"7aaa499b_c113ae5b","updated":"2015-04-12 20:48:49.000000000","message":"Why?\n\nI agree the precedence of cli options, env vars and occ config needs to be clarified, but to remove it entirely is a mistake.  We CAN NOT break the existing functionality.","commit_id":"2872f3fdd934f7aabf921a9bc1646fa4f8a5e304"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"287478831478d7d7fb30bd28d995352269571e21","unresolved":false,"context_lines":[{"line_number":189,"context_line":"                    OPTIONS_LIST[o][\u0027env\u0027],"},{"line_number":190,"context_line":"                    utils.env(OPTIONS_LIST[o][\u0027env\u0027]),"},{"line_number":191,"context_line":"                ),"},{"line_number":192,"context_line":"                help\u003d\u0027%s\\n(Env: %s)\u0027 % ("},{"line_number":193,"context_line":"                    OPTIONS_LIST[o][\u0027help\u0027],"},{"line_number":194,"context_line":"                    OPTIONS_LIST[o][\u0027env\u0027],"},{"line_number":195,"context_line":"                ),"}],"source_content_type":"text/x-python","patch_set":14,"id":"7aaa499b_e10d8a38","line":192,"updated":"2015-04-12 13:59:08.000000000","message":"Help shouldn\u0027t have env vars either.","commit_id":"2872f3fdd934f7aabf921a9bc1646fa4f8a5e304"}],"openstackclient/shell.py":[{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"3c3f8389106d4975cbd6ddb5a16176395beda041","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from openstackclient.common import timing"},{"line_number":32,"context_line":"from openstackclient.common import utils"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from os_client_config import config as cloud_config"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"DEFAULT_DOMAIN \u003d \u0027default\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_83131c0d","line":34,"updated":"2015-04-03 21:50:36.000000000","message":"3rd party lib, move up to line 26","commit_id":"644c03b9b86df83e4d864a36a1a803cb1b6ac3a0"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"3c3f8389106d4975cbd6ddb5a16176395beda041","unresolved":false,"context_lines":[{"line_number":252,"context_line":"            self.options.insecure and not self.options.verify"},{"line_number":253,"context_line":"        )"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"        # Set the default plugin to token_endpoint if rl and token are given"},{"line_number":256,"context_line":"        if (self.options.url and self.options.token):"},{"line_number":257,"context_line":"            # Use service token authentication"},{"line_number":258,"context_line":"            cloud_config.set_default(\u0027auth_type\u0027, \u0027token_endpoint\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_43f634d8","line":255,"updated":"2015-04-03 21:50:36.000000000","message":"rl -\u003e url","commit_id":"644c03b9b86df83e4d864a36a1a803cb1b6ac3a0"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"3c3f8389106d4975cbd6ddb5a16176395beda041","unresolved":false,"context_lines":[{"line_number":258,"context_line":"            cloud_config.set_default(\u0027auth_type\u0027, \u0027token_endpoint\u0027)"},{"line_number":259,"context_line":"        else:"},{"line_number":260,"context_line":"            cloud_config.set_default(\u0027auth_type\u0027, \u0027osc_password\u0027)"},{"line_number":261,"context_line":"        self.log.debug(\"options: %s\", self.options)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        # Do configuration file handling"},{"line_number":264,"context_line":"        cc \u003d cloud_config.OpenStackConfig()"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa041b7_e32d4847","line":261,"updated":"2015-04-03 21:50:36.000000000","message":"nit: use single quote consistently for strings","commit_id":"644c03b9b86df83e4d864a36a1a803cb1b6ac3a0"}],"openstackclient/tests/test_shell.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ff1e2a005faa089fdf4b4e727bffd5469d869be","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        flag \u003d \"--os-auth-url \" + DEFAULT_AUTH_URL"},{"line_number":179,"context_line":"        kwargs \u003d {"},{"line_number":180,"context_line":"            \"auth_url\": DEFAULT_AUTH_URL,"},{"line_number":181,"context_line":"            \"project_id\": \"\","},{"line_number":182,"context_line":"            \"project_name\": \"\","},{"line_number":183,"context_line":"            \"user_domain_id\": \"\","},{"line_number":184,"context_line":"            \"domain_id\": \"\","}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_3e47cf78","side":"PARENT","line":181,"updated":"2015-03-03 06:32:29.000000000","message":"glad to see all this go away","commit_id":"9ce112f1a1e05d18e590da20c268de967a7b4795"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ff1e2a005faa089fdf4b4e727bffd5469d869be","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                _shell.options.password,"},{"line_number":128,"context_line":"            )"},{"line_number":129,"context_line":"            self.assertEqual("},{"line_number":130,"context_line":"                default_args.get(\"region_name\", \u0027\u0027),"},{"line_number":131,"context_line":"                _shell.options.region_name,"},{"line_number":132,"context_line":"            )"},{"line_number":133,"context_line":"            self.assertEqual("}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_fe50d733","line":130,"updated":"2015-03-03 06:32:29.000000000","message":"whats the reasoning for the default value being \u0027\u0027 instead of None for region and auth_type?","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"18b31e06c78cebdcd8529d8ef7283ffd0716f709","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                _shell.options.password,"},{"line_number":128,"context_line":"            )"},{"line_number":129,"context_line":"            self.assertEqual("},{"line_number":130,"context_line":"                default_args.get(\"region_name\", \u0027\u0027),"},{"line_number":131,"context_line":"                _shell.options.region_name,"},{"line_number":132,"context_line":"            )"},{"line_number":133,"context_line":"            self.assertEqual("}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_ddff8b32","line":130,"in_reply_to":"ba7be1f8_fe50d733","updated":"2015-03-03 20:39:18.000000000","message":"\u0027make it work!\u0027\n\nIt\u0027s because this option is set in shell\u0027s parser rather than coming from a ksc plugin.","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"519a290b1c8c34110455c9fb700e05651a3db3dd","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            )"},{"line_number":153,"context_line":"            self.assertEqual("},{"line_number":154,"context_line":"                default_args.get(\"url\", None),"},{"line_number":155,"context_line":"                _shell.options.url,"},{"line_number":156,"context_line":"            )"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _assert_cli(self, cmd_options, default_args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_de9bfe70","line":155,"updated":"2015-03-03 14:32:11.000000000","message":"Shouldn\u0027t these be \"auth_url\", not \"url\"?","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"18b31e06c78cebdcd8529d8ef7283ffd0716f709","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            )"},{"line_number":153,"context_line":"            self.assertEqual("},{"line_number":154,"context_line":"                default_args.get(\"url\", None),"},{"line_number":155,"context_line":"                _shell.options.url,"},{"line_number":156,"context_line":"            )"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def _assert_cli(self, cmd_options, default_args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_b16afb17","line":155,"in_reply_to":"ba7be1f8_de9bfe70","updated":"2015-03-03 20:39:18.000000000","message":"My intent here is to test the osc-specific token_endpoint plugin so this is correct.  However, I do not have a class for ksc\u0027s token plugin and that should be added, which is what would use auth_url.","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ff1e2a005faa089fdf4b4e727bffd5469d869be","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        os.environ \u003d {}"},{"line_number":332,"context_line":"        flag \u003d \"\""},{"line_number":333,"context_line":"        kwargs \u003d {"},{"line_number":334,"context_line":"            # \"token\": \"\","},{"line_number":335,"context_line":"            \"url\": \"\","},{"line_number":336,"context_line":"        }"},{"line_number":337,"context_line":"        self._assert_token_auth(flag, kwargs)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba7be1f8_5e5f2341","line":334,"updated":"2015-03-03 06:32:29.000000000","message":"remove commented out code","commit_id":"72f02f41a4b933a888859a4e82c66d471d1eb9ab"}]}
