keystone tenat quota setup fix
Change-Id: I00badf7cb690f93841db815ebb50db5b3815209d
diff --git a/README.rst b/README.rst
index d08e983..346fcf9 100644
--- a/README.rst
+++ b/README.rst
@@ -383,6 +383,21 @@
project:
tenant01:
description: "test env"
+ quota:
+ instances: 100
+ cores: 24
+ ram: 151200
+ floating_ips: 50
+ fixed_ips: -1
+ metadata_items: 128
+ injected_files: 5
+ injected_file_content_bytes: 10240
+ injected_file_path_bytes: 255
+ key_pairs: 100
+ security_groups: 20
+ security_group_rules: 40
+ server_groups: 20
+ server_group_members: 20
user:
user01:
email: jdoe@domain.com
@@ -420,6 +435,50 @@
password: 'workshop'
region_name: RegionOne
+
+Tenant quotas
+
+.. code-block:: yaml
+
+ keystone:
+ client:
+ enabled: true
+ server:
+ keystone01:
+ admin:
+ host: 10.0.0.2
+ port: 5000
+ project: 'token'
+ user: admin
+ password: 'passwd'
+ roles:
+ - admin
+ - member
+ project:
+ tenant01:
+ description: "test env"
+ quota:
+ instances: 100
+ cores: 24
+ ram: 151200
+ floating_ips: 50
+ fixed_ips: -1
+ metadata_items: 128
+ injected_files: 5
+ injected_file_content_bytes: 10240
+ injected_file_path_bytes: 255
+ key_pairs: 100
+ security_groups: 20
+ security_group_rules: 40
+ server_groups: 20
+ server_group_members: 20
+
+Usage
+=====
+
+Apply state `keystone.client.service` first and then `keystone.client` state.
+
+
Documentation and Bugs
======================
diff --git a/keystone/client/server.sls b/keystone/client/server.sls
index 8dd2df1..9a0c88b 100644
--- a/keystone/client/server.sls
+++ b/keystone/client/server.sls
@@ -102,7 +102,21 @@
- connection_auth_url: {{ connection_args.auth_url }}
{%- endif %}
-{%- for user_name, user in tenant.get('user', {}).iteritems() %}
+{%- if tenant.quota is defined and tenant.quota is mapping %}
+
+keystone_{{ server_name }}_tenant_{{ tenant_name }}_quota:
+ novang.quota_present:
+ - profile: {{ server_name }}
+ - tenant_name: {{ tenant_name }}
+ {%- for quota_name, quota_value in tenant.quota.iteritems() %}
+ - {{ quota_name }}: {{ quota_value }}
+ {%- endfor %}
+ - require:
+ - keystone: keystone_{{ server_name }}_tenant_{{ tenant_name }}
+
+{%- endif %}
+
+{%- for user_name, user in tenant.get('user', {}).it:qeritems() %}
keystone_{{ server_name }}_tenant_{{ tenant_name }}_user_{{ user_name }}:
keystone.user_present: