)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14123,"name":"Stefano Canepa","email":"sc@linux.it","username":"sc"},"change_message_id":"5b16b65cac0aa4054c9624f9fbc539ffb2a80cad","unresolved":false,"context_lines":[{"line_number":7,"context_line":"add arguments and configuration parameters for user_domain_id/name"},{"line_number":8,"context_line":"support reauthentication for users in domains; warn of Monasca w/o KS"},{"line_number":9,"context_line":"Closes-Bug: 1471882"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I8574fa3d393dc7a2c9d0470cbf7b9e819a3be0cc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba3cc151_9bcf8e7e","line":10,"updated":"2015-07-08 22:48:35.000000000","message":"Please cut line to 50 chars","commit_id":"9ce28f533bf4ad934848da18fda263bff942de0a"}],"README.rst":[{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"0ebba1f352212749816b6fd7fe9f903887fee394","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  export OS_USERNAME\u003d"},{"line_number":80,"context_line":"  export OS_PASSWORD\u003d"},{"line_number":81,"context_line":"  export OS_USER_DOMAIN_NAME\u003d"},{"line_number":82,"context_line":"  export OS_PROJECT_NAME\u003d"},{"line_number":83,"context_line":"  export OS_AUTH_URL\u003d"},{"line_number":84,"context_line":"  export OS_REGION_NAME\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a41bdd9_defa1975","line":81,"updated":"2015-07-14 15:36:26.000000000","message":"export OS_DOMAIN_NAME - this is also required( along with OS_USER_DOMAIN_NAME)\n\nShould mention that OS_DOMAIN_NAME and OS_USER_DOMAIN_NAME are required when the domain is not Default.","commit_id":"c20b7f6cb710ff5ffe894d206d8ac7a42a03b053"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"92aa865a039a0994f914f7b829e339830de5665f","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  export OS_USERNAME\u003d"},{"line_number":80,"context_line":"  export OS_PASSWORD\u003d"},{"line_number":81,"context_line":"  export OS_USER_DOMAIN_NAME\u003d"},{"line_number":82,"context_line":"  export OS_PROJECT_NAME\u003d"},{"line_number":83,"context_line":"  export OS_AUTH_URL\u003d"},{"line_number":84,"context_line":"  export OS_REGION_NAME\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a41bdd9_268672db","line":81,"updated":"2015-07-15 10:02:15.000000000","message":"Does this also need some mention of how to use OS_USER_DOMAIN_ID, OS_DOMAIN_ID and OS_DOMAIN_NAME?","commit_id":"8bd9efe66535aa83b7a516ac84841c1640f3e417"},{"author":{"_account_id":17244,"name":"Joachim Barheine","email":"joachim.barheine@sap.com","username":"jobrs"},"change_message_id":"07718e2bf3095456f2e82ef26f85ac1151186a22","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  export OS_USERNAME\u003d"},{"line_number":80,"context_line":"  export OS_PASSWORD\u003d"},{"line_number":81,"context_line":"  export OS_USER_DOMAIN_NAME\u003d"},{"line_number":82,"context_line":"  export OS_PROJECT_NAME\u003d"},{"line_number":83,"context_line":"  export OS_AUTH_URL\u003d"},{"line_number":84,"context_line":"  export OS_REGION_NAME\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a41bdd9_491942d6","line":81,"in_reply_to":"9a41bdd9_268672db","updated":"2015-07-15 11:46:15.000000000","message":"I believe that this was meant to be a simple example w/o scoping. I added a single line to mention the default domain.","commit_id":"8bd9efe66535aa83b7a516ac84841c1640f3e417"}],"monascaclient/common/http.py":[{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"1d4156b13e14f65e7c4c7470a0180c1b32ee7f95","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        return resp"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def credentials_headers(self):"},{"line_number":262,"context_line":"        LOG.warning(\u0027Using Monasca-API w/o Keystone\u0027)"},{"line_number":263,"context_line":"        creds \u003d {}"},{"line_number":264,"context_line":"        if self.username:"},{"line_number":265,"context_line":"            creds[\u0027X-Auth-User\u0027] \u003d self.username"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_4f7a10f3","line":262,"updated":"2015-07-13 15:56:56.000000000","message":"Remove this warning line.  The request must always be sent with a keystone Token to the monasca API.  The API does not use the X-Auth-User and X-Auth-Key in credentials.  The credentials call is getting called by the domain object (alarms, metrics, etc) before it gets to the http code, and before the token is added.","commit_id":"9ce28f533bf4ad934848da18fda263bff942de0a"},{"author":{"_account_id":17244,"name":"Joachim Barheine","email":"joachim.barheine@sap.com","username":"jobrs"},"change_message_id":"7d7d4122e1bed6523ae7f41083112c027875d5be","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        return resp"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    def credentials_headers(self):"},{"line_number":262,"context_line":"        LOG.warning(\u0027Using Monasca-API w/o Keystone\u0027)"},{"line_number":263,"context_line":"        creds \u003d {}"},{"line_number":264,"context_line":"        if self.username:"},{"line_number":265,"context_line":"            creds[\u0027X-Auth-User\u0027] \u003d self.username"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_46ce5b5b","line":262,"in_reply_to":"9a41bdd9_4f7a10f3","updated":"2015-07-15 09:17:41.000000000","message":"But what is the use of the header fields here, then? They cannot be used for auth. since the domain is missing.\n\nIs this just used for the tests?\n\nI will remove the warning anyway.","commit_id":"9ce28f533bf4ad934848da18fda263bff942de0a"}],"monascaclient/ksclient.py":[{"author":{"_account_id":14123,"name":"Stefano Canepa","email":"sc@linux.it","username":"sc"},"change_message_id":"5b16b65cac0aa4054c9624f9fbc539ffb2a80cad","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from monascaclient import exc"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class KSClient(object):"},{"line_number":26,"context_line":"    def __init__(self, **kwargs):"},{"line_number":27,"context_line":"        \"\"\"Get an endpoint and auth token from Keystone."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_5b74a6fc","line":25,"updated":"2015-07-08 22:48:35.000000000","message":"before classes and first level methods you need to insert 2 blank lines. Please refer to: https://www.python.org/dev/peps/pep-0008/#blank-lines","commit_id":"9ce28f533bf4ad934848da18fda263bff942de0a"},{"author":{"_account_id":17244,"name":"Joachim Barheine","email":"joachim.barheine@sap.com","username":"jobrs"},"change_message_id":"7d7d4122e1bed6523ae7f41083112c027875d5be","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from monascaclient import exc"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class KSClient(object):"},{"line_number":26,"context_line":"    def __init__(self, **kwargs):"},{"line_number":27,"context_line":"        \"\"\"Get an endpoint and auth token from Keystone."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_c6990b21","line":25,"in_reply_to":"ba3cc151_5b74a6fc","updated":"2015-07-15 09:17:41.000000000","message":"Done","commit_id":"9ce28f533bf4ad934848da18fda263bff942de0a"},{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"1d4156b13e14f65e7c4c7470a0180c1b32ee7f95","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            kc_args[\u0027username\u0027] \u003d kwargs.get(\u0027username\u0027)"},{"line_number":58,"context_line":"            kc_args[\u0027password\u0027] \u003d kwargs.get(\u0027password\u0027)"},{"line_number":59,"context_line":"            kc_args[\u0027user_domain_name\u0027] \u003d kwargs.get(\u0027user_domain_name\u0027)"},{"line_number":60,"context_line":"            kc_args[\u0027user_domain_id\u0027] \u003d kwargs.get(\u0027user_domain_id\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self._kwargs \u003d kwargs"},{"line_number":63,"context_line":"        self._keystone \u003d client.Client(**kc_args)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_8f07b81b","line":60,"updated":"2015-07-13 15:56:56.000000000","message":"Please move these user_domain_name and user_domain_id initializations up under the domain_name and domain_id checks, and use a similar style.  Check if kwargs.get(\u0027user_domain_name\u0027) first.\n\nNote: The CLI must support these two parameters as well in shell.py.  Please add them to the help, and make sure they are passed through.","commit_id":"9ce28f533bf4ad934848da18fda263bff942de0a"},{"author":{"_account_id":17244,"name":"Joachim Barheine","email":"joachim.barheine@sap.com","username":"jobrs"},"change_message_id":"7d7d4122e1bed6523ae7f41083112c027875d5be","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            kc_args[\u0027username\u0027] \u003d kwargs.get(\u0027username\u0027)"},{"line_number":58,"context_line":"            kc_args[\u0027password\u0027] \u003d kwargs.get(\u0027password\u0027)"},{"line_number":59,"context_line":"            kc_args[\u0027user_domain_name\u0027] \u003d kwargs.get(\u0027user_domain_name\u0027)"},{"line_number":60,"context_line":"            kc_args[\u0027user_domain_id\u0027] \u003d kwargs.get(\u0027user_domain_id\u0027)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        self._kwargs \u003d kwargs"},{"line_number":63,"context_line":"        self._keystone \u003d client.Client(**kc_args)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_6bec838f","line":60,"in_reply_to":"9a41bdd9_8f07b81b","updated":"2015-07-15 09:17:41.000000000","message":"Done","commit_id":"9ce28f533bf4ad934848da18fda263bff942de0a"},{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"0ebba1f352212749816b6fd7fe9f903887fee394","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            kc_args[\u0027user_domain_name\u0027] \u003d kwargs.get(\u0027user_domain_name\u0027)"},{"line_number":58,"context_line":"        if kwargs.get(\u0027user_domain_id\u0027):"},{"line_number":59,"context_line":"            kc_args[\u0027user_domain_id\u0027] \u003d kwargs.get(\u0027user_domain_id\u0027)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if kwargs.get(\u0027token\u0027):"},{"line_number":62,"context_line":"            kc_args[\u0027token\u0027] \u003d kwargs.get(\u0027token\u0027)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_6939d9a3","line":60,"updated":"2015-07-14 15:36:26.000000000","message":"The indentation of these two if statements needs to be the same as domain_name and domain_id.  All of these are checked for when the project_name is set.  (indent 4 and remove blank line separating)","commit_id":"c20b7f6cb710ff5ffe894d206d8ac7a42a03b053"},{"author":{"_account_id":17244,"name":"Joachim Barheine","email":"joachim.barheine@sap.com","username":"jobrs"},"change_message_id":"6309c3877b6f6ae685ed9181643133256dd3a36d","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            kc_args[\u0027user_domain_name\u0027] \u003d kwargs.get(\u0027user_domain_name\u0027)"},{"line_number":58,"context_line":"        if kwargs.get(\u0027user_domain_id\u0027):"},{"line_number":59,"context_line":"            kc_args[\u0027user_domain_id\u0027] \u003d kwargs.get(\u0027user_domain_id\u0027)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        if kwargs.get(\u0027token\u0027):"},{"line_number":62,"context_line":"            kc_args[\u0027token\u0027] \u003d kwargs.get(\u0027token\u0027)"},{"line_number":63,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_84ce842c","line":60,"in_reply_to":"9a41bdd9_6939d9a3","updated":"2015-07-15 09:17:26.000000000","message":"Are your sure about this? user_domain is the namespace for the username, not for the project. That why initially my change was inside the block for username and password.\n\nWe already have the domain for the project (\u0027domain_name\u0027).  \u0027user_domain_name/id\u0027 is as I see it not related to the project.","commit_id":"c20b7f6cb710ff5ffe894d206d8ac7a42a03b053"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"92aa865a039a0994f914f7b829e339830de5665f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        :param username: name of user"},{"line_number":32,"context_line":"        :param password: user\u0027s password"},{"line_number":33,"context_line":"        :param user_domain_id: unique identifier of domain username resides in (optional)"},{"line_number":34,"context_line":"        :param user_domain_name: name of domain for username"},{"line_number":35,"context_line":"        :param project_id: unique identifier of project"},{"line_number":36,"context_line":"        :param project_name: name of project"},{"line_number":37,"context_line":"        :param domain_name: name of domain project is in"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_c68b06c2","line":34,"updated":"2015-07-15 10:02:15.000000000","message":"also (optional)?","commit_id":"8bd9efe66535aa83b7a516ac84841c1640f3e417"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"92aa865a039a0994f914f7b829e339830de5665f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        else:"},{"line_number":59,"context_line":"            kc_args[\u0027username\u0027] \u003d kwargs.get(\u0027username\u0027)"},{"line_number":60,"context_line":"            kc_args[\u0027password\u0027] \u003d kwargs.get(\u0027password\u0027)"},{"line_number":61,"context_line":"            # when username not in the Default name, supply user domain (as namespace)"},{"line_number":62,"context_line":"            if kwargs.get(\u0027user_domain_name\u0027):"},{"line_number":63,"context_line":"                kc_args[\u0027user_domain_name\u0027] \u003d kwargs.get(\u0027user_domain_name\u0027)"},{"line_number":64,"context_line":"            if kwargs.get(\u0027user_domain_id\u0027):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a41bdd9_86fade41","line":61,"updated":"2015-07-15 10:02:15.000000000","message":"\u0027Default name\u0027 should be \u0027domain named Default\u0027","commit_id":"8bd9efe66535aa83b7a516ac84841c1640f3e417"}],"monascaclient/shell.py":[{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"0ebba1f352212749816b6fd7fe9f903887fee394","unresolved":false,"context_lines":[{"line_number":332,"context_line":"            \u0027os_cacert\u0027: args.os_cacert,"},{"line_number":333,"context_line":"            \u0027project_id\u0027: args.os_project_id,"},{"line_number":334,"context_line":"            \u0027project_name\u0027: args.os_project_name,"},{"line_number":335,"context_line":"            \u0027domain_id\u0027: args.os_domain_id,"},{"line_number":336,"context_line":"            \u0027domain_name\u0027: args.os_domain_name,"},{"line_number":337,"context_line":"            \u0027insecure\u0027: args.insecure,"},{"line_number":338,"context_line":"            \u0027region_name\u0027: args.os_region_name"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_e9fac974","line":335,"updated":"2015-07-14 15:36:26.000000000","message":"set the user_domain_name and user_domain_id kwargs here for the ksclient, so it can get the token.","commit_id":"c20b7f6cb710ff5ffe894d206d8ac7a42a03b053"},{"author":{"_account_id":12133,"name":"Cindy O\u0027Neill","email":"cindy.o-neill@hpe.com","username":"oneilcin"},"change_message_id":"0ebba1f352212749816b6fd7fe9f903887fee394","unresolved":false,"context_lines":[{"line_number":380,"context_line":"                kwargs[\u0027project_id\u0027] \u003d args.os_project_id"},{"line_number":381,"context_line":"            if args.os_domain_name:"},{"line_number":382,"context_line":"                kwargs[\u0027domain_name\u0027] \u003d args.os_domain_name"},{"line_number":383,"context_line":"            if args.os_domain_id:"},{"line_number":384,"context_line":"                kwargs[\u0027domain_id\u0027] \u003d args.os_domain_id"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"            if not endpoint:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a41bdd9_499c155d","line":383,"updated":"2015-07-14 15:36:26.000000000","message":"Need to add the test for both of the args.os_user_domain_name and os_user_domain_id and set kwargs here, so they get passed to the http client. Primarily used for a re-authentication in the case where the token expired.","commit_id":"c20b7f6cb710ff5ffe894d206d8ac7a42a03b053"}]}
