O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Lance Bragstad (lbragstad)
Unified Limits
Enforcing Quota Consistently with
What are unified limits?
How do unified limits help operators?
How do unified limits help developers?
What's been done alr...
What are unified limits?
Limits are a theoretical maximum number of
resources consumed by or associated to
something.
Usage is the current consumption of resources
by something, or associated to something.
limit management + usage enforcement = quota system
keystone + $SERVICE = quota system
resource + service (+ region) + limit (+ project)
cores + compute + eu-west + 32 + 6bbdcd1e417640f7960faac553d49c3e
"registered_limits":[
{
"service_id": "9408080f1970482aa0e38bc2d4ea34b7",
"region_id": "berlin",
"resource_name": "cores",...
"registered_limits":[
{
"service_id": "9408080f1970482aa0e38bc2d4ea34b7",
"region_id": "berlin",
"resource_name": "cores",...
"limits":[
{
"service_id": "9408080f1970482aa0e38bc2d4ea34b7",
"project_id": "6bbdcd1e417640f7960faac553d49c3e",
"region_i...
"limits":[
{
"service_id": "9408080f1970482aa0e38bc2d4ea34b7",
"project_id": "6bbdcd1e417640f7960faac553d49c3e",
"region_i...
"limits":[
{
"service_id": "9408080f1970482aa0e38bc2d4ea34b7",
"project_id": "6bbdcd1e417640f7960faac553d49c3e",
"region_i...
user service keystone
-------- resource request ------>
user service keystone
(calculate usage)
user service keystone
------- fetch limits -------->
user service keystone
<----- limit information ------
user service keystone
project.usage + claimed usage < project.limit
How do unified limits help operators?
one interface for all limits across all projects
consistent validation
single defini...
How do unified limits help developers?
build your own limits API
only* responsible for usage calculation
complex project h...
How do unified limits help developers?
build your own limits API
only* responsible for usage calculation
complex project h...
What's been done already?
limit implementations in keystone
python-openstackclient & openstacksdk
oslo.limit enforcement l...
How can I get involved?
migrating services
smoothing out interfaces in oslo.limit
enforcement model feedback
Unified Limits in OpenStack
Próximos SlideShares
Carregando em…5
×

Unified Limits in OpenStack

30 visualizações

Publicada em

I presented a lightning talk on the unified limits initiative in OpenStack and how it helps operators and developers achieve consistent quota enforcement.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Unified Limits in OpenStack

  1. 1. Lance Bragstad (lbragstad) Unified Limits Enforcing Quota Consistently with
  2. 2. What are unified limits? How do unified limits help operators? How do unified limits help developers? What's been done already? How can I get involved?
  3. 3. What are unified limits?
  4. 4. Limits are a theoretical maximum number of resources consumed by or associated to something.
  5. 5. Usage is the current consumption of resources by something, or associated to something.
  6. 6. limit management + usage enforcement = quota system
  7. 7. keystone + $SERVICE = quota system
  8. 8. resource + service (+ region) + limit (+ project) cores + compute + eu-west + 32 + 6bbdcd1e417640f7960faac553d49c3e
  9. 9. "registered_limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "region_id": "berlin", "resource_name": "cores", "default_limit": 32 } ]
  10. 10. "registered_limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "region_id": "berlin", "resource_name": "cores", "default_limit": 32 } ] applies to all projects, relatively static
  11. 11. "limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "project_id": "6bbdcd1e417640f7960faac553d49c3e", "region_id": "berlin", "resource_name": "cores", "resource_limit": 16 } ]
  12. 12. "limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "project_id": "6bbdcd1e417640f7960faac553d49c3e", "region_id": "berlin", "resource_name": "cores", "resource_limit": 16 } ] project-specific overrides
  13. 13. "limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "project_id": "6bbdcd1e417640f7960faac553d49c3e", "region_id": "berlin", "resource_name": "cores", "resource_limit": 64 } ] project-specific overrides
  14. 14. user service keystone -------- resource request ------>
  15. 15. user service keystone (calculate usage)
  16. 16. user service keystone ------- fetch limits -------->
  17. 17. user service keystone <----- limit information ------
  18. 18. user service keystone project.usage + claimed usage < project.limit
  19. 19. How do unified limits help operators? one interface for all limits across all projects consistent validation single definition of enforcement rules
  20. 20. How do unified limits help developers? build your own limits API only* responsible for usage calculation complex project hierarchies
  21. 21. How do unified limits help developers? build your own limits API only* responsible for usage calculation complex project hierarchies
  22. 22. What's been done already? limit implementations in keystone python-openstackclient & openstacksdk oslo.limit enforcement library
  23. 23. How can I get involved? migrating services smoothing out interfaces in oslo.limit enforcement model feedback

×