)]}'
{"os_client_config/cloud_config.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"65cd4111f7659170a8dfcd071cac2c137e6aed1e","unresolved":false,"context_lines":[{"line_number":376,"context_line":"                \u0027project_name\u0027)"},{"line_number":377,"context_line":"            swift_kwargs[\u0027os_options\u0027][\u0027tenant_id\u0027] \u003d auth_args.get("},{"line_number":378,"context_line":"                \u0027project_id\u0027)"},{"line_number":379,"context_line":"            # create with password"},{"line_number":380,"context_line":"        else:"},{"line_number":381,"context_line":"            session \u003d self.get_session()"},{"line_number":382,"context_line":"            token \u003d session.get_token()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_c9ec91f5","line":379,"updated":"2016-02-11 18:42:31.000000000","message":"Are tenants and projects equivalent? We\u0027ve always taken them as separate options [1] and just passed them straight through to keystoneclient [2].\n\nYou may also want to pass through some or all of:\n\n* user_id\n* user_domain_name\n* user_domain_id\n* project_domain_name\n* project_domain_id\n* service_type\n* endpoint_type\n\n(All still in the os_options dict.)\n\n[1] https://github.com/openstack/python-swiftclient/blob/2.7.0/swiftclient/shell.py#L1103-L1108\n\n[2] https://github.com/openstack/python-swiftclient/blob/2.7.0/swiftclient/client.py#L399-L407","commit_id":"58313f22f21de80e49ec3521c25fb4499888b5f6"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"5eea6fc4a49c3e3ba1ed3c0647291909effbf759","unresolved":false,"context_lines":[{"line_number":376,"context_line":"                \u0027project_name\u0027)"},{"line_number":377,"context_line":"            swift_kwargs[\u0027os_options\u0027][\u0027tenant_id\u0027] \u003d auth_args.get("},{"line_number":378,"context_line":"                \u0027project_id\u0027)"},{"line_number":379,"context_line":"            # create with password"},{"line_number":380,"context_line":"        else:"},{"line_number":381,"context_line":"            session \u003d self.get_session()"},{"line_number":382,"context_line":"            token \u003d session.get_token()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a57f1b5_4c20a548","line":379,"in_reply_to":"3a57f1b5_c9ec91f5","updated":"2016-02-11 23:23:36.000000000","message":"Yup I believe that tenant and project are the same thing with different names over time. They end up all being squashed together into whatever the current flavor of the day is.\n\nGood point on the other args particularly domains as I think they are required to support keystonev3.","commit_id":"58313f22f21de80e49ec3521c25fb4499888b5f6"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"6de025598fcdac9e462b90ab6c4f45efd6f96774","unresolved":false,"context_lines":[{"line_number":394,"context_line":"                os_options[key] \u003d auth_args.get(key)"},{"line_number":395,"context_line":"            os_options[\u0027service_type\u0027] \u003d self.get_service_type(\u0027object-store\u0027)"},{"line_number":396,"context_line":"            os_options[\u0027endpoint_type\u0027] \u003d self.get_interface(\u0027object-store\u0027)"},{"line_number":397,"context_line":"            os_options[\u0027object_storage_url\u0027] \u003d self.get_session_endpoint("},{"line_number":398,"context_line":"                service_key\u003d\u0027object-store\u0027)"},{"line_number":399,"context_line":"            swift_kwargs[\u0027os_options\u0027].update(os_options)"},{"line_number":400,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_3b19b2d7","line":397,"updated":"2016-02-12 17:32:31.000000000","message":"So we\u0027ll still create a session and auth, then have swiftclient re-auth immediately?\n\nWould it be better to use self.get_endpoint(\u0027object-store\u0027), so we only apply the override (if one exists)?\n\nAlternatively, you could still pass in the preauth args; swiftclient will use them until they expire. Since we passed in all the necessary credentials, at that point it will re-auth and try again.","commit_id":"cf5af16f651e809ca8fc4c8f8a939d92639746aa"}]}
