<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Nov 7, 2012 at 10:28 AM, Juergen Brendel (jbrendel) <span dir="ltr"><<a href="mailto:jbrendel@cisco.com" target="_blank">jbrendel@cisco.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></font></p>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New"">Dan,<u></u><u></u></span></font></p>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></font></p>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New"">Yes, that’s exactly what it’s going to be like. Sorry, I’m new top OpenStack development, so I did the fix already, but still need to figure out
 the gerrit side of things.<u></u><u></u></span></font></p>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></font></p>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New"">Yes, the code checks for the presence of a specialized count function and uses it if the plugin provides it.<u></u><u></u></span></font></p>


<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></font></p>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New"">I hope to have this available sometime today for review.</span></font><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New"">Juergen<u></u><u></u></span></font></p>

</div></div></blockquote><div><br><br>No worries, take your time.  Below is a proof-of-concept diff that I put together, in case there are useful things to incorporate into your patch (e.g., its easy to overlook extended resources that we also do quotas for, like routers, floatingips, and security_groups).<br>

<br>Dan<br><br>nicira@com-dev:/opt/stack/quantum$ git diff<br>diff --git a/quantum/db/db_base_plugin_v2.py b/quantum/db/db_base_plugin_v2.py<br>index a37516e..993bbad 100644<br>--- a/quantum/db/db_base_plugin_v2.py<br>+++ b/quantum/db/db_base_plugin_v2.py<br>

@@ -212,6 +212,11 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV<br>         collection = self._apply_filters_to_query(collection, model, filters)<br>         return [dict_func(c, fields) for c in collection.all()]<br>

 <br>+    def _count_collection(self, context, model, filters=None):<br>+        collection = self._model_query(context, model)<br>+        collection = self._apply_filters_to_query(collection, model, filters)<br>+        return collection.count()<br>

+<br>     @staticmethod<br>     def _generate_mac(context, network_id):<br>         base_mac = cfg.CONF.base_mac.split(':')<br>@@ -928,6 +933,10 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV<br>

                                     self._make_network_dict,<br>                                     filters=filters, fields=fields)<br> <br>+    def count_networks(self, context, filters=None, fields=None):<br>+        return self._count_collection(context, models_v2.Network,<br>

+                                      filters=filters)<br>+<br>     def create_subnet_bulk(self, context, subnets):<br>         return self._create_bulk('subnet', context, subnets)<br> <br>@@ -1119,6 +1128,10 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBas<br>

                                     self._make_subnet_dict,<br>                                     filters=filters, fields=fields)<br> <br>+    def count_subnets(self, context, filters=None, fields=None):<br>+        return self._count_collection(context, models_v2.Subnet,<br>

+                                      filters=filters)<br>+<br>     def create_port_bulk(self, context, ports):<br>         return self._create_bulk('port', context, ports)<br> <br>@@ -1267,3 +1280,7 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBase<br>

 <br>         query = self._apply_filters_to_query(query, Port, filters)<br>         return [self._make_port_dict(c, fields) for c in query.all()]<br>+<br>+    def count_ports(self, context, filters=None, fields=None):<br>

+        return self._count_collection(context, models_v2.Port,<br>+                                      filters=filters)<br>diff --git a/quantum/db/l3_db.py b/quantum/db/l3_db.py<br>index f448a68..5318c21 100644<br>--- a/quantum/db/l3_db.py<br>

