)]}'
{"doc/source/configuration/configuring.rst":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":79,"context_line":"The configuration for ``monitoring`` should either be provided in"},{"line_number":80,"context_line":"``log-api.conf`` or in a file in one of the configuration directories."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Configuring RBAC"},{"line_number":83,"context_line":"----------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"At the moment monasca-log-api does not feature RBAC with ``oslo.policies``."},{"line_number":86,"context_line":"It provides a custom mechanism, however, that can be configured as follows:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* ``path`` - list of URIs that RBAC applies to"},{"line_number":89,"context_line":"* ``default_roles`` - list of roles that are permitted to access the API"},{"line_number":90,"context_line":"* ``agent_roles`` - list of roles, that if present, means that requests come"},{"line_number":91,"context_line":"  from log-agent"},{"line_number":92,"context_line":"* ``delegate_roles`` - list of roles required by log-agent for sending logs"},{"line_number":93,"context_line":"  on behalf of another project (tenant)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The configuration for ``roles_middleware`` should either be provided in"},{"line_number":96,"context_line":"``log-api.conf`` or in a file in one of the configuration directories."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Configuring Logging"},{"line_number":99,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_77aafa84","line":96,"range":{"start_line":82,"start_character":0,"end_line":96,"end_character":70},"updated":"2018-07-11 14:45:29.000000000","message":"Please update this as well.","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":79,"context_line":"The configuration for ``monitoring`` should either be provided in"},{"line_number":80,"context_line":"``log-api.conf`` or in a file in one of the configuration directories."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Configuring RBAC"},{"line_number":83,"context_line":"----------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"At the moment monasca-log-api does not feature RBAC with ``oslo.policies``."},{"line_number":86,"context_line":"It provides a custom mechanism, however, that can be configured as follows:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* ``path`` - list of URIs that RBAC applies to"},{"line_number":89,"context_line":"* ``default_roles`` - list of roles that are permitted to access the API"},{"line_number":90,"context_line":"* ``agent_roles`` - list of roles, that if present, means that requests come"},{"line_number":91,"context_line":"  from log-agent"},{"line_number":92,"context_line":"* ``delegate_roles`` - list of roles required by log-agent for sending logs"},{"line_number":93,"context_line":"  on behalf of another project (tenant)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"The configuration for ``roles_middleware`` should either be provided in"},{"line_number":96,"context_line":"``log-api.conf`` or in a file in one of the configuration directories."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Configuring Logging"},{"line_number":99,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_a2e41c0f","line":96,"range":{"start_line":82,"start_character":0,"end_line":96,"end_character":70},"in_reply_to":"5f7c97a3_77aafa84","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":142,"context_line":"--------------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The policies for accessing each service can be configured in the"},{"line_number":145,"context_line":"``log-api.policy.yaml`` configuration file:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"  Policy Description"},{"line_number":148,"context_line":"  Method Path"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_f7184ace","line":145,"range":{"start_line":145,"start_character":42,"end_line":145,"end_character":43},"updated":"2018-07-11 14:45:29.000000000","message":"Should be ::","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":142,"context_line":"--------------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The policies for accessing each service can be configured in the"},{"line_number":145,"context_line":"``log-api.policy.yaml`` configuration file:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"  Policy Description"},{"line_number":148,"context_line":"  Method Path"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_424e686e","line":145,"range":{"start_line":145,"start_character":42,"end_line":145,"end_character":43},"in_reply_to":"5f7c97a3_f7184ace","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  Method Path"},{"line_number":149,"context_line":"  \"Policy string\": \"Roles\""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"example :"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  Logs post role"},{"line_number":154,"context_line":"  POST  /logs"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_b77892f7","line":151,"range":{"start_line":151,"start_character":0,"end_line":151,"end_character":9},"updated":"2018-07-11 14:45:29.000000000","message":"example::","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  Method Path"},{"line_number":149,"context_line":"  \"Policy string\": \"Roles\""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"example :"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  Logs post role"},{"line_number":154,"context_line":"  POST  /logs"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_c23918cf","line":151,"range":{"start_line":151,"start_character":0,"end_line":151,"end_character":9},"in_reply_to":"5f7c97a3_b77892f7","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"example :"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  Logs post role"},{"line_number":154,"context_line":"  POST  /logs"},{"line_number":155,"context_line":"  POST  /log/single"},{"line_number":156,"context_line":"  \"log_api:logs:post\": \"role:monasca-user\""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_3764824d","line":153,"range":{"start_line":153,"start_character":12,"end_line":153,"end_character":16},"updated":"2018-07-11 14:45:29.000000000","message":"rule","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"example :"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  Logs post role"},{"line_number":154,"context_line":"  POST  /logs"},{"line_number":155,"context_line":"  POST  /log/single"},{"line_number":156,"context_line":"  \"log_api:logs:post\": \"role:monasca-user\""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_02a2b0fb","line":153,"range":{"start_line":153,"start_character":12,"end_line":153,"end_character":16},"in_reply_to":"5f7c97a3_3764824d","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":144,"context_line":"The policies for accessing each service can be configured in the"},{"line_number":145,"context_line":"``log-api.policy.yaml`` configuration file:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"  Policy Description"},{"line_number":148,"context_line":"  Method Path"},{"line_number":149,"context_line":"  \"Policy string\": \"Roles\""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"example :"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  Logs post role"},{"line_number":154,"context_line":"  POST  /logs"},{"line_number":155,"context_line":"  POST  /log/single"},{"line_number":156,"context_line":"  \"log_api:logs:post\": \"role:monasca-user\""},{"line_number":157,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_d7ed0eb9","line":156,"range":{"start_line":147,"start_character":2,"end_line":156,"end_character":42},"updated":"2018-07-11 14:45:29.000000000","message":"It\u0027s not rendered correctly.\n\nhttp://logs.openstack.org/61/578061/3/check/build-openstack-sphinx-docs/f297173/html/configuration/configuring.html#configuring-policies","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":144,"context_line":"The policies for accessing each service can be configured in the"},{"line_number":145,"context_line":"``log-api.policy.yaml`` configuration file:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"  Policy Description"},{"line_number":148,"context_line":"  Method Path"},{"line_number":149,"context_line":"  \"Policy string\": \"Roles\""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"example :"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  Logs post role"},{"line_number":154,"context_line":"  POST  /logs"},{"line_number":155,"context_line":"  POST  /log/single"},{"line_number":156,"context_line":"  \"log_api:logs:post\": \"role:monasca-user\""},{"line_number":157,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_c2903899","line":156,"range":{"start_line":147,"start_character":2,"end_line":156,"end_character":42},"in_reply_to":"5f7c97a3_d7ed0eb9","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"ccda4b07fd2b471dcc5e67cd63ee7fdcd9cddc70","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Configuring RBAC"},{"line_number":83,"context_line":"----------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"At the moment monasca-log-api does not feature RBAC fully with"},{"line_number":86,"context_line":"``oslo.policies``."},{"line_number":87,"context_line":"It provides a custom mechanism, however, that can be configured as follows:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* ``path`` - list of URIs that RBAC applies to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_d05abdf3","line":86,"range":{"start_line":85,"start_character":30,"end_line":86,"end_character":17},"updated":"2018-07-25 12:18:17.000000000","message":"Why that? Is there more what we should do? The configuration options documented below are additional to oslo.policy enforcement in my understanding.","commit_id":"5729d7e7c8bcaae3001042c6dc1f38ce2b35cc76"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"ccda4b07fd2b471dcc5e67cd63ee7fdcd9cddc70","unresolved":false,"context_lines":[{"line_number":96,"context_line":"The configuration for ``roles_middleware`` should either be provided in"},{"line_number":97,"context_line":"``log-api.conf`` or in a file in one of the configuration directories."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The configuration for accessing the services by ``oslo.policies`` can be"},{"line_number":100,"context_line":"provided in ``log-api.policy.yaml``."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Configuring Logging"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_b0b38109","line":99,"range":{"start_line":99,"start_character":50,"end_line":99,"end_character":63},"updated":"2018-07-25 12:18:17.000000000","message":"oslo.policy","commit_id":"5729d7e7c8bcaae3001042c6dc1f38ce2b35cc76"}],"doc/source/configuration/files.rst":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":87,"context_line":"-------------------"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"This is the configuration file for policies to access the services."},{"line_number":90,"context_line":"the path of the file can be defined in ``log-api.conf``:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  [oslo_policy]"},{"line_number":93,"context_line":"  policy_file \u003d log-api.policy.yaml"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_b713b2b7","line":90,"range":{"start_line":90,"start_character":55,"end_line":90,"end_character":56},"updated":"2018-07-11 14:45:29.000000000","message":"Should be ::","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":87,"context_line":"-------------------"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"This is the configuration file for policies to access the services."},{"line_number":90,"context_line":"the path of the file can be defined in ``log-api.conf``:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  [oslo_policy]"},{"line_number":93,"context_line":"  policy_file \u003d log-api.policy.yaml"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_52ec1991","line":90,"range":{"start_line":90,"start_character":55,"end_line":90,"end_character":56},"in_reply_to":"5f7c97a3_b713b2b7","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":96,"context_line":"`oslo.policy \u003chttps://docs.openstack.org/oslo.policy/latest/admin/policy-yaml-file.html\u003e`_"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"A sample of this configuration file is also available"},{"line_number":99,"context_line":":ref:`here \u003csample-configuration-api\u003e`"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_526a6cb5","line":99,"range":{"start_line":99,"start_character":33,"end_line":99,"end_character":36},"updated":"2018-07-11 14:45:29.000000000","message":"policy","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":96,"context_line":"`oslo.policy \u003chttps://docs.openstack.org/oslo.policy/latest/admin/policy-yaml-file.html\u003e`_"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"A sample of this configuration file is also available"},{"line_number":99,"context_line":":ref:`here \u003csample-configuration-api\u003e`"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_72f1156a","line":99,"range":{"start_line":99,"start_character":33,"end_line":99,"end_character":36},"in_reply_to":"5f7c97a3_526a6cb5","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"}],"doc/source/configuration/sample.rst":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":38,"context_line":"\u003chttps://github.com/openstack/monasca-log-api/blob/master/etc/monasca/log-api-paste.ini\u003e`_."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../../etc/monasca/log-api-paste.ini"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Sample Configuration For Policy"},{"line_number":44,"context_line":"-------------------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_320a501e","line":41,"updated":"2018-07-11 14:45:29.000000000","message":"Please add reference target here, so you can point to this section from files.rst.\n\n  .. _sample-configuration-policy:","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":38,"context_line":"\u003chttps://github.com/openstack/monasca-log-api/blob/master/etc/monasca/log-api-paste.ini\u003e`_."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. literalinclude:: ../../../etc/monasca/log-api-paste.ini"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Sample Configuration For Policy"},{"line_number":44,"context_line":"-------------------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_a7250e0c","line":41,"in_reply_to":"5f7c97a3_320a501e","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":46,"context_line":"This sample configuration can also be viewed in `log-api-policy.yaml.sample"},{"line_number":47,"context_line":"\u003c../_static/log-api-policy.yaml.sample\u003e`_."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. literalinclude:: ../_static/log-api.policy.yaml.sample"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_529fccb2","line":49,"range":{"start_line":49,"start_character":20,"end_line":49,"end_character":57},"updated":"2018-07-11 14:45:29.000000000","message":"File Not Found","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":46,"context_line":"This sample configuration can also be viewed in `log-api-policy.yaml.sample"},{"line_number":47,"context_line":"\u003c../_static/log-api-policy.yaml.sample\u003e`_."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. literalinclude:: ../_static/log-api.policy.yaml.sample"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_622fe488","line":49,"range":{"start_line":49,"start_character":20,"end_line":49,"end_character":57},"in_reply_to":"5f7c97a3_529fccb2","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"}],"monasca_log_api/app/controller/v2/logs.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @falcon.deprecated(_DEPRECATED_INFO)"},{"line_number":45,"context_line":"    def on_post(self, req, res):"},{"line_number":46,"context_line":"        validate_authorization(req, [\u0027log_api:healthcheck:head\u0027])"},{"line_number":47,"context_line":"        if CONF.monitoring.enable:"},{"line_number":48,"context_line":"            with self._logs_processing_time.time(name\u003dNone):"},{"line_number":49,"context_line":"                self.process_on_post_request(req, res)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_cc04a1c8","line":46,"range":{"start_line":46,"start_character":38,"end_line":46,"end_character":62},"updated":"2018-07-11 14:45:29.000000000","message":"log_api:logs:post","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    @falcon.deprecated(_DEPRECATED_INFO)"},{"line_number":45,"context_line":"    def on_post(self, req, res):"},{"line_number":46,"context_line":"        validate_authorization(req, [\u0027log_api:healthcheck:head\u0027])"},{"line_number":47,"context_line":"        if CONF.monitoring.enable:"},{"line_number":48,"context_line":"            with self._logs_processing_time.time(name\u003dNone):"},{"line_number":49,"context_line":"                self.process_on_post_request(req, res)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_75633f42","line":46,"range":{"start_line":46,"start_character":38,"end_line":46,"end_character":62},"in_reply_to":"5f7c97a3_cc04a1c8","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"}],"monasca_log_api/app/controller/v3/logs.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            self._processor \u003d bulk_processor.BulkProcessor()"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def on_post(self, req, res):"},{"line_number":54,"context_line":"        validation.validate_authorization(req, [\u0027log_api:healthcheck:head\u0027])"},{"line_number":55,"context_line":"        if CONF.monitoring.enable:"},{"line_number":56,"context_line":"            with self._logs_processing_time.time(name\u003dNone):"},{"line_number":57,"context_line":"                self.process_on_post_request(req, res)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ec15dde7","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":73},"updated":"2018-07-11 14:45:29.000000000","message":"log_api:logs:post","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            self._processor \u003d bulk_processor.BulkProcessor()"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def on_post(self, req, res):"},{"line_number":54,"context_line":"        validation.validate_authorization(req, [\u0027log_api:healthcheck:head\u0027])"},{"line_number":55,"context_line":"        if CONF.monitoring.enable:"},{"line_number":56,"context_line":"            with self._logs_processing_time.time(name\u003dNone):"},{"line_number":57,"context_line":"                self.process_on_post_request(req, res)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_353867eb","line":54,"range":{"start_line":54,"start_character":49,"end_line":54,"end_character":73},"in_reply_to":"5f7c97a3_ec15dde7","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"}],"monasca_log_api/conf/role_middleware.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":23,"context_line":"                default\u003d[\u0027monasca-user\u0027],"},{"line_number":24,"context_line":"                help\u003d\u0027List of roles allowed to enter api\u0027),"},{"line_number":25,"context_line":"    cfg.ListOpt(name\u003d\u0027agent_roles\u0027,"},{"line_number":26,"context_line":"                default\u003dNone,"},{"line_number":27,"context_line":"                help\u003d(\u0027List of roles, that if set, mean that request \u0027"},{"line_number":28,"context_line":"                      \u0027comes from agent, thus is authorized in the same \u0027"},{"line_number":29,"context_line":"                      \u0027time\u0027)),"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_2c9d1558","line":26,"updated":"2018-07-11 14:45:29.000000000","message":"I\u0027m wondering if we shouldn\u0027t change the default here to achieve parity with monasca-api. Could be done in the follow-up change though.","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"}],"monasca_log_api/tests/test_role_middleware.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        admin_roles \u003d [roles_array[1]]"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        instance \u003d rm.RoleMiddleware(None)"},{"line_number":158,"context_line":"        instance.default_roles \u003d default_roles"},{"line_number":159,"context_line":"        instance.agent_roles \u003d admin_roles"},{"line_number":160,"context_line":"        instance._path \u003d [\u0027/test\u0027]"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_d7b98e16","line":158,"range":{"start_line":158,"start_character":17,"end_line":158,"end_character":30},"updated":"2018-07-11 14:45:29.000000000","message":"_default_roles","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        admin_roles \u003d [roles_array[1]]"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        instance \u003d rm.RoleMiddleware(None)"},{"line_number":158,"context_line":"        instance.default_roles \u003d default_roles"},{"line_number":159,"context_line":"        instance.agent_roles \u003d admin_roles"},{"line_number":160,"context_line":"        instance._path \u003d [\u0027/test\u0027]"},{"line_number":161,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_0ba17f3a","line":158,"range":{"start_line":158,"start_character":17,"end_line":158,"end_character":30},"in_reply_to":"5f7c97a3_d7b98e16","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        instance \u003d rm.RoleMiddleware(None)"},{"line_number":158,"context_line":"        instance.default_roles \u003d default_roles"},{"line_number":159,"context_line":"        instance.agent_roles \u003d admin_roles"},{"line_number":160,"context_line":"        instance._path \u003d [\u0027/test\u0027]"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        # spying"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_b73652b3","line":159,"range":{"start_line":159,"start_character":17,"end_line":159,"end_character":28},"updated":"2018-07-11 14:45:29.000000000","message":"_agent_roles","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        instance \u003d rm.RoleMiddleware(None)"},{"line_number":158,"context_line":"        instance.default_roles \u003d default_roles"},{"line_number":159,"context_line":"        instance.agent_roles \u003d admin_roles"},{"line_number":160,"context_line":"        instance._path \u003d [\u0027/test\u0027]"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        # spying"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_ab5f2b4b","line":159,"range":{"start_line":159,"start_character":17,"end_line":159,"end_character":28},"in_reply_to":"5f7c97a3_b73652b3","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        # spying"},{"line_number":163,"context_line":"        instance._is_authenticated \u003d mock.Mock()"},{"line_number":164,"context_line":"        instance._is_authorized \u003d mock.Mock()"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        req \u003d mock.Mock()"},{"line_number":167,"context_line":"        req.headers \u003d {rm._X_ROLES: roles}"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_7740ba07","line":164,"range":{"start_line":164,"start_character":17,"end_line":164,"end_character":31},"updated":"2018-07-11 14:45:29.000000000","message":"_is_agent","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        # spying"},{"line_number":163,"context_line":"        instance._is_authenticated \u003d mock.Mock()"},{"line_number":164,"context_line":"        instance._is_authorized \u003d mock.Mock()"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        req \u003d mock.Mock()"},{"line_number":167,"context_line":"        req.headers \u003d {rm._X_ROLES: roles}"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_6b3ef3e3","line":164,"range":{"start_line":164,"start_character":17,"end_line":164,"end_character":31},"in_reply_to":"5f7c97a3_7740ba07","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        instance.process_request(req\u003dreq)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        self.assertFalse(instance._is_authenticated.called)"},{"line_number":173,"context_line":"        self.assertFalse(instance._is_authorized.called)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def test_not_process_further_if_cannot_apply_method(self):"},{"line_number":176,"context_line":"        roles \u003d \u0027cmm-admin,cmm-user\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_3742420f","line":173,"range":{"start_line":173,"start_character":34,"end_line":173,"end_character":48},"updated":"2018-07-11 14:45:29.000000000","message":"_is_agent","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        instance.process_request(req\u003dreq)"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        self.assertFalse(instance._is_authenticated.called)"},{"line_number":173,"context_line":"        self.assertFalse(instance._is_authorized.called)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def test_not_process_further_if_cannot_apply_method(self):"},{"line_number":176,"context_line":"        roles \u003d \u0027cmm-admin,cmm-user\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_2b5c7b4a","line":173,"range":{"start_line":173,"start_character":34,"end_line":173,"end_character":48},"in_reply_to":"5f7c97a3_3742420f","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        admin_roles \u003d [roles_array[1]]"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        instance \u003d rm.RoleMiddleware(None)"},{"line_number":183,"context_line":"        instance.default_roles \u003d default_roles"},{"line_number":184,"context_line":"        instance.agent_roles \u003d admin_roles"},{"line_number":185,"context_line":"        instance._path \u003d [\u0027/test\u0027]"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_77275a65","line":183,"range":{"start_line":183,"start_character":17,"end_line":183,"end_character":30},"updated":"2018-07-11 14:45:29.000000000","message":"same here","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        admin_roles \u003d [roles_array[1]]"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        instance \u003d rm.RoleMiddleware(None)"},{"line_number":183,"context_line":"        instance.default_roles \u003d default_roles"},{"line_number":184,"context_line":"        instance.agent_roles \u003d admin_roles"},{"line_number":185,"context_line":"        instance._path \u003d [\u0027/test\u0027]"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_2b21dbb5","line":183,"range":{"start_line":183,"start_character":17,"end_line":183,"end_character":30},"in_reply_to":"5f7c97a3_77275a65","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"dacf05fa6f55542461b9967434460352634bc040","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        is_authenticated \u003d False"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        instance._can_apply_middleware \u003d mock.Mock(return_value\u003dTrue)"},{"line_number":208,"context_line":"        instance._is_authorized \u003d mock.Mock(return_value\u003dis_agent)"},{"line_number":209,"context_line":"        instance._is_authenticated \u003d mock.Mock(return_value\u003dis_authenticated)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        req \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_f7128afd","line":208,"range":{"start_line":208,"start_character":17,"end_line":208,"end_character":31},"updated":"2018-07-11 14:45:29.000000000","message":"_is_agent","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"02356d922f1bb9fd18fe7d04aefad99c5e8f57a0","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        is_authenticated \u003d False"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        instance._can_apply_middleware \u003d mock.Mock(return_value\u003dTrue)"},{"line_number":208,"context_line":"        instance._is_authorized \u003d mock.Mock(return_value\u003dis_agent)"},{"line_number":209,"context_line":"        instance._is_authenticated \u003d mock.Mock(return_value\u003dis_authenticated)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        req \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_eb2683cc","line":208,"range":{"start_line":208,"start_character":17,"end_line":208,"end_character":31},"in_reply_to":"5f7c97a3_f7128afd","updated":"2018-07-19 07:56:32.000000000","message":"Done","commit_id":"70eb1c7f0244b15d740dae5fe531c490f5074605"}]}
