)]}'
{"doc/source/user/usage.rst":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"2a63025f80bf784539dacd329fe4c42d5da7852f","unresolved":false,"context_lines":[{"line_number":72,"context_line":"standard authentication information againt Keystone service in order to query"},{"line_number":73,"context_line":"the unified limit APIs."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Beware than the account configured require at least a **system_scope** of"},{"line_number":76,"context_line":"**reader** for enforcing limits, and authentication information"},{"line_number":77,"context_line":"**should not** contains project information, as keystoneauth library will"},{"line_number":78,"context_line":"use it instead of system_scope."},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff570b3c_ea480c88","line":76,"range":{"start_line":75,"start_character":16,"end_line":76,"end_character":31},"updated":"2020-05-15 21:56:25.000000000","message":"would be more accurate to say \"the service account requires at a minimum a reader role assigned on the system scope\"","commit_id":"048382da75cedd40975576a00302b5b4ca22e337"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"2a63025f80bf784539dacd329fe4c42d5da7852f","unresolved":false,"context_lines":[{"line_number":101,"context_line":"exist for that resource. Registered limit can be, by example, setuped during"},{"line_number":102,"context_line":"service deployment."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Note that a **system_scope** of **all** is required to create registered limit."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Enforce a limit"},{"line_number":107,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff570b3c_4a2658d0","line":104,"range":{"start_line":104,"start_character":10,"end_line":104,"end_character":54},"updated":"2020-05-15 21:56:25.000000000","message":"more accurate to say \"your user account must have the admin role assigned on the system scope\"","commit_id":"048382da75cedd40975576a00302b5b4ca22e337"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Configuration"},{"line_number":68,"context_line":"-------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"The oslo.limit library will by default lookup for a [oslo_limit] section"},{"line_number":71,"context_line":"in the configuration file of the service. This section must contain"},{"line_number":72,"context_line":"standard authentication information againt Keystone service in order to query"},{"line_number":73,"context_line":"the unified limit APIs."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_abc4bd41","line":70,"range":{"start_line":70,"start_character":52,"end_line":70,"end_character":64},"updated":"2020-05-25 13:55:04.000000000","message":"``literal``","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":72,"context_line":"standard authentication information againt Keystone service in order to query"},{"line_number":73,"context_line":"the unified limit APIs."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Beware that the service account requires at a minimum a reader role assigned"},{"line_number":76,"context_line":"on the system scope for enforcing limits, and authentication information"},{"line_number":77,"context_line":"**should not** contains project information, as keystoneauth library will"},{"line_number":78,"context_line":"use it instead of system_scope."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_8bc1f931","line":75,"range":{"start_line":75,"start_character":0,"end_line":75,"end_character":6},"updated":"2020-05-25 13:55:04.000000000","message":"Be aware\n\n(https://english.stackexchange.com/q/160651/)","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Beware that the service account requires at a minimum a reader role assigned"},{"line_number":76,"context_line":"on the system scope for enforcing limits, and authentication information"},{"line_number":77,"context_line":"**should not** contains project information, as keystoneauth library will"},{"line_number":78,"context_line":"use it instead of system_scope."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In addition to the authentication information, oslo_limit"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_ebdb551e","line":77,"range":{"start_line":77,"start_character":43,"end_line":77,"end_character":44},"updated":"2020-05-25 13:55:04.000000000","message":"nit: drop","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"**should not** contains project information, as keystoneauth library will"},{"line_number":78,"context_line":"use it instead of system_scope."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In addition to the authentication information, oslo_limit"},{"line_number":81,"context_line":"configuration section must contains a way to identify the service in order to"},{"line_number":82,"context_line":"filter limits by it. It can either be a combinaison of Keystone"},{"line_number":83,"context_line":"**service_name/service_type/region_name** or directly a"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_6bcf4557","line":80,"range":{"start_line":80,"start_character":47,"end_line":80,"end_character":57},"updated":"2020-05-25 13:55:04.000000000","message":"the ``oslo_limit`` configuration section","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":78,"context_line":"use it instead of system_scope."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In addition to the authentication information, oslo_limit"},{"line_number":81,"context_line":"configuration section must contains a way to identify the service in order to"},{"line_number":82,"context_line":"filter limits by it. It can either be a combinaison of Keystone"},{"line_number":83,"context_line":"**service_name/service_type/region_name** or directly a"},{"line_number":84,"context_line":"Keystone **endpoint_id**."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_4bcc0161","line":81,"range":{"start_line":81,"start_character":27,"end_line":81,"end_character":35},"updated":"2020-05-25 13:55:04.000000000","message":"contain","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In addition to the authentication information, oslo_limit"},{"line_number":81,"context_line":"configuration section must contains a way to identify the service in order to"},{"line_number":82,"context_line":"filter limits by it. It can either be a combinaison of Keystone"},{"line_number":83,"context_line":"**service_name/service_type/region_name** or directly a"},{"line_number":84,"context_line":"Keystone **endpoint_id**."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_8bd619f1","line":82,"range":{"start_line":82,"start_character":21,"end_line":82,"end_character":23},"updated":"2020-05-25 13:55:04.000000000","message":"This","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In addition to the authentication information, oslo_limit"},{"line_number":81,"context_line":"configuration section must contains a way to identify the service in order to"},{"line_number":82,"context_line":"filter limits by it. It can either be a combinaison of Keystone"},{"line_number":83,"context_line":"**service_name/service_type/region_name** or directly a"},{"line_number":84,"context_line":"Keystone **endpoint_id**."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_abd95d23","line":82,"range":{"start_line":82,"start_character":40,"end_line":82,"end_character":51},"updated":"2020-05-25 13:55:04.000000000","message":"combination","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"In addition to the authentication information, oslo_limit"},{"line_number":81,"context_line":"configuration section must contains a way to identify the service in order to"},{"line_number":82,"context_line":"filter limits by it. It can either be a combinaison of Keystone"},{"line_number":83,"context_line":"**service_name/service_type/region_name** or directly a"},{"line_number":84,"context_line":"Keystone **endpoint_id**."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Here is an example of oslo_limit configuration::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_abf2fd98","line":83,"range":{"start_line":83,"start_character":0,"end_line":83,"end_character":44},"updated":"2020-05-25 13:55:04.000000000","message":"combination of ``service_name``, ``service_type`` and ``region_name``, or simply ``endpoint_id``","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"**service_name/service_type/region_name** or directly a"},{"line_number":84,"context_line":"Keystone **endpoint_id**."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Here is an example of oslo_limit configuration::"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    [oslo_limit]"},{"line_number":89,"context_line":"    auth_url \u003d http://controller:5000"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_4b3a4134","line":86,"range":{"start_line":86,"start_character":46,"end_line":86,"end_character":48},"updated":"2020-05-25 13:55:04.000000000","message":"Use\n\n  .. code-block:: ini\n\ninstead, otherwise the below is interpreted as Python by default","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"-----------------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Before enforcing a limit for a given resource, a registered limit **should**"},{"line_number":102,"context_line":"exist for that resource. Registered limit can be, by example, setuped during"},{"line_number":103,"context_line":"service deployment."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Note that your user account must have the admin role assigned on the system"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_6b262519","line":102,"range":{"start_line":102,"start_character":62,"end_line":102,"end_character":69},"updated":"2020-05-25 13:55:04.000000000","message":"configured (or setup)","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"-----------------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Before enforcing a limit for a given resource, a registered limit **should**"},{"line_number":102,"context_line":"exist for that resource. Registered limit can be, by example, setuped during"},{"line_number":103,"context_line":"service deployment."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Note that your user account must have the admin role assigned on the system"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_0b1209b2","line":102,"range":{"start_line":102,"start_character":50,"end_line":102,"end_character":52},"updated":"2020-05-25 13:55:04.000000000","message":"for","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"-----------------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Before enforcing a limit for a given resource, a registered limit **should**"},{"line_number":102,"context_line":"exist for that resource. Registered limit can be, by example, setuped during"},{"line_number":103,"context_line":"service deployment."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Note that your user account must have the admin role assigned on the system"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_cb1771a3","line":102,"range":{"start_line":102,"start_character":36,"end_line":102,"end_character":41},"updated":"2020-05-25 13:55:04.000000000","message":"limits","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":102,"context_line":"exist for that resource. Registered limit can be, by example, setuped during"},{"line_number":103,"context_line":"service deployment."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Note that your user account must have the admin role assigned on the system"},{"line_number":106,"context_line":"scope to create registered limit."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Enforce a limit"},{"line_number":109,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_eb77d507","line":106,"range":{"start_line":105,"start_character":0,"end_line":106,"end_character":33},"updated":"2020-05-25 13:55:04.000000000","message":"Use admonitions here:\n\n  .. note::\n\n     Your user account must have the admin...","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":103,"context_line":"service deployment."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Note that your user account must have the admin role assigned on the system"},{"line_number":106,"context_line":"scope to create registered limit."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Enforce a limit"},{"line_number":109,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_0b87a9d9","line":106,"range":{"start_line":106,"start_character":27,"end_line":106,"end_character":32},"updated":"2020-05-25 13:55:04.000000000","message":"limits","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Enforce a limit"},{"line_number":109,"context_line":"---------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Using enforcer consist mainly on defining a callback function for processing"},{"line_number":112,"context_line":"the current usage of a given project, then calling the enforce function with"},{"line_number":113,"context_line":"the amount of each resource you want to consume for a project, catching the"},{"line_number":114,"context_line":"exception who can be raised in case of quota exceeding."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_4b688120","line":111,"range":{"start_line":111,"start_character":15,"end_line":111,"end_character":22},"updated":"2020-05-25 13:55:04.000000000","message":"consists","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Enforce a limit"},{"line_number":109,"context_line":"---------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Using enforcer consist mainly on defining a callback function for processing"},{"line_number":112,"context_line":"the current usage of a given project, then calling the enforce function with"},{"line_number":113,"context_line":"the amount of each resource you want to consume for a project, catching the"},{"line_number":114,"context_line":"exception who can be raised in case of quota exceeding."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_ab75ddfc","line":111,"range":{"start_line":111,"start_character":30,"end_line":111,"end_character":32},"updated":"2020-05-25 13:55:04.000000000","message":"of","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":109,"context_line":"---------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Using enforcer consist mainly on defining a callback function for processing"},{"line_number":112,"context_line":"the current usage of a given project, then calling the enforce function with"},{"line_number":113,"context_line":"the amount of each resource you want to consume for a project, catching the"},{"line_number":114,"context_line":"exception who can be raised in case of quota exceeding."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_2b5b8d87","line":112,"range":{"start_line":112,"start_character":55,"end_line":112,"end_character":62},"updated":"2020-05-25 13:55:04.000000000","message":"``enforce``","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Using enforcer consist mainly on defining a callback function for processing"},{"line_number":112,"context_line":"the current usage of a given project, then calling the enforce function with"},{"line_number":113,"context_line":"the amount of each resource you want to consume for a project, catching the"},{"line_number":114,"context_line":"exception who can be raised in case of quota exceeding."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Here is a simple usage of limit enforcement::"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_ebc5150c","line":114,"range":{"start_line":113,"start_character":63,"end_line":114,"end_character":54},"updated":"2020-05-25 13:55:04.000000000","message":"handling the possible quota exceeded exceptions.","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e2af84bd2d4ba8ac18d6436ba5454650211ec3c","unresolved":false,"context_lines":[{"line_number":113,"context_line":"the amount of each resource you want to consume for a project, catching the"},{"line_number":114,"context_line":"exception who can be raised in case of quota exceeding."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Here is a simple usage of limit enforcement::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    import logging"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_0bd5e9b9","line":116,"range":{"start_line":116,"start_character":43,"end_line":116,"end_character":45},"updated":"2020-05-25 13:55:04.000000000","message":"Use\n\n  .. code-block:: python","commit_id":"6e05904d82b06afb421d4f819e24c2891be2dd67"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"c061bd4cf0aaf888d1b0cbe40c36f904a33507b0","unresolved":false,"context_lines":[{"line_number":82,"context_line":"filter limits by it. This can either be a combination of ``service_name``,"},{"line_number":83,"context_line":"``service_type`` and ``region_name``, or simply ``endpoint_id``."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Here is an example of oslo_limit configuration "},{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. code-block:: ini"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"ff570b3c_95a3659e","line":85,"range":{"start_line":85,"start_character":46,"end_line":85,"end_character":47},"updated":"2020-06-01 16:38:44.000000000","message":"White space","commit_id":"59ea58ede7f191b9722bb680feb5c4d5ce3e0bfa"}]}