+++ b/quantum/db/l3_db.py<br>@@ -252,6 +252,10 @@ class L3_NAT_db_mixin(l3.RouterPluginBase):<br>                                     self._make_router_dict,<br>                                     filters=filters, fields=fields)<br>

 <br>+    def count_routers(self, context, filters=None, fields=None):<br>+        return self._count_collection(context, Router,<br>+                                      filters=filters)<br>+<br>     def _check_for_dup_router_subnet(self, context, router_id,<br>

                                      network_id, subnet_id):<br>         try:<br>@@ -616,6 +620,10 @@ class L3_NAT_db_mixin(l3.RouterPluginBase):<br>                                     self._make_floatingip_dict,<br>                                     filters=filters, fields=fields)<br>

 <br>+    def count_floatingips(self, context, filters=None, fields=None):<br>+        return self._count_collection(context, FloatingIP,<br>+                                      filters=filters)<br>+<br>     def prevent_l3_port_deletion(self, context, port_id):<br>

         """ Checks to make sure a port is allowed to be deleted, raising<br>         an exception if this is not the case.  This should be called by<br>diff --git a/quantum/db/securitygroups_db.py b/quantum/db/securitygroups_db.py<br>

index 2093b33..984d6c3 100644<br>--- a/quantum/db/securitygroups_db.py<br>+++ b/quantum/db/securitygroups_db.py<br>@@ -150,6 +150,9 @@ class SecurityGroupDbMixin(ext_sg.SecurityGroupPluginBase):<br>                                     self._make_security_group_dict,<br>

                                     filters=filters, fields=fields)<br> <br>+    def count_security_groups(self, context, filters=None):<br>+        return self._count_collection(context, SecurityGroup, filters=filters)<br>

+<br>     def get_security_group(self, context, id, fields=None, tenant_id=None):<br>         """Tenant id is given to handle the case when we<br>         are creating a security group or security group rule on behalf of<br>

diff --git a/quantum/quota.py b/quantum/quota.py<br>index bcb498f..2ebefab 100644<br>--- a/quantum/quota.py<br>+++ b/quantum/quota.py<br>@@ -266,8 +266,13 @@ QUOTAS = QuotaEngine()<br> <br> <br> def _count_resource(context, plugin, resources, tenant_id):<br>

+    filters = {'tenant_id': [tenant_id]}<br>+    if hasattr(plugin, "count_%s" % resources):<br>+        obj_counter = getattr(plugin, "count_%s" % resources)<br>+        return obj_counter(context, filters=filters)<br>

+<br>     obj_getter = getattr(plugin, "get_%s" % resources)<br>-    obj_list = obj_getter(context, filters={'tenant_id': [tenant_id]})<br>+    obj_list = obj_getter(context, filters=filters)<br>     return len(obj_list) if obj_list else 0<br>

<br><br><br><br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div link="blue" vlink="purple" lang="EN-US"><div>

<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></font></p>
<p class=""><font face="Courier New"><span style="font-size:11pt;font-family:"Courier New""><u></u> <u></u></span></font></p>
<div style="border-width:medium medium medium 1.5pt;border-style:none none none solid;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color blue;padding:0in 0in 0in 4pt">
<div>
<div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) -moz-use-text-color -moz-use-text-color;padding:3pt 0in 0in">
<p class=""><b><font face="Tahoma"><span style="font-size:10pt;font-family:"Tahoma","sans-serif";font-weight:bold">From:</span></font></b><font face="Tahoma"><span style="font-size:10pt;font-family:"Tahoma","sans-serif""> Dan
 Wendlandt [mailto:<a href="mailto:dan@nicira.com" target="_blank">dan@nicira.com</a>] <br>
<b><span style="font-weight:bold">Sent:</span></b> Thursday, November 08, 2012 7:21 AM</span></font></p><div class="im"><font face="Tahoma"><br>
<b><span style="font-weight:bold">To:</span></b> OpenStack Development Mailing List<br>
</font></div><div><div class="h5"><font face="Tahoma"><b><span style="font-weight:bold">Subject:</span></b> Re: [openstack-dev] Quantum Performance<u></u><u></u></font></div></div><p></p>
</div>
</div><div><div class="h5">
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
<div>
<p class="" style="margin-bottom:12pt"><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">On Wed, Nov 7, 2012 at 10:12 AM, Dan Wendlandt <<a href="mailto:dan@nicira.com" target="_blank">dan@nicira.com</a>> wrote:<u></u><u></u></span></font></p>


<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">I'd like to see something like this automated as part of the smoke tests, otherwise its easy for performance regressions to sneak in.  I am not aware of this existing
 for a Folsom-based setup yet.  <u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">This seems to be the bug we're using to track: <a href="https://bugs.launchpad.net/quantum/+bug/1075369" target="_blank">https://bugs.launchpad.net/quantum/+bug/1075369</a>.
   I don't see a linked review on gerrit though. Have you not yet posted it? <u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">Actually, looking at the code, the change is pretty simple.  The only real trick is to handle the fact that a true "count_x" resource is not part of the plugin API, but
 would make sense given quotas.  Since we can't change the plugin API after the fact for Folsom, it probably makes sense to have the quota code check if a count_x method exists, and if not, fall back to using the existing method.  For any plugin that inherits
 from db_base_plugin_v2, we can provide default count_x methods that use sqlalchemy.<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">Dan<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"> <u></u><u></u></span></font></p>
