Ability to configure default quotas for new projects (#27)
* Ability to configure default quotas for new projects
As documented on the Juniper / Contrail wiki:
https://github.com/Juniper/contrail-controller/wiki/Defining-default-Quotas
* docs can be misleading, it really needed underscores. also added all lbaas options now.
* Making params singular (and aligned with neutron internal naming).
diff --git a/README.rst b/README.rst
index 901848d..65ad8cf 100644
--- a/README.rst
+++ b/README.rst
@@ -1007,8 +1007,26 @@
- 10.10.10.10
ipf_port: 80
-Enforcing physical routers
+Configuring OpenStack default quotasx
+
+.. code-block:: yaml
+ config:
+ quota:
+ network: 5
+ subnet: 10
+ router: 10
+ floating_ip: 100
+ secgroup: 1000
+ secgroup_rule: 1000
+ port: 1000
+ pool: -1
+ member: -1
+ health_monitor: -1
+ vip: -1
+
+Enforcing physical routers
+h
.. code-block:: yaml
opencontrail:
@@ -1053,6 +1071,7 @@
virtual_network: 'virtual-network'
+
Usage
=====
diff --git a/opencontrail/files/2.2/contrail-api.conf b/opencontrail/files/2.2/contrail-api.conf
index ff92939..d124f3b 100644
--- a/opencontrail/files/2.2/contrail-api.conf
+++ b/opencontrail/files/2.2/contrail-api.conf
@@ -44,3 +44,40 @@
auth_url=http://{{ config.identity.host }}:{{ config.identity.port }}/v3
{%- endif %}
{%- endif %}
+
+{% if config.quota is defined %}
+[QUOTA]
+{%- if config.quota.network is defined %}
+virtual_network={{config.quota.network}}
+{%- endif %}
+{%- if config.quota.subnet is defined %}
+subnet={{config.quota.subnet}}
+{%- endif %}
+{%- if config.quota.floating_ip is defined %}
+floating_ip={{config.quota.floating_ip}}
+{%- endif %}
+{%- if config.quota.router is defined %}
+logical_router={{config.quota.router}}
+{%- endif %}
+{%- if config.quota.secgroup is defined %}
+security_group={{config.quota.secgroup}}
+{%- endif %}
+{%- if config.quota.secgroup_rule is defined %}
+security_group_rule={{config.quota.secgroup_rule}}
+{%- endif %}
+{%- if config.quota.port is defined %}
+virtual_machine_interface={{config.quota.port}}
+{%- endif %}
+{%- if config.quota.pool is defined %}
+loadbalancer_pool={{config.quota.pool}}
+{%- endif %}
+{%- if config.quota.member is defined %}
+loadbalancer_member={{config.quota.member}}
+{%- endif %}
+{%- if config.quota.health_monitor is defined %}
+loadbalancer_healthmonitor={{config.quota.health_monitor}}
+{%- endif %}
+{%- if config.quota.vip is defined %}
+virtual_ip={{config.quota.vip}}
+{%- endif %}
+{%- endif %}
diff --git a/opencontrail/files/3.0/contrail-api.conf b/opencontrail/files/3.0/contrail-api.conf
index ceadd64..be686aa 100644
--- a/opencontrail/files/3.0/contrail-api.conf
+++ b/opencontrail/files/3.0/contrail-api.conf
@@ -49,5 +49,43 @@
certfile=/etc/contrail/ssl/certs/apiserver.pem
ca_certs=/etc/contrail/ssl/certs/ca.pem
+{% if config.quota is defined %}
+[QUOTA]
+{%- if config.quota.network is defined %}
+virtual_network={{config.quota.network}}
+{%- endif %}
+{%- if config.quota.subnet is defined %}
+subnet={{config.quota.subnet}}
+{%- endif %}
+{%- if config.quota.floating_ip is defined %}
+floating_ip={{config.quota.floating_ip}}
+{%- endif %}
+{%- if config.quota.router is defined %}
+logical_router={{config.quota.router}}
+{%- endif %}
+{%- if config.quota.secgroup is defined %}
+security_group={{config.quota.secgroup}}
+{%- endif %}
+{%- if config.quota.secgroup_rule is defined %}
+security_group_rule={{config.quota.secgroup_rule}}
+{%- endif %}
+{%- if config.quota.port is defined %}
+virtual_machine_interface={{config.quota.port}}
+{%- endif %}
+{%- if config.quota.pool is defined %}
+loadbalancer_pool={{config.quota.pool}}
+{%- endif %}
+{%- if config.quota.member is defined %}
+loadbalancer_member={{config.quota.member}}
+{%- endif %}
+{%- if config.quota.health_monitor is defined %}
+loadbalancer_healthmonitor={{config.quota.health_monitor}}
+{%- endif %}
+{%- if config.quota.vip is defined %}
+virtual_ip={{config.quota.vip}}
+{%- endif %}
+{%- endif %}
+
[KEYSTONE]
keystone_sync_on_demand={{ config.identity.get('sync_on_demand', 'true') }}
+
diff --git a/opencontrail/files/4.0/contrail-api.conf b/opencontrail/files/4.0/contrail-api.conf
index acb2fc9..6f46207 100644
--- a/opencontrail/files/4.0/contrail-api.conf
+++ b/opencontrail/files/4.0/contrail-api.conf
@@ -54,6 +54,43 @@
certfile=/etc/contrail/ssl/certs/apiserver.pem
ca_certs=/etc/contrail/ssl/certs/ca.pem
+{% if config.quota is defined %}
+[QUOTA]
+{%- if config.quota.network is defined %}
+virtual_network={{config.quota.network}}
+{%- endif %}
+{%- if config.quota.subnet is defined %}
+subnet={{config.quota.subnet}}
+{%- endif %}
+{%- if config.quota.floating_ip is defined %}
+floating_ip={{config.quota.floating_ip}}
+{%- endif %}
+{%- if config.quota.router is defined %}
+logical_router={{config.quota.router}}
+{%- endif %}
+{%- if config.quota.secgroup is defined %}
+security_group={{config.quota.secgroup}}
+{%- endif %}
+{%- if config.quota.secgroup_rule is defined %}
+security_group_rule={{config.quota.secgroup_rule}}
+{%- endif %}
+{%- if config.quota.port is defined %}
+virtual_machine_interface={{config.quota.port}}
+{%- endif %}
+{%- if config.quota.pool is defined %}
+loadbalancer_pool={{config.quota.pool}}
+{%- endif %}
+{%- if config.quota.member is defined %}
+loadbalancer_member={{config.quota.member}}
+{%- endif %}
+{%- if config.quota.health_monitor is defined %}
+loadbalancer_healthmonitor={{config.quota.health_monitor}}
+{%- endif %}
+{%- if config.quota.vip is defined %}
+virtual_ip={{config.quota.vip}}
+{%- endif %}
+{%- endif %}
+
[SANDESH]
#sandesh_ssl_enable=false
#introspect_ssl_enable=false
@@ -61,5 +98,7 @@
#sandesh_certfile=/etc/contrail/ssl/certs/server.pem
#sandesh_ca_cert=/etc/contrail/ssl/certs/ca-cert.pem
+
[KEYSTONE]
keystone_sync_on_demand={{ config.identity.get('sync_on_demand', 'true') }}
+