)]}'
{"keystoneclient/middleware/auth_token.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3c6af091f723069132e5d563b558f93c7226c53b","unresolved":false,"context_lines":[{"line_number":248,"context_line":"               \u0027 instead.\u0027),"},{"line_number":249,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":250,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":251,"context_line":"    cfg.StrOpt(\u0027admin_user_domain\u0027,"},{"line_number":252,"context_line":"               default\u003d\"Default\","},{"line_number":253,"context_line":"               help\u003d\u0027Keystone account user domain name\u0027),"},{"line_number":254,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_ab78ddc4","line":251,"updated":"2014-05-06 14:57:23.000000000","message":"this should be specific as to whether it\u0027s the _id or _name. you\u0027ve implemented it as _name, so I suggest just adding that","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"986f875b7e48d4f37c257ce6cee8b8a17e763772","unresolved":false,"context_lines":[{"line_number":248,"context_line":"               \u0027 instead.\u0027),"},{"line_number":249,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":250,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":251,"context_line":"    cfg.StrOpt(\u0027admin_user_domain\u0027,"},{"line_number":252,"context_line":"               default\u003d\"Default\","},{"line_number":253,"context_line":"               help\u003d\u0027Keystone account user domain name\u0027),"},{"line_number":254,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_4e511f35","line":251,"in_reply_to":"9ad9bd40_ab78ddc4","updated":"2014-05-06 15:31:16.000000000","message":"ok","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3c6af091f723069132e5d563b558f93c7226c53b","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":255,"context_line":"               secret\u003dTrue,"},{"line_number":256,"context_line":"               help\u003d\u0027Keystone account password\u0027),"},{"line_number":257,"context_line":"    cfg.StrOpt(\u0027admin_tenant_name\u0027,"},{"line_number":258,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":259,"context_line":"               help\u003d\u0027Keystone service account tenant name to validate\u0027"},{"line_number":260,"context_line":"               \u0027 user tokens\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_8e7fa765","line":257,"updated":"2014-05-06 14:57:23.000000000","message":"following this patch, admin_tenant_name should be deprecated in favor of admin_project_name","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"986f875b7e48d4f37c257ce6cee8b8a17e763772","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":255,"context_line":"               secret\u003dTrue,"},{"line_number":256,"context_line":"               help\u003d\u0027Keystone account password\u0027),"},{"line_number":257,"context_line":"    cfg.StrOpt(\u0027admin_tenant_name\u0027,"},{"line_number":258,"context_line":"               default\u003d\u0027admin\u0027,"},{"line_number":259,"context_line":"               help\u003d\u0027Keystone service account tenant name to validate\u0027"},{"line_number":260,"context_line":"               \u0027 user tokens\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_8e47a776","line":257,"in_reply_to":"9ad9bd40_8e7fa765","updated":"2014-05-06 15:31:16.000000000","message":"agree","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3c6af091f723069132e5d563b558f93c7226c53b","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                \"admin_token option may be removed in a future release.\")"},{"line_number":495,"context_line":"        self.admin_token_expiry \u003d None"},{"line_number":496,"context_line":"        self.admin_user \u003d self._conf_get(\u0027admin_user\u0027)"},{"line_number":497,"context_line":"        self.admin_user_domain \u003d self._conf_get(\u0027admin_user_domain\u0027)"},{"line_number":498,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":499,"context_line":"        self.admin_tenant_name \u003d self._conf_get(\u0027admin_tenant_name\u0027)"},{"line_number":500,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_4b511135","line":497,"updated":"2014-05-06 14:57:23.000000000","message":"self.admin_user_domain_name","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"986f875b7e48d4f37c257ce6cee8b8a17e763772","unresolved":false,"context_lines":[{"line_number":494,"context_line":"                \"admin_token option may be removed in a future release.\")"},{"line_number":495,"context_line":"        self.admin_token_expiry \u003d None"},{"line_number":496,"context_line":"        self.admin_user \u003d self._conf_get(\u0027admin_user\u0027)"},{"line_number":497,"context_line":"        self.admin_user_domain \u003d self._conf_get(\u0027admin_user_domain\u0027)"},{"line_number":498,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":499,"context_line":"        self.admin_tenant_name \u003d self._conf_get(\u0027admin_tenant_name\u0027)"},{"line_number":500,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_ae5f0b40","line":497,"in_reply_to":"9ad9bd40_4b511135","updated":"2014-05-06 15:31:16.000000000","message":"ok","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3c6af091f723069132e5d563b558f93c7226c53b","unresolved":false,"context_lines":[{"line_number":805,"context_line":"    def _get_auth_version(self):"},{"line_number":806,"context_line":"        if not self.auth_version:"},{"line_number":807,"context_line":"            self.auth_version \u003d self._choose_api_version()"},{"line_number":808,"context_line":"        return self.auth_version"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"    def _request_admin_token(self):"},{"line_number":811,"context_line":"        \"\"\"Retrieve new token as admin user from keystone."}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_ee69138d","line":808,"updated":"2014-05-06 14:57:23.000000000","message":"as an alternative to the use_v3 property below, that suggestion could be combined with this method","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"986f875b7e48d4f37c257ce6cee8b8a17e763772","unresolved":false,"context_lines":[{"line_number":805,"context_line":"    def _get_auth_version(self):"},{"line_number":806,"context_line":"        if not self.auth_version:"},{"line_number":807,"context_line":"            self.auth_version \u003d self._choose_api_version()"},{"line_number":808,"context_line":"        return self.auth_version"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"    def _request_admin_token(self):"},{"line_number":811,"context_line":"        \"\"\"Retrieve new token as admin user from keystone."}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_d1add0ea","line":808,"in_reply_to":"9ad9bd40_ee69138d","updated":"2014-05-06 15:31:16.000000000","message":"ok","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3c6af091f723069132e5d563b558f93c7226c53b","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                    },"},{"line_number":834,"context_line":"                    \"scope\": {"},{"line_number":835,"context_line":"                        \"project\": {"},{"line_number":836,"context_line":"                            \"domain\": {\"name\": self.admin_user_domain},"},{"line_number":837,"context_line":"                            \"name\": self.admin_tenant_name"},{"line_number":838,"context_line":"                        }"},{"line_number":839,"context_line":"                    }"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_8e7167aa","line":836,"updated":"2014-05-06 14:57:23.000000000","message":"this is wrong from a UX standpoint. the project scope *may* logically default to the user\u0027s domain scope, but it *should* be separately configurable and appear in config as admin_project_domain_name","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"986f875b7e48d4f37c257ce6cee8b8a17e763772","unresolved":false,"context_lines":[{"line_number":833,"context_line":"                    },"},{"line_number":834,"context_line":"                    \"scope\": {"},{"line_number":835,"context_line":"                        \"project\": {"},{"line_number":836,"context_line":"                            \"domain\": {\"name\": self.admin_user_domain},"},{"line_number":837,"context_line":"                            \"name\": self.admin_tenant_name"},{"line_number":838,"context_line":"                        }"},{"line_number":839,"context_line":"                    }"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_31eb5c14","line":836,"in_reply_to":"9ad9bd40_8e7167aa","updated":"2014-05-06 15:31:16.000000000","message":"nice catch","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3c6af091f723069132e5d563b558f93c7226c53b","unresolved":false,"context_lines":[{"line_number":850,"context_line":"                    \u0027tenantName\u0027: self.admin_tenant_name,"},{"line_number":851,"context_line":"                }"},{"line_number":852,"context_line":"            }"},{"line_number":853,"context_line":"            get_token_url \u003d \u0027/v2.0/tokens\u0027"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"        response, data \u003d self._json_request(\u0027POST\u0027,"},{"line_number":856,"context_line":"                                            get_token_url,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_0e5d5715","line":853,"updated":"2014-05-06 14:57:23.000000000","message":"it\u0027s not really a retrieval operation, it\u0027s generating a new token\n\n  create_token_url","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"986f875b7e48d4f37c257ce6cee8b8a17e763772","unresolved":false,"context_lines":[{"line_number":850,"context_line":"                    \u0027tenantName\u0027: self.admin_tenant_name,"},{"line_number":851,"context_line":"                }"},{"line_number":852,"context_line":"            }"},{"line_number":853,"context_line":"            get_token_url \u003d \u0027/v2.0/tokens\u0027"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"        response, data \u003d self._json_request(\u0027POST\u0027,"},{"line_number":856,"context_line":"                                            get_token_url,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_2e33fb14","line":853,"in_reply_to":"9ad9bd40_0e5d5715","updated":"2014-05-06 15:31:16.000000000","message":"ok","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"3c6af091f723069132e5d563b558f93c7226c53b","unresolved":false,"context_lines":[{"line_number":1369,"context_line":""},{"line_number":1370,"context_line":"    def fetch_revocation_list(self, retry\u003dTrue):"},{"line_number":1371,"context_line":"        headers \u003d {\u0027X-Auth-Token\u0027: self.get_admin_token()}"},{"line_number":1372,"context_line":"        if self._get_auth_version() \u003d\u003d \u0027v3.0\u0027:"},{"line_number":1373,"context_line":"            revoked_url \u003d \u0027/v3/auth/tokens/OS-PKI/revoked\u0027"},{"line_number":1374,"context_line":"        else:"},{"line_number":1375,"context_line":"            revoked_url \u003d \u0027/v2.0/tokens/revoked\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_ab261dcc","line":1372,"updated":"2014-05-06 14:57:23.000000000","message":"it\u0027d be nice if this comparison was a property:\n\n  @property\n  def use_v3(self):\n    return self._get_auth_version() \u003d\u003d \u0027v3.0\u0027\n\nand then all these conditionals become:\n\n  if self.use_v3():\n    # do work on v3\n  else:\n    # do work on v2","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"986f875b7e48d4f37c257ce6cee8b8a17e763772","unresolved":false,"context_lines":[{"line_number":1369,"context_line":""},{"line_number":1370,"context_line":"    def fetch_revocation_list(self, retry\u003dTrue):"},{"line_number":1371,"context_line":"        headers \u003d {\u0027X-Auth-Token\u0027: self.get_admin_token()}"},{"line_number":1372,"context_line":"        if self._get_auth_version() \u003d\u003d \u0027v3.0\u0027:"},{"line_number":1373,"context_line":"            revoked_url \u003d \u0027/v3/auth/tokens/OS-PKI/revoked\u0027"},{"line_number":1374,"context_line":"        else:"},{"line_number":1375,"context_line":"            revoked_url \u003d \u0027/v2.0/tokens/revoked\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad9bd40_d166b0ec","line":1372,"in_reply_to":"9ad9bd40_ab261dcc","updated":"2014-05-06 15:31:16.000000000","message":"Thks, that\u0027s elegant.","commit_id":"04e6b109922d3a49a38931bf3f627da0933d7338"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"5bb9c299e692a01e6d7b033ea9bb7f5eef06609f","unresolved":false,"context_lines":[{"line_number":246,"context_line":"               \u0027 bypassing the normal authentication process. This option\u0027"},{"line_number":247,"context_line":"               \u0027 should not be used, use `admin_user_name` and\u0027"},{"line_number":248,"context_line":"               \u0027 `admin_password` instead.\u0027),"},{"line_number":249,"context_line":"    cfg.StrOpt(\u0027admin_user_name\u0027,"},{"line_number":250,"context_line":"               deprecated_name\u003d\u0027admin_user\u0027,"},{"line_number":251,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027admin_user_domain_name\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad9bd40_ba14a144","line":249,"updated":"2014-05-06 17:14:20.000000000","message":"You can\u0027t change a config option this quickly.  You will break existing deployments.  You need to add the new options and deprecate the old.","commit_id":"2c0ccdd9937e093986e13f1d96d8ef0c10cd22b4"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"f2a14765abd45adfb15352fea358eaf794acd02d","unresolved":false,"context_lines":[{"line_number":246,"context_line":"               \u0027 bypassing the normal authentication process. This option\u0027"},{"line_number":247,"context_line":"               \u0027 should not be used, use `admin_user_name` and\u0027"},{"line_number":248,"context_line":"               \u0027 `admin_password` instead.\u0027),"},{"line_number":249,"context_line":"    cfg.StrOpt(\u0027admin_user_name\u0027,"},{"line_number":250,"context_line":"               deprecated_name\u003d\u0027admin_user\u0027,"},{"line_number":251,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027admin_user_domain_name\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad9bd40_e094bc8c","line":249,"in_reply_to":"9ad9bd40_ba14a144","updated":"2014-05-06 18:36:50.000000000","message":"Hi ayoung,\nI added the deprecated_name\u003d\u0027admin_user\u0027 kwarg just below. According to my devstack tests, it still allows using the old \u0027admin_user\u0027 option instead of the new one. I don\u0027t think I broke compatibility.","commit_id":"2c0ccdd9937e093986e13f1d96d8ef0c10cd22b4"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"5bb9c299e692a01e6d7b033ea9bb7f5eef06609f","unresolved":false,"context_lines":[{"line_number":820,"context_line":"    def use_v3(self):"},{"line_number":821,"context_line":"        if not self.auth_version:"},{"line_number":822,"context_line":"            self.auth_version \u003d self._choose_api_version()"},{"line_number":823,"context_line":"        return self.auth_version \u003d\u003d \u0027v3.0\u0027"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"    def _request_admin_token(self):"},{"line_number":826,"context_line":"        \"\"\"Retrieve new token as admin user from keystone."}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad9bd40_5a5475fe","line":823,"updated":"2014-05-06 17:14:20.000000000","message":"Should this be less granular, like V3.*?","commit_id":"2c0ccdd9937e093986e13f1d96d8ef0c10cd22b4"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"f2a14765abd45adfb15352fea358eaf794acd02d","unresolved":false,"context_lines":[{"line_number":820,"context_line":"    def use_v3(self):"},{"line_number":821,"context_line":"        if not self.auth_version:"},{"line_number":822,"context_line":"            self.auth_version \u003d self._choose_api_version()"},{"line_number":823,"context_line":"        return self.auth_version \u003d\u003d \u0027v3.0\u0027"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"    def _request_admin_token(self):"},{"line_number":826,"context_line":"        \"\"\"Retrieve new token as admin user from keystone."}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad9bd40_00bc4005","line":823,"in_reply_to":"9ad9bd40_5a5475fe","updated":"2014-05-06 18:36:50.000000000","message":"Sounds good. I\u0027ll return self.auth_version.startswith(\u0027v3.\u0027). Besides, I can evaluate this expression once for all.","commit_id":"2c0ccdd9937e093986e13f1d96d8ef0c10cd22b4"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":173,"context_line":"# auth_host \u003d 127.0.0.1"},{"line_number":174,"context_line":"# auth_port \u003d 35357"},{"line_number":175,"context_line":"# auth_protocol \u003d http"},{"line_number":176,"context_line":"# admin_project_name \u003d admin"},{"line_number":177,"context_line":"# admin_user_name \u003d admin"},{"line_number":178,"context_line":"# admin_password \u003d badpassword"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_2f068a1d","line":176,"updated":"2014-05-18 17:05:55.000000000","message":"also add admin_project_domain_name","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":173,"context_line":"# auth_host \u003d 127.0.0.1"},{"line_number":174,"context_line":"# auth_port \u003d 35357"},{"line_number":175,"context_line":"# auth_protocol \u003d http"},{"line_number":176,"context_line":"# admin_project_name \u003d admin"},{"line_number":177,"context_line":"# admin_user_name \u003d admin"},{"line_number":178,"context_line":"# admin_password \u003d badpassword"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_84b80ae7","line":176,"in_reply_to":"7adec928_2f068a1d","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":174,"context_line":"# auth_port \u003d 35357"},{"line_number":175,"context_line":"# auth_protocol \u003d http"},{"line_number":176,"context_line":"# admin_project_name \u003d admin"},{"line_number":177,"context_line":"# admin_user_name \u003d admin"},{"line_number":178,"context_line":"# admin_password \u003d badpassword"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"# when deploy Keystone auth_token middleware with Swift, user may elect"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_4f075618","line":177,"updated":"2014-05-18 17:05:55.000000000","message":"also add admin_user_domain_name","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":174,"context_line":"# auth_port \u003d 35357"},{"line_number":175,"context_line":"# auth_protocol \u003d http"},{"line_number":176,"context_line":"# admin_project_name \u003d admin"},{"line_number":177,"context_line":"# admin_user_name \u003d admin"},{"line_number":178,"context_line":"# admin_password \u003d badpassword"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"# when deploy Keystone auth_token middleware with Swift, user may elect"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_276e3f97","line":177,"in_reply_to":"7adec928_4f075618","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":247,"context_line":"               \u0027 should not be used, use `admin_user_name` and\u0027"},{"line_number":248,"context_line":"               \u0027 `admin_password` instead.\u0027),"},{"line_number":249,"context_line":"    # Keeping admin_user as a separate option instead of using the"},{"line_number":250,"context_line":"    # `deprecated_name` keyword argument, to keep backward compatility"},{"line_number":251,"context_line":"    # with Swift."},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027This option is deprecated. Please consider using\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_ef174243","line":250,"updated":"2014-05-18 17:05:55.000000000","message":"remove the , ; and change \"compatility\" to \"compatibility\"","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":247,"context_line":"               \u0027 should not be used, use `admin_user_name` and\u0027"},{"line_number":248,"context_line":"               \u0027 `admin_password` instead.\u0027),"},{"line_number":249,"context_line":"    # Keeping admin_user as a separate option instead of using the"},{"line_number":250,"context_line":"    # `deprecated_name` keyword argument, to keep backward compatility"},{"line_number":251,"context_line":"    # with Swift."},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027This option is deprecated. Please consider using\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_a7d7af22","line":250,"in_reply_to":"7adec928_ef174243","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"7473d6e1954189f18aa39a584bca859d867e56b9","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    # `deprecated_name` keyword argument, to keep backward compatility"},{"line_number":251,"context_line":"    # with Swift."},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027This option is deprecated. Please consider using\u0027"},{"line_number":254,"context_line":"               \u0027`admin_user_name` instead.\u0027),"},{"line_number":255,"context_line":"    cfg.StrOpt(\u0027admin_user_name\u0027,"},{"line_number":256,"context_line":"               help\u003d\u0027Keystone account username\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_240b84d7","line":253,"updated":"2014-05-09 03:32:15.000000000","message":"Too polite.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    # `deprecated_name` keyword argument, to keep backward compatility"},{"line_number":251,"context_line":"    # with Swift."},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027This option is deprecated. Please consider using\u0027"},{"line_number":254,"context_line":"               \u0027`admin_user_name` instead.\u0027),"},{"line_number":255,"context_line":"    cfg.StrOpt(\u0027admin_user_name\u0027,"},{"line_number":256,"context_line":"               help\u003d\u0027Keystone account username\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_47f0abc9","line":253,"in_reply_to":"7adec928_0abdb168","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"fcbf409424a1c01a93daf855eeb38283a5f5f611","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    # `deprecated_name` keyword argument, to keep backward compatility"},{"line_number":251,"context_line":"    # with Swift."},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027admin_user\u0027,"},{"line_number":253,"context_line":"               help\u003d\u0027This option is deprecated. Please consider using\u0027"},{"line_number":254,"context_line":"               \u0027`admin_user_name` instead.\u0027),"},{"line_number":255,"context_line":"    cfg.StrOpt(\u0027admin_user_name\u0027,"},{"line_number":256,"context_line":"               help\u003d\u0027Keystone account username\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_0abdb168","line":253,"in_reply_to":"7adec928_240b84d7","updated":"2014-05-09 07:23:20.000000000","message":"Fair enough, I\u0027ll replace that by \"Use `admin_user_name` instead.\" in the next patch set.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    cfg.StrOpt(\u0027admin_user_name\u0027,"},{"line_number":256,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":257,"context_line":"    cfg.StrOpt(\u0027admin_user_domain_name\u0027,"},{"line_number":258,"context_line":"               default\u003d\"Default\","},{"line_number":259,"context_line":"               help\u003d\u0027Keystone account user domain name\u0027),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":261,"context_line":"               secret\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_6f2332a7","line":258,"updated":"2014-05-18 17:05:55.000000000","message":"use \u0027 for strings consistently.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":255,"context_line":"    cfg.StrOpt(\u0027admin_user_name\u0027,"},{"line_number":256,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":257,"context_line":"    cfg.StrOpt(\u0027admin_user_domain_name\u0027,"},{"line_number":258,"context_line":"               default\u003d\"Default\","},{"line_number":259,"context_line":"               help\u003d\u0027Keystone account user domain name\u0027),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":261,"context_line":"               secret\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_e7b8d7e7","line":258,"in_reply_to":"7adec928_6f2332a7","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":256,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":257,"context_line":"    cfg.StrOpt(\u0027admin_user_domain_name\u0027,"},{"line_number":258,"context_line":"               default\u003d\"Default\","},{"line_number":259,"context_line":"               help\u003d\u0027Keystone account user domain name\u0027),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":261,"context_line":"               secret\u003dTrue,"},{"line_number":262,"context_line":"               help\u003d\u0027Keystone account password\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_0f4f0e6c","line":259,"updated":"2014-05-18 17:05:55.000000000","message":"Let\u0027s not continue the mistake of using \"Keystone\" here. Use \"Identity API\".\n\nShould also note that this is only used for Identity API v3 authentication.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":256,"context_line":"               help\u003d\u0027Keystone account username\u0027),"},{"line_number":257,"context_line":"    cfg.StrOpt(\u0027admin_user_domain_name\u0027,"},{"line_number":258,"context_line":"               default\u003d\"Default\","},{"line_number":259,"context_line":"               help\u003d\u0027Keystone account user domain name\u0027),"},{"line_number":260,"context_line":"    cfg.StrOpt(\u0027admin_password\u0027,"},{"line_number":261,"context_line":"               secret\u003dTrue,"},{"line_number":262,"context_line":"               help\u003d\u0027Keystone account password\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_47ac2b8d","line":259,"in_reply_to":"7adec928_0f4f0e6c","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":268,"context_line":"               help\u003d\u0027Keystone service account project name to validate\u0027"},{"line_number":269,"context_line":"               \u0027 user tokens\u0027),"},{"line_number":270,"context_line":"    cfg.StrOpt(\u0027admin_project_domain_name\u0027,"},{"line_number":271,"context_line":"               default\u003d\"Default\","},{"line_number":272,"context_line":"               help\u003d\u0027Keystone service account project domain name\u0027),"},{"line_number":273,"context_line":"    cfg.StrOpt(\u0027cache\u0027,"},{"line_number":274,"context_line":"               default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_4f1e7660","line":271,"updated":"2014-05-18 17:05:55.000000000","message":"use \u0027 for strings consistently.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":268,"context_line":"               help\u003d\u0027Keystone service account project name to validate\u0027"},{"line_number":269,"context_line":"               \u0027 user tokens\u0027),"},{"line_number":270,"context_line":"    cfg.StrOpt(\u0027admin_project_domain_name\u0027,"},{"line_number":271,"context_line":"               default\u003d\"Default\","},{"line_number":272,"context_line":"               help\u003d\u0027Keystone service account project domain name\u0027),"},{"line_number":273,"context_line":"    cfg.StrOpt(\u0027cache\u0027,"},{"line_number":274,"context_line":"               default\u003dNone,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_67a9277b","line":271,"in_reply_to":"7adec928_4f1e7660","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":269,"context_line":"               \u0027 user tokens\u0027),"},{"line_number":270,"context_line":"    cfg.StrOpt(\u0027admin_project_domain_name\u0027,"},{"line_number":271,"context_line":"               default\u003d\"Default\","},{"line_number":272,"context_line":"               help\u003d\u0027Keystone service account project domain name\u0027),"},{"line_number":273,"context_line":"    cfg.StrOpt(\u0027cache\u0027,"},{"line_number":274,"context_line":"               default\u003dNone,"},{"line_number":275,"context_line":"               help\u003d\u0027Env key for the swift cache\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_2f54cafd","line":272,"updated":"2014-05-18 17:05:55.000000000","message":"Let\u0027s not continue the mistake of using \"Keystone\" here. Use \"Identity API\".\n\nShould also note that this is only used for Identity API v3 authentication.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":269,"context_line":"               \u0027 user tokens\u0027),"},{"line_number":270,"context_line":"    cfg.StrOpt(\u0027admin_project_domain_name\u0027,"},{"line_number":271,"context_line":"               default\u003d\"Default\","},{"line_number":272,"context_line":"               help\u003d\u0027Keystone service account project domain name\u0027),"},{"line_number":273,"context_line":"    cfg.StrOpt(\u0027cache\u0027,"},{"line_number":274,"context_line":"               default\u003dNone,"},{"line_number":275,"context_line":"               help\u003d\u0027Env key for the swift cache\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_a7ba4fbe","line":272,"in_reply_to":"7adec928_2f54cafd","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":509,"context_line":"                \"admin_password options should be used instead. The \""},{"line_number":510,"context_line":"                \"admin_token option may be removed in a future release.\")"},{"line_number":511,"context_line":"        self.admin_token_expiry \u003d None"},{"line_number":512,"context_line":"        self.admin_user_name \u003d self._conf_get(\u0027admin_user_name\u0027) or \\"},{"line_number":513,"context_line":"            self._conf_get(\u0027admin_user\u0027)  # Deprecated"},{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_bc0ada23","line":512,"updated":"2014-05-18 17:05:55.000000000","message":"use () to continue lines rather than \\","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":509,"context_line":"                \"admin_password options should be used instead. The \""},{"line_number":510,"context_line":"                \"admin_token option may be removed in a future release.\")"},{"line_number":511,"context_line":"        self.admin_token_expiry \u003d None"},{"line_number":512,"context_line":"        self.admin_user_name \u003d self._conf_get(\u0027admin_user_name\u0027) or \\"},{"line_number":513,"context_line":"            self._conf_get(\u0027admin_user\u0027)  # Deprecated"},{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_44be02d6","line":512,"in_reply_to":"7adec928_bc0ada23","updated":"2014-05-21 15:16:05.000000000","message":"ok","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                \"admin_token option may be removed in a future release.\")"},{"line_number":511,"context_line":"        self.admin_token_expiry \u003d None"},{"line_number":512,"context_line":"        self.admin_user_name \u003d self._conf_get(\u0027admin_user_name\u0027) or \\"},{"line_number":513,"context_line":"            self._conf_get(\u0027admin_user\u0027)  # Deprecated"},{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":516,"context_line":"        self.admin_project_name \u003d self._conf_get(\u0027admin_project_name\u0027) or \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_ef2e628b","line":513,"updated":"2014-05-18 17:05:55.000000000","message":"A message should be logged if admin_user is used instead of admin_user_name.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":510,"context_line":"                \"admin_token option may be removed in a future release.\")"},{"line_number":511,"context_line":"        self.admin_token_expiry \u003d None"},{"line_number":512,"context_line":"        self.admin_user_name \u003d self._conf_get(\u0027admin_user_name\u0027) or \\"},{"line_number":513,"context_line":"            self._conf_get(\u0027admin_user\u0027)  # Deprecated"},{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":516,"context_line":"        self.admin_project_name \u003d self._conf_get(\u0027admin_project_name\u0027) or \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_45c3408a","line":513,"in_reply_to":"7adec928_ef2e628b","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":513,"context_line":"            self._conf_get(\u0027admin_user\u0027)  # Deprecated"},{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":516,"context_line":"        self.admin_project_name \u003d self._conf_get(\u0027admin_project_name\u0027) or \\"},{"line_number":517,"context_line":"            self._conf_get(\u0027admin_tenant_name\u0027)  # Deprecated"},{"line_number":518,"context_line":"        self.admin_project_domain_name \u003d self._conf_get("},{"line_number":519,"context_line":"            \u0027admin_project_domain_name\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_dc03260e","line":516,"updated":"2014-05-18 17:05:55.000000000","message":"use () to continue lines rather than \\","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":513,"context_line":"            self._conf_get(\u0027admin_user\u0027)  # Deprecated"},{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":516,"context_line":"        self.admin_project_name \u003d self._conf_get(\u0027admin_project_name\u0027) or \\"},{"line_number":517,"context_line":"            self._conf_get(\u0027admin_tenant_name\u0027)  # Deprecated"},{"line_number":518,"context_line":"        self.admin_project_domain_name \u003d self._conf_get("},{"line_number":519,"context_line":"            \u0027admin_project_domain_name\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_85bd4805","line":516,"in_reply_to":"7adec928_dc03260e","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"577e702627b52bdd5dab00071e3a70460075ea9b","unresolved":false,"context_lines":[{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":516,"context_line":"        self.admin_project_name \u003d self._conf_get(\u0027admin_project_name\u0027) or \\"},{"line_number":517,"context_line":"            self._conf_get(\u0027admin_tenant_name\u0027)  # Deprecated"},{"line_number":518,"context_line":"        self.admin_project_domain_name \u003d self._conf_get("},{"line_number":519,"context_line":"            \u0027admin_project_domain_name\u0027)"},{"line_number":520,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_4f5596f8","line":517,"updated":"2014-05-18 17:05:55.000000000","message":"We should log a message if admin_tenant_name was used.","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"980022c4a492ea0c72eea37832e4e71ea06c8f86","unresolved":false,"context_lines":[{"line_number":514,"context_line":"        self.admin_user_domain_name \u003d self._conf_get(\u0027admin_user_domain_name\u0027)"},{"line_number":515,"context_line":"        self.admin_password \u003d self._conf_get(\u0027admin_password\u0027)"},{"line_number":516,"context_line":"        self.admin_project_name \u003d self._conf_get(\u0027admin_project_name\u0027) or \\"},{"line_number":517,"context_line":"            self._conf_get(\u0027admin_tenant_name\u0027)  # Deprecated"},{"line_number":518,"context_line":"        self.admin_project_domain_name \u003d self._conf_get("},{"line_number":519,"context_line":"            \u0027admin_project_domain_name\u0027)"},{"line_number":520,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_a5ba4408","line":517,"in_reply_to":"7adec928_4f5596f8","updated":"2014-05-21 15:16:05.000000000","message":"Done","commit_id":"236f096b52c53d93b93693d510e2522bbf2b816e"}]}