</div>
<blockquote style="border-width:medium medium medium 1pt;border-style:none none none solid;border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">


<div>
<p class=""><font color="#888888" face="Times New Roman" size="3"><span style="font-size:12pt;color:rgb(136,136,136)"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font color="#888888" face="Times New Roman" size="3"><span style="font-size:12pt;color:rgb(136,136,136)">Dan<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font color="#888888" face="Times New Roman" size="3"><span style="font-size:12pt;color:rgb(136,136,136)"><u></u> <u></u></span></font></p>
</div>
<div>
<div>
<div>
<p class="" style="margin-bottom:12pt"><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">On Wed, Nov 7, 2012 at 7:56 AM, Debojyoti Dutta <<a href="mailto:ddutta@gmail.com" target="_blank">ddutta@gmail.com</a>> wrote:<u></u><u></u></span></font></p>


<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">In fact this points to the fact that we need a Geekbench equivalent for openstack so that folks can submit performance numbers for their scaled setups. <u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">For starters, we could have simple metrics like the test here (for quantum) and repeat this for nova too (for starting a bunch of VMs). <u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">The submitted numbers will also be a metric for new fixes/features which might have performance sideeffects<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">debo<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<div>
<div>
<div>
<p class="" style="margin-bottom:12pt"><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">On Wed, Nov 7, 2012 at 7:20 AM, Edgar Magana (eperdomo) <<a href="mailto:eperdomo@cisco.com" target="_blank">eperdomo@cisco.com</a>> wrote:<u></u><u></u></span></font></p>


<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Team,<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">We ran a comparative tests between current Quantum code and our proposed fix for this bug and the results are incredible, in current quantum
 code it takes around 4-5 seconds to create a network when already have over 600 networks created and almost 7 second when we have over 1K networks. See this log:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Tue Nov  6 23:39:52 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Created a new network:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| Field                     | Value                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| admin_state_up            | True                                 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| id                        | e87b2f27-9308-4001-b180-228ff5ab6479 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| name                      | net621                               |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:network_type     | local                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:physical_network |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:segmentation_id  |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| router:external           | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| shared                    | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| status                    | ACTIVE                               |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| subnets                   |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| tenant_id                 | b248e18b173b4ea99873e102a0715dcd     |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Tue Nov  6 23:39:57 PST 2012<u></u><u></u></span></font></p>
