)]}'
{"README.md":[{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"d233c9aee6ebd573617691002e82133c1d9f5c63","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":" "},{"line_number":64,"context_line":"### Todo"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"1. Remove keystone token refresh code from monasca_client.py since this is now handled in monasca-client (https://review.openstack.org/#/c/184625)"},{"line_number":67,"context_line":"2. The unit test files that are included need to be used in ceilometer dev env. It will be ideal to be able to run those tests within tox with in this dev. env."},{"line_number":68,"context_line":" "}],"source_content_type":"text/x-gfm","patch_set":3,"id":"9a41bdd9_ffa51fb5","line":65,"updated":"2015-07-10 22:38:49.000000000","message":"We can remove the 1st TODO, since we fixed it.","commit_id":"e392212d6e67817d95bacff2b05d829dfcf0cff0"}],"ceilometer/monasca_client.py":[{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"03d0ed819b1706408114456123f84e930e20e55f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            raise MonascaInvalidServiceCredentialsException(err_msg)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        kwargs \u003d {"},{"line_number":59,"context_line":"            \u0027username\u0027: conf.os_username,"},{"line_number":60,"context_line":"            \u0027password\u0027: conf.os_password,"},{"line_number":61,"context_line":"            \u0027auth_url\u0027: conf.os_auth_url.replace(\"v2.0\", \"v3\"),"},{"line_number":62,"context_line":"            \u0027project_id\u0027: conf.os_tenant_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_ca12e960","line":59,"updated":"2015-07-09 18:52:53.000000000","message":"region should also be included here","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"75cd367834062a385ead5d339e012e16cdfb79bc","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            raise MonascaInvalidServiceCredentialsException(err_msg)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        kwargs \u003d {"},{"line_number":59,"context_line":"            \u0027username\u0027: conf.os_username,"},{"line_number":60,"context_line":"            \u0027password\u0027: conf.os_password,"},{"line_number":61,"context_line":"            \u0027auth_url\u0027: conf.os_auth_url.replace(\"v2.0\", \"v3\"),"},{"line_number":62,"context_line":"            \u0027project_id\u0027: conf.os_tenant_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_8b10634f","line":59,"in_reply_to":"ba3cc151_ca12e960","updated":"2015-07-09 19:41:42.000000000","message":"Will add that.","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"c736762f2d6b2588f10e5a70dd7260ad9a58356c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        try:"},{"line_number":82,"context_line":"            return func(**kwargs)"},{"line_number":83,"context_line":"        except exc.HTTPUnauthorized as e:"},{"line_number":84,"context_line":"            LOG.info(_LI(\"Keystone token expired %s\") % e.message)"},{"line_number":85,"context_line":"            if unauth_flag is True:"},{"line_number":86,"context_line":"                raise"},{"line_number":87,"context_line":"            self._refresh_client()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_88f1106d","line":84,"updated":"2015-07-10 19:46:32.000000000","message":"might be better if we use LOG.exception, since an unauthorized would mean invalid token","commit_id":"071fd7e53cd92996f8c22b5ce61aa9babb1470b9"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"c736762f2d6b2588f10e5a70dd7260ad9a58356c","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            if unauth_flag is True:"},{"line_number":86,"context_line":"                raise"},{"line_number":87,"context_line":"            self._refresh_client()"},{"line_number":88,"context_line":"            return self.call_func(func, True, **kwargs)"},{"line_number":89,"context_line":"        except (exc.HTTPInternalServerError,"},{"line_number":90,"context_line":"                exc.HTTPServiceUnavailable,"},{"line_number":91,"context_line":"                exc.HTTPBadGateway,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_c8f71858","line":88,"updated":"2015-07-10 19:46:32.000000000","message":"Lines 85-88 probably not needed since monasca-client should refresh token.","commit_id":"071fd7e53cd92996f8c22b5ce61aa9babb1470b9"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"539d5e4c6aec7438448846381ebdbec1a68cc0ca","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            if unauth_flag is True:"},{"line_number":86,"context_line":"                raise"},{"line_number":87,"context_line":"            self._refresh_client()"},{"line_number":88,"context_line":"            return self.call_func(func, True, **kwargs)"},{"line_number":89,"context_line":"        except (exc.HTTPInternalServerError,"},{"line_number":90,"context_line":"                exc.HTTPServiceUnavailable,"},{"line_number":91,"context_line":"                exc.HTTPBadGateway,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_8834b0fb","line":88,"in_reply_to":"ba3cc151_c8f71858","updated":"2015-07-10 20:00:15.000000000","message":"I put a TODO in the README file for this part of the code since now monsca-client handles expired tokens. But I will remove the todo and fix this, since it is not a big deal to fix this.","commit_id":"071fd7e53cd92996f8c22b5ce61aa9babb1470b9"}],"ceilometer/storage/impl_monasca.py":[{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"c736762f2d6b2588f10e5a70dd7260ad9a58356c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"class Connection(base.Connection):"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    # TODO(monasca): Add this as a config parameter"},{"line_number":70,"context_line":"    STATS_DEFAULT_PERIOD \u003d 300"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    CAPABILITIES \u003d utils.update_nested(base.Connection.CAPABILITIES,"},{"line_number":73,"context_line":"                                       AVAILABLE_CAPABILITIES)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_c89ab86e","line":70,"updated":"2015-07-10 19:46:32.000000000","message":"can this be made configurable?","commit_id":"071fd7e53cd92996f8c22b5ce61aa9babb1470b9"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"539d5e4c6aec7438448846381ebdbec1a68cc0ca","unresolved":false,"context_lines":[{"line_number":67,"context_line":"class Connection(base.Connection):"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    # TODO(monasca): Add this as a config parameter"},{"line_number":70,"context_line":"    STATS_DEFAULT_PERIOD \u003d 300"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    CAPABILITIES \u003d utils.update_nested(base.Connection.CAPABILITIES,"},{"line_number":73,"context_line":"                                       AVAILABLE_CAPABILITIES)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_c8015808","line":70,"in_reply_to":"ba3cc151_c89ab86e","updated":"2015-07-10 20:00:15.000000000","message":"yes will fix this","commit_id":"071fd7e53cd92996f8c22b5ce61aa9babb1470b9"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"d233c9aee6ebd573617691002e82133c1d9f5c63","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    cfg.IntOpt(\u0027default_stats_period\u0027,"},{"line_number":37,"context_line":"               default\u003d300,"},{"line_number":38,"context_line":"               help\u003d\u0027Default period to use querying stats incase not \u0027"},{"line_number":39,"context_line":"                    \u0027specified in the stats API call.\u0027),"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":"cfg.CONF.register_opts(OPTS)"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_9fdc1348","line":39,"updated":"2015-07-10 22:38:49.000000000","message":"period in seconds.","commit_id":"e392212d6e67817d95bacff2b05d829dfcf0cff0"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"d233c9aee6ebd573617691002e82133c1d9f5c63","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               help\u003d\u0027Default period to use querying stats incase not \u0027"},{"line_number":39,"context_line":"                    \u0027specified in the stats API call.\u0027),"},{"line_number":40,"context_line":"]"},{"line_number":41,"context_line":"cfg.CONF.register_opts(OPTS)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_1f1a4318","line":41,"updated":"2015-07-10 22:38:49.000000000","message":"Would it be better to register this under the monasca group similar to monasca publisher? (since the default aggregate period is actually a monasca stats API default)","commit_id":"e392212d6e67817d95bacff2b05d829dfcf0cff0"}],"etc/ceilometer/ceilometer.conf":[{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"0143f61dd25ac77ad37c95b86f1f446b03aa9ec4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"rabbit_password \u003d password"},{"line_number":13,"context_line":"rabbit_hosts \u003d 16.78.179.83"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"[service_credentials]"},{"line_number":16,"context_line":"os_tenant_name \u003d mini-mon"},{"line_number":17,"context_line":"os_password \u003d password"},{"line_number":18,"context_line":"os_username \u003d mini-mon"}],"source_content_type":"text/plain","patch_set":1,"id":"ba3cc151_ca5ae981","line":15,"updated":"2015-07-09 18:49:00.000000000","message":"Whilst I like this better than:\n\nmonasca://root:password@127.0.0.1:8080/v2.0 \n\nI think we should make it a little bit more specific to monasca.\n\nMaybe something like monasca_credentials?","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"75cd367834062a385ead5d339e012e16cdfb79bc","unresolved":false,"context_lines":[{"line_number":12,"context_line":"rabbit_password \u003d password"},{"line_number":13,"context_line":"rabbit_hosts \u003d 16.78.179.83"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"[service_credentials]"},{"line_number":16,"context_line":"os_tenant_name \u003d mini-mon"},{"line_number":17,"context_line":"os_password \u003d password"},{"line_number":18,"context_line":"os_username \u003d mini-mon"}],"source_content_type":"text/plain","patch_set":1,"id":"ba3cc151_70286ae2","line":15,"in_reply_to":"ba3cc151_ca5ae981","updated":"2015-07-09 19:41:42.000000000","message":"We will have monasca-user role assigned to this user. We don\u0027t have to have separate credentials for monasca. I forgot to add this information to README will do that.","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"2abe50d984039325ccb06622004ca1847194dccb","unresolved":false,"context_lines":[{"line_number":15,"context_line":"[service_credentials]"},{"line_number":16,"context_line":"os_tenant_name \u003d mini-mon"},{"line_number":17,"context_line":"os_password \u003d password"},{"line_number":18,"context_line":"os_username \u003d mini-mon"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"[keystone_authtoken]"},{"line_number":21,"context_line":"signing_dir \u003d /var/cache/ceilometer"}],"source_content_type":"text/plain","patch_set":1,"id":"ba3cc151_b00cb2ec","line":18,"updated":"2015-07-09 19:28:46.000000000","message":"So does monasca auth use a separate set of credentials than other services?(which use the ceilometer service credentials)\n\nIt would be preferable to re-use ceilometer service creds for monasca as well (this assumes that appropriate monasca roles are assigned to ceilometer user)","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"75cd367834062a385ead5d339e012e16cdfb79bc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"[service_credentials]"},{"line_number":16,"context_line":"os_tenant_name \u003d mini-mon"},{"line_number":17,"context_line":"os_password \u003d password"},{"line_number":18,"context_line":"os_username \u003d mini-mon"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"[keystone_authtoken]"},{"line_number":21,"context_line":"signing_dir \u003d /var/cache/ceilometer"}],"source_content_type":"text/plain","patch_set":1,"id":"ba3cc151_903c0e30","line":18,"in_reply_to":"ba3cc151_b00cb2ec","updated":"2015-07-09 19:41:42.000000000","message":"mini-mon is just an example, ceilometer service-credentials is recommended way to supply the credentials, the user need to have monasca-user role assigned. I will update the README file.","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"}],"etc/ceilometer/monasca_field_definitions.yaml":[{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"0143f61dd25ac77ad37c95b86f1f446b03aa9ec4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    common:"},{"line_number":13,"context_line":"        - event_type"},{"line_number":14,"context_line":"        - audit_period_beginning"},{"line_number":15,"context_line":"        - audit_period_ending "},{"line_number":16,"context_line":"    instance:"},{"line_number":17,"context_line":"        - state"},{"line_number":18,"context_line":"        - state_description"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ba3cc151_eadecd0f","line":15,"updated":"2015-07-09 18:49:00.000000000","message":"please remove","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"0143f61dd25ac77ad37c95b86f1f446b03aa9ec4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        - status"},{"line_number":25,"context_line":"    image.update:"},{"line_number":26,"context_line":"        - size"},{"line_number":27,"context_line":"        - status    "},{"line_number":28,"context_line":"    image.upload:"},{"line_number":29,"context_line":"        - size"},{"line_number":30,"context_line":"        - status"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ba3cc151_aae445df","line":27,"updated":"2015-07-09 18:49:00.000000000","message":"please remove","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"}],"etc/ceilometer/pipeline.yaml":[{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"0143f61dd25ac77ad37c95b86f1f446b03aa9ec4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    - name: meter_sink"},{"line_number":11,"context_line":"      transformers:"},{"line_number":12,"context_line":"      publishers:"},{"line_number":13,"context_line":"          - monasca://http://127.0.0.1:8080/v2.0"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ba3cc151_aafbe579","line":13,"updated":"2015-07-09 18:49:00.000000000","message":"what happened to the credentials?\nHave these been moved in conf?","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"2abe50d984039325ccb06622004ca1847194dccb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    - name: meter_sink"},{"line_number":11,"context_line":"      transformers:"},{"line_number":12,"context_line":"      publishers:"},{"line_number":13,"context_line":"          - monasca://http://127.0.0.1:8080/v2.0"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ba3cc151_506f665f","line":13,"in_reply_to":"ba3cc151_aafbe579","updated":"2015-07-09 19:28:46.000000000","message":"Fabio: I believe they have moved to service_credentials section in conf file","commit_id":"48f8855ce3e837acb115a10246b3df1985dc1095"}],"tox.ini":[{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"c736762f2d6b2588f10e5a70dd7260ad9a58356c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"# H305 imports not grouped correctly"},{"line_number":22,"context_line":"# H307  like imports should be grouped together"},{"line_number":23,"context_line":"# H904  Wrap long lines in parentheses instead of a backslash"},{"line_number":24,"context_line":"ignore \u003d H302,H305,H307,H904"},{"line_number":25,"context_line":"builtins \u003d _"},{"line_number":26,"context_line":"exclude\u003d.venv,.git,.tox,dist,client_api_example.py,*openstack/common*,*lib/python*,*egg,build"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-properties","patch_set":2,"id":"ba3cc151_77802b4a","line":24,"updated":"2015-07-10 19:46:32.000000000","message":"Any reason to ignore H305 and H307?","commit_id":"071fd7e53cd92996f8c22b5ce61aa9babb1470b9"},{"author":{"_account_id":12637,"name":"Srinivas Sakhamuri","email":"srini.openstack@gmail.com","username":"srsakhamuri"},"change_message_id":"539d5e4c6aec7438448846381ebdbec1a68cc0ca","unresolved":false,"context_lines":[{"line_number":21,"context_line":"# H305 imports not grouped correctly"},{"line_number":22,"context_line":"# H307  like imports should be grouped together"},{"line_number":23,"context_line":"# H904  Wrap long lines in parentheses instead of a backslash"},{"line_number":24,"context_line":"ignore \u003d H302,H305,H307,H904"},{"line_number":25,"context_line":"builtins \u003d _"},{"line_number":26,"context_line":"exclude\u003d.venv,.git,.tox,dist,client_api_example.py,*openstack/common*,*lib/python*,*egg,build"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-properties","patch_set":2,"id":"ba3cc151_ce9961d2","line":24,"in_reply_to":"ba3cc151_77802b4a","updated":"2015-07-10 20:00:15.000000000","message":"It looks like when you have partial code of a project, like we have here, PEP can\u0027t figure out how module grouping works. So I had to disable those checks.","commit_id":"071fd7e53cd92996f8c22b5ce61aa9babb1470b9"}]}
