)]}'
{"heat/common/config.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                help\u003d_(\"If set, then the server\u0027s certificate will not \""},{"line_number":343,"context_line":"                       \"be verified.\"))]"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"heat_client_opts \u003d ["},{"line_number":346,"context_line":"    cfg.StrOpt(\u0027url\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":348,"context_line":"               help\u003d_(\u0027Optional heat url in format like\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_dada9449","line":345,"updated":"2019-03-12 17:13:22.000000000","message":"I\u0027m open to being convinced that this belongs in the heat_client section, but it seems to me like it might make more sense alongside the auth_uri option in the keystone_client section.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"32e63b5d8b85603120116a5e25787fac85783696","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                help\u003d_(\"If set, then the server\u0027s certificate will not \""},{"line_number":343,"context_line":"                       \"be verified.\"))]"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"heat_client_opts \u003d ["},{"line_number":346,"context_line":"    cfg.StrOpt(\u0027url\u0027,"},{"line_number":347,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":348,"context_line":"               help\u003d_(\u0027Optional heat url in format like\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_602c06ac","line":345,"in_reply_to":"5fc1f717_dada9449","updated":"2019-03-13 03:43:04.000000000","message":"+1","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":347,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":348,"context_line":"               help\u003d_(\u0027Optional heat url in format like\u0027"},{"line_number":349,"context_line":"                      \u0027 http://0.0.0.0:8004/v1/%(tenant_id)s.\u0027)),"},{"line_number":350,"context_line":"    cfg.StrOpt(\u0027server_base_auth_url\u0027,"},{"line_number":351,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":352,"context_line":"               help\u003d_(\u0027The auth url from the context of a provisioned virtual\u0027 "},{"line_number":353,"context_line":"                      \u0027 machine.\u0027))]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_3a3e388c","line":350,"range":{"start_line":350,"start_character":33,"end_line":350,"end_character":36},"updated":"2019-03-12 17:13:22.000000000","message":"For consistency we should use uri instead of url.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":347,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":348,"context_line":"               help\u003d_(\u0027Optional heat url in format like\u0027"},{"line_number":349,"context_line":"                      \u0027 http://0.0.0.0:8004/v1/%(tenant_id)s.\u0027)),"},{"line_number":350,"context_line":"    cfg.StrOpt(\u0027server_base_auth_url\u0027,"},{"line_number":351,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":352,"context_line":"               help\u003d_(\u0027The auth url from the context of a provisioned virtual\u0027 "},{"line_number":353,"context_line":"                      \u0027 machine.\u0027))]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_7aba800a","line":350,"range":{"start_line":350,"start_character":16,"end_line":350,"end_character":27},"updated":"2019-03-12 17:13:22.000000000","message":"This name is confusing - the existence of the server_base module is an implementation detail that no operator should ever have to think about.\n\nIs there a reason not to just call it public_auth_uri? (i.e. is there a scenario in which the endpoint that is reachable from a provisioned server is _not_ the \"public\" endpoint?)\n\nIf so then maybe provisioned_server_auth_uri?","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"32e63b5d8b85603120116a5e25787fac85783696","unresolved":false,"context_lines":[{"line_number":347,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":348,"context_line":"               help\u003d_(\u0027Optional heat url in format like\u0027"},{"line_number":349,"context_line":"                      \u0027 http://0.0.0.0:8004/v1/%(tenant_id)s.\u0027)),"},{"line_number":350,"context_line":"    cfg.StrOpt(\u0027server_base_auth_url\u0027,"},{"line_number":351,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":352,"context_line":"               help\u003d_(\u0027The auth url from the context of a provisioned virtual\u0027 "},{"line_number":353,"context_line":"                      \u0027 machine.\u0027))]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_a00f4e35","line":350,"range":{"start_line":350,"start_character":16,"end_line":350,"end_character":27},"in_reply_to":"5fc1f717_7aba800a","updated":"2019-03-13 03:43:04.000000000","message":"yep public_auth_uri or external_auth_uri sounds good and in keystone_client section.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":29865,"name":"Georgina Shippey","email":"georgina.shippey@outlook.com","username":"gshippey"},"change_message_id":"fabcd4ac3935d919daaf51ea683f862449f22673","unresolved":false,"context_lines":[{"line_number":347,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":348,"context_line":"               help\u003d_(\u0027Optional heat url in format like\u0027"},{"line_number":349,"context_line":"                      \u0027 http://0.0.0.0:8004/v1/%(tenant_id)s.\u0027)),"},{"line_number":350,"context_line":"    cfg.StrOpt(\u0027server_base_auth_url\u0027,"},{"line_number":351,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":352,"context_line":"               help\u003d_(\u0027The auth url from the context of a provisioned virtual\u0027 "},{"line_number":353,"context_line":"                      \u0027 machine.\u0027))]"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_9032960f","line":350,"range":{"start_line":350,"start_character":16,"end_line":350,"end_character":27},"in_reply_to":"5fc1f717_a00f4e35","updated":"2019-03-13 17:20:33.000000000","message":"Went for public_auth_uri, I agree it should be in the keystone_client section.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                      \u0027 http://0.0.0.0:8004/v1/%(tenant_id)s.\u0027)),"},{"line_number":350,"context_line":"    cfg.StrOpt(\u0027server_base_auth_url\u0027,"},{"line_number":351,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":352,"context_line":"               help\u003d_(\u0027The auth url from the context of a provisioned virtual\u0027 "},{"line_number":353,"context_line":"                      \u0027 machine.\u0027))]"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"keystone_client_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_3a8b986e","line":352,"range":{"start_line":352,"start_character":78,"end_line":352,"end_character":79},"updated":"2019-03-12 17:13:22.000000000","message":"pep8 will likely complain about this trailing space.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                      \u0027 http://0.0.0.0:8004/v1/%(tenant_id)s.\u0027)),"},{"line_number":350,"context_line":"    cfg.StrOpt(\u0027server_base_auth_url\u0027,"},{"line_number":351,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":352,"context_line":"               help\u003d_(\u0027The auth url from the context of a provisioned virtual\u0027 "},{"line_number":353,"context_line":"                      \u0027 machine.\u0027))]"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"keystone_client_opts \u003d ["},{"line_number":356,"context_line":"    cfg.StrOpt(\u0027auth_uri\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_ba72287a","line":353,"range":{"start_line":352,"start_character":70,"end_line":353,"end_character":31},"updated":"2019-03-12 17:13:22.000000000","message":"Also applies to bare-metal, so maybe just use \u0027server\u0027 here.\n\nWe should specify in the comment exactly which URI we want to see and give an example, like on line 358-359.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"f4b8118caabfb3cce75d0ad7b2cd1a86e4e8aa3a","unresolved":false,"context_lines":[{"line_number":360,"context_line":"                      \u0027 http://0.0.0.0:5000.\u0027)),"},{"line_number":361,"context_line":"    cfg.StrOpt(\u0027public_auth_uri\u0027,"},{"line_number":362,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":363,"context_line":"               help\u003d_(\u0027A v3 keystone auth url from the context of a\u0027"},{"line_number":364,"context_line":"                      \u0027 provisioned server, in a format like\u0027"},{"line_number":365,"context_line":"                      \u0027http://0.0.0.0:5000/v3.\u0027))]"},{"line_number":366,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_93c5325e","line":363,"updated":"2019-03-20 20:41:06.000000000","message":"It\u0027s unfortunate that we have this inconsistency in meaning between auth_uri (unversioned auth URI) and public_auth_uri (a versioned Keystone endpoint URL).\n\nThis may be unavoidable, because Heat itself does not necessarily have access to the public endpoint, so it wouldn\u0027t be able to ask Keystone for the correct versioned endpoint via the public_auth_uri.\n\nThis does raise a question: is there any way of obtaining the *public* versioned Keystone endpoint given only the *internal* auth_uri? If there were then that might be a better option than adding a config option (and we could incorporate it into e.g. https://git.openstack.org/cgit/openstack/heat/tree/heat/common/endpoint_utils.py#n24). \n\nIf not then IIUC asking for the versioned endpoint in the config file is probably just how it has to be due to signal_responder\u0027s requirement of providing a v3 endpoint specifically.","commit_id":"8d9a9130dcbeb3f64a083f533256dbe3f3f462cb"},{"author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"change_message_id":"4b68ba4215dd3da143d2867a4b028be1ff97cc3d","unresolved":false,"context_lines":[{"line_number":360,"context_line":"                      \u0027 http://0.0.0.0:5000.\u0027)),"},{"line_number":361,"context_line":"    cfg.StrOpt(\u0027public_auth_uri\u0027,"},{"line_number":362,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":363,"context_line":"               help\u003d_(\u0027A v3 keystone auth url from the context of a\u0027"},{"line_number":364,"context_line":"                      \u0027 provisioned server, in a format like\u0027"},{"line_number":365,"context_line":"                      \u0027http://0.0.0.0:5000/v3.\u0027))]"},{"line_number":366,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_8efe65ac","line":363,"in_reply_to":"5fc1f717_93c5325e","updated":"2019-03-20 21:08:30.000000000","message":"The thing that springs to mind obviously here is that it is possible to query the service catalog at the cli and easily list all the endpoints \"openstack endpoint list\".\n\nTherefore it should be possible to achieve the same in code.","commit_id":"8d9a9130dcbeb3f64a083f533256dbe3f3f462cb"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"f4b8118caabfb3cce75d0ad7b2cd1a86e4e8aa3a","unresolved":false,"context_lines":[{"line_number":362,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":363,"context_line":"               help\u003d_(\u0027A v3 keystone auth url from the context of a\u0027"},{"line_number":364,"context_line":"                      \u0027 provisioned server, in a format like\u0027"},{"line_number":365,"context_line":"                      \u0027http://0.0.0.0:5000/v3.\u0027))]"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"client_http_log_debug_opts \u003d ["},{"line_number":368,"context_line":"    cfg.BoolOpt(\u0027http_log_debug\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5fc1f717_b3f70ed5","line":365,"updated":"2019-03-20 20:41:06.000000000","message":"Can we please add some sort of comment about what this is used for? e.g.\n\n\"This option should be provided when the auth_uri is not reachable from user workloads (i.e. servers provisioned using Heat). If it is not provided, auth_uri will be used instead.\"","commit_id":"8d9a9130dcbeb3f64a083f533256dbe3f3f462cb"}],"heat/engine/resources/server_base.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            occ.update({\u0027heat\u0027: {"},{"line_number":85,"context_line":"                \u0027user_id\u0027: self._get_user_id(),"},{"line_number":86,"context_line":"                \u0027password\u0027: self.password,"},{"line_number":87,"context_line":"                \u0027auth_url\u0027: (cfg.CONF.clients_keystone.server_base_auth_url or"},{"line_number":88,"context_line":"                        self.context.auth_url),"},{"line_number":89,"context_line":"                \u0027project_id\u0027: self.stack.stack_user_project_id,"},{"line_number":90,"context_line":"                \u0027stack_id\u0027: self.stack.identifier().stack_path(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_7aeb60db","line":87,"range":{"start_line":87,"start_character":38,"end_line":87,"end_character":54},"updated":"2019-03-12 17:13:22.000000000","message":"I think clients_keystone is indeed probably the right place for it, but currently it\u0027s actually in clients_heat so this won\u0027t work.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"},{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                \u0027user_id\u0027: self._get_user_id(),"},{"line_number":86,"context_line":"                \u0027password\u0027: self.password,"},{"line_number":87,"context_line":"                \u0027auth_url\u0027: (cfg.CONF.clients_keystone.server_base_auth_url or"},{"line_number":88,"context_line":"                        self.context.auth_url),"},{"line_number":89,"context_line":"                \u0027project_id\u0027: self.stack.stack_user_project_id,"},{"line_number":90,"context_line":"                \u0027stack_id\u0027: self.stack.identifier().stack_path(),"},{"line_number":91,"context_line":"                \u0027resource_name\u0027: self.name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_3aa8788b","line":88,"updated":"2019-03-12 17:13:22.000000000","message":"It would be nice if we can encapsulate this logic somewhere - wrap it up in a function/method so we only have one implementation, and give it a name that tells us when to use it and when not to.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"}],"heat/engine/resources/signal_responder.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"de4c137f60680f4846bd7218d543a6def24b42c9","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                self.password \u003d password_gen.generate_openstack_password()"},{"line_number":105,"context_line":"            self._create_user()"},{"line_number":106,"context_line":"        return {\u0027auth_url\u0027: (cfg.CONF.clients_keystone.server_base_auth_url or"},{"line_number":107,"context_line":"                self.keystone().v3_endpoint),"},{"line_number":108,"context_line":"                \u0027username\u0027: self.physical_resource_name(),"},{"line_number":109,"context_line":"                \u0027user_id\u0027: self._get_user_id(),"},{"line_number":110,"context_line":"                \u0027password\u0027: self.password,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_bac46892","line":107,"updated":"2019-03-12 17:13:22.000000000","message":"Not sure about this one, because it appears we specifically need a Keystone v3 endpoint, and that\u0027s not what we\u0027re asking users to put in the config file.","commit_id":"0981fb021bb850148232d031ca41e8db7197a577"}]}