</div>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">++++<u></u><u></u></span></font></p>
</div>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 00:17:46 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Created a new network:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| Field                     | Value                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| admin_state_up            | True                                 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| id                        | 2138b910-8996-40b7-a9b4-ac090e126a2b |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| name                      | net1032                              |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:network_type     | local                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:physical_network |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:segmentation_id  |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| router:external           | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| shared                    | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| status                    | ACTIVE                               |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| subnets                   |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| tenant_id                 | b248e18b173b4ea99873e102a0715dcd     |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 00:17:53 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 00:17:53 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Created a new network:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| Field                     | Value                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| admin_state_up            | True                                 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| id                        | 29530fb3-1a1a-4c88-b9e4-954988bb8ccb |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| name                      | net1033                              |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:network_type     | local                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:physical_network |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:segmentation_id  |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| router:external           | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| shared                    | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| status                    | ACTIVE                               |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| subnets                   |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| tenant_id                 | b248e18b173b4ea99873e102a0715dcd     |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 00:18:00 PST 2012<u></u><u></u></span></font></p>
</div>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">With the changes on the count call we have a constant performance regardless the number of networks created:<u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 02:48:59 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Created a new network:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| Field                     | Value                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| admin_state_up            | True                                 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| id                        | 024aa164-cb7b-4683-a5ae-41f11a582529 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| name                      | net3847                              |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:network_type     | local                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:physical_network |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:segmentation_id  |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| router:external           | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| shared                    | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| status                    | ACTIVE                               |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| subnets                   |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| tenant_id                 | 5baba10045db44cdad235fff1d5e59b1     |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 02:49:00 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 02:49:00 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Created a new network:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| Field                     | Value                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| admin_state_up            | True                                 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| id                        | 91e7eaa3-bdc4-4705-a8b5-2b63500fd066 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| name                      | net3848                              |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:network_type     | local                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:physical_network |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:segmentation_id  |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| router:external           | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| shared                    | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| status                    | ACTIVE                               |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| subnets                   |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| tenant_id                 | 5baba10045db44cdad235fff1d5e59b1     |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 02:49:01 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 02:49:01 PST 2012<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Created a new network:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| Field                     | Value                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| admin_state_up            | True                                 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| id                        | 19fd1785-77c2-4526-9fa6-5a2c8c01b3a4 |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| name                      | net3849                              |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:network_type     | local                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:physical_network |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| provider:segmentation_id  |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| router:external           | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| shared                    | False                                |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| status                    | ACTIVE                               |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| subnets                   |                                      |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">| tenant_id                 | 5baba10045db44cdad235fff1d5e59b1     |<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">+---------------------------+--------------------------------------+<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Wed Nov  7 02:49:01 PST 2012<u></u><u></u></span></font></p>
</div>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">We will push this code changes ASAP.<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Thanks,<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Edgar<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) -moz-use-text-color -moz-use-text-color;padding:3pt 0in 0in">
<p class=""><b><font face="Calibri"><span style="font-size:11pt;font-family:"Calibri","sans-serif";font-weight:bold">From:
</span></font></b><font face="Calibri"><span style="font-size:11pt;font-family:"Calibri","sans-serif"">Edgar Magana <<a href="mailto:eperdomo@cisco.com" target="_blank">eperdomo@cisco.com</a>><br>


<b><span style="font-weight:bold">Reply-To: </span></b>OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<b><span style="font-weight:bold">Date: </span></b>Tuesday, November 6, 2012 9:19 AM<br>
<b><span style="font-weight:bold">To: </span></b>OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>>, "<a href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>" <<a href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>><u></u><u></u></span></font></p>


<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:11pt;font-family:"Calibri","sans-serif""><br>
<b><span style="font-weight:bold">Subject: </span></b>Re: [openstack-dev] Quantum Performance<u></u><u></u></span></font></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Hi Folks,<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">I just want to give you an update on this topic, we opened a bug against this behavior:<u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><a href="https://bugs.launchpad.net/quantum/+bug/1075369" target="_blank">https://bugs.launchpad.net/quantum/+bug/1075369</a><u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Bug Description:<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">In quantum when a new network is created and system checks for user's quota, instead of getting a count from DB object, it returns all objects
 from db and locally counts them all. It has performance implications when the number of objects increases.<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";background:none repeat scroll 0% 0% rgb(255,254,254)">We will submit the patch ASAP.</span></font><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";background:none repeat scroll 0% 0% rgb(254,253,253)">Thanks,</span></font><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";background:none repeat scroll 0% 0% rgb(253,252,252)">Edgar</span></font><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div style="border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) -moz-use-text-color -moz-use-text-color;padding:3pt 0in 0in">
<p class=""><b><font face="Calibri"><span style="font-size:11pt;font-family:"Calibri","sans-serif";font-weight:bold">From:
</span></font></b><font face="Calibri"><span style="font-size:11pt;font-family:"Calibri","sans-serif"">Salvatore Orlando <<a href="mailto:sorlando@nicira.com" target="_blank">sorlando@nicira.com</a>><br>


<b><span style="font-weight:bold">Reply-To: </span></b>OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>
<b><span style="font-weight:bold">Date: </span></b>Wednesday, October 31, 2012 12:54 AM<br>
<b><span style="font-weight:bold">To: </span></b>"<a href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>" <<a href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>>, OpenStack List <<a href="mailto:openstack-dev@lists.openstack.org" target="_blank">openstack-dev@lists.openstack.org</a>><br>


<b><span style="font-weight:bold">Subject: </span></b>Re: [openstack-dev] Quantum Performance<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Edgar,
<u></u><u></u></span></font></p>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">My suspicion here goes to the IP allocation mechanisms.<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Hence, I'd try to run the following tests (they should be easily scriptable):<u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">1) Create networks no subnets<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">2) Create networks, with subnet having a small CIDR (say /28)<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">3) Create networks with larger CIDRs (say /24, /20, /16 etc)<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">What behaviour do you observe in the above three cases?<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Also, It might be worth shutting down agent to pinpoint whether the problem is in Quantum service itself on in the interactions with the various
 agents.<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Salvatore<u></u><u></u></span></font></p>
