)]}'
{"devstack/plugin.sh":[{"author":{"_account_id":19346,"name":"yinwei","email":"yinweiishere@icloud.com","username":"yinwei"},"change_message_id":"4e4789323180425a1bdef2c3b2bc7e165a751bc1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                $SMAUG_AUTH_CACHE_DIR"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"            # Configure for trustee"},{"line_number":67,"context_line":"            iniset $SMAUG_API_CONF trustee auth_type password"},{"line_number":68,"context_line":"            iniset $SMAUG_API_CONF trustee auth_url $KEYSTONE_AUTH_URI"},{"line_number":69,"context_line":"            iniset $SMAUG_API_CONF trustee username smaug"},{"line_number":70,"context_line":"            iniset $SMAUG_API_CONF trustee password $SERVICE_PASSWORD"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3aaa91ec_ff8892c8","line":67,"updated":"2016-06-28 10:12:07.000000000","message":"this conf will be used to initialize keystone client, right? Per my understanding, not only API service but operation engine and protection service would need keystone client to get service endpoints. Why only iniset for smaug api conf?","commit_id":"df0f5262dba27add48bf3843d5dac4a9d3a70124"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"486307c91638e09ea3b4998ff907037d747e37c5","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                $SMAUG_AUTH_CACHE_DIR"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"            # Configure for trustee"},{"line_number":67,"context_line":"            iniset $SMAUG_API_CONF trustee auth_type password"},{"line_number":68,"context_line":"            iniset $SMAUG_API_CONF trustee auth_url $KEYSTONE_AUTH_URI"},{"line_number":69,"context_line":"            iniset $SMAUG_API_CONF trustee username smaug"},{"line_number":70,"context_line":"            iniset $SMAUG_API_CONF trustee password $SERVICE_PASSWORD"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3aaa91ec_6874bc9b","line":67,"in_reply_to":"3aaa91ec_ff8892c8","updated":"2016-06-29 03:26:52.000000000","message":"Basically, these config items are used to create an authentication plugin and to crate a keystone client based on the smaug user. All the sub service of smaug can get the other service\u0027s endpoint by the KeystoneClientPlugin(you can see the ussage at https://review.openstack.org/#/c/335286/). We have only one config file named smaug.conf. Here the variable \u0027SMAUG_API_CONF\u0027 is set to it. Maybe we can change it to \u0027SMAUG_CONF\u0027 to be more explicit.","commit_id":"df0f5262dba27add48bf3843d5dac4a9d3a70124"}],"smaug/common/keystone_client_plugin.py":[{"author":{"_account_id":19346,"name":"yinwei","email":"yinweiishere@icloud.com","username":"yinwei"},"change_message_id":"4e4789323180425a1bdef2c3b2bc7e165a751bc1","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            raise exception.AuthorizationFailure(obj\u003dmsg)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @classmethod"},{"line_number":105,"context_line":"    def get_smaug_auth_plugin(cls, trust_id\u003dNone):"},{"line_number":106,"context_line":"        auth_plugin \u003d loading.load_auth_from_conf_options("},{"line_number":107,"context_line":"            CONF, TRUSTEE_CONF_GROUP, trust_id\u003dtrust_id)"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_7f302208","line":105,"updated":"2016-06-28 10:12:07.000000000","message":"what\u0027s the usage of trust_id? why by default it\u0027s None?\nBetter has a comment to tell how to use the parameter.","commit_id":"df0f5262dba27add48bf3843d5dac4a9d3a70124"},{"author":{"_account_id":18266,"name":"zengchen","email":"chenzeng2@huawei.com","username":"zengchen"},"change_message_id":"486307c91638e09ea3b4998ff907037d747e37c5","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            raise exception.AuthorizationFailure(obj\u003dmsg)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @classmethod"},{"line_number":105,"context_line":"    def get_smaug_auth_plugin(cls, trust_id\u003dNone):"},{"line_number":106,"context_line":"        auth_plugin \u003d loading.load_auth_from_conf_options("},{"line_number":107,"context_line":"            CONF, TRUSTEE_CONF_GROUP, trust_id\u003dtrust_id)"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_c8c9707b","line":105,"in_reply_to":"3aaa91ec_7f302208","updated":"2016-06-29 03:26:52.000000000","message":"\u0027trust_id\u0027 is used to set the user \u0027smaug\u0027 to the specified scope. If it is set, then we can create a token of the original user which is delegated to smaug by this plugin.","commit_id":"df0f5262dba27add48bf3843d5dac4a9d3a70124"}]}