</div>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">PS: thanks for doing these tests - They've been lying on my TODO list for way too much time!<u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">If you don't hate me too much for the service insertion story, I'll be glad to buy you a drink at the next summit :)<u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">On 31 October 2012 08:37, Gary Kotton <<a href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>> wrote:<u></u><u></u></span></font></p>


<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">On 10/31/2012 09:48 AM, Edgar Magana (eperdomo) wrote:
<u></u><u></u></span></font></p>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Hi Folks,<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">I am running OpenStack Folsom with Quantum/OVS plugin. I am running some performance tests for Quantum, basically I am creating 5000 network
 with one subnet each one of them.<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">After the first ~50 – 70 networks the system response time is slower and slower, to the point that it could take up to ~6 - 7 seconds to create
 just a network and the same for the subnets.<u></u><u></u></span></font></p>
</div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Hi,<br>
Is the problem you are seeing with the Quantum service or the agents? Off the bat I would say that it is with the Quantum service. Are the calls done in parallel or are they done sequentially?<br>
<br>
There are a number of things that we should do to isolate this:<br>
1. Check the internal logic of the network creation. Basically there are 3 stages:<br>
     i. provider network treatment<br>
    ii network create<br>
    iii. l3 notification<br>
It would be interesting to see who eats the most time.<br>
2. Need to profile database access<br>
<br>
Thanks<br>
Gary<br>
<br>
<br>
<u></u><u></u></span></font></p>
<div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">I would like to know if somebody else has experimented this kind of behavior in Quantum or even in nova-network.<u></u><u></u></span></font></p>


</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Thanks,<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif"">Edgar<u></u><u></u></span></font></p>
</div>
<div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""> <u></u><u></u></span></font></p>
</div>
<p class="" style="margin-bottom:12pt"><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<pre><font face="Courier New"><span style="font-size:10pt">_______________________________________________<u></u><u></u></span></font></pre>
<pre><font face="Courier New"><span style="font-size:10pt">OpenStack-dev mailing list<u></u><u></u></span></font></pre>
<pre><font face="Courier New"><span style="font-size:10pt"><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></font></pre>


<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
<p class="" style="margin-bottom:12pt"><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></font></p>
</div>
<p class=""><font face="Calibri"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif""><u></u> <u></u></span></font></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="" style="margin-bottom:12pt"><font face="Times New Roman" size="3"><span style="font-size:12pt"><br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></font></p>
</div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><br>
<br clear="all">
<u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
</div>
</div>
<p class="" style="margin-bottom:12pt"><font color="#888888" face="Times New Roman" size="3"><span style="font-size:12pt;color:rgb(136,136,136)">--
<br>
-Debo~</span></font><u></u><u></u></p>
</div>
<p class="" style="margin-bottom:12pt"><font face="Times New Roman" size="3"><span style="font-size:12pt"><br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></font></p>
</div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><br>
<br clear="all">
<u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">--
<u></u><u></u></span></font></p>
</div>
</div>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
Dan Wendlandt <u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">Nicira, Inc: <a href="http://www.nicira.com" target="_blank">www.nicira.com</a><u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">twitter: danwendlandt<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~<u></u><u></u></span></font></p>
</div>
</div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
</div>
</blockquote>
</div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><br>
<br clear="all">
<u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">--
<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
Dan Wendlandt <u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">Nicira, Inc: <a href="http://www.nicira.com" target="_blank">www.nicira.com</a><u></u><u></u></span></font></p>
<div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt">twitter: danwendlandt<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~<u></u><u></u></span></font></p>
</div>
</div>
<p class=""><font face="Times New Roman" size="3"><span style="font-size:12pt"><u></u> <u></u></span></font></p>
</div>
</div></div></div>
</div>
</div>

<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Dan Wendlandt <div>Nicira, Inc: <a href="http://www.nicira.com" target="_blank">www.nicira.com</a><br><div>twitter: danwendlandt<br>~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>

</div></div><br>
</div>