]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
make ovs plugin pay attention to port state
authorDan Wendlandt <dan@nicira.com>
Mon, 1 Aug 2011 07:14:18 +0000 (00:14 -0700)
committerDan Wendlandt <dan@nicira.com>
Mon, 1 Aug 2011 07:14:18 +0000 (00:14 -0700)
quantum/plugins/openvswitch/agent/ovs_quantum_agent.py
quantum/plugins/openvswitch/ovs_quantum_plugin.py
tests/unit/test_api.py

index 5d2a66ca37a12924f05a4899dfb54afadc80a0d1..404c801787f2d2f1606978b3c03e03509b4da2be 100755 (executable)
@@ -198,7 +198,7 @@ class OVSQuantumAgent:
 
         while True:
             cursor = conn.cursor()
-            cursor.execute("SELECT * FROM ports")
+            cursor.execute("SELECT * FROM ports where state = 'ACTIVE'")
             rows = cursor.fetchall()
             cursor.close()
             all_bindings = {}
index 3d49f62e8d9f44114bab9dc51c32ea3837e86212..0544f4d01d48f7ce089b373478aea39d95777ff4 100644 (file)
@@ -164,18 +164,18 @@ class OVSQuantumPlugin(QuantumPluginBase):
         ports = db.port_list(net_id)
         for p in ports:
             LOG.debug("Appending port: %s" % p.uuid)
-            d = self._make_port_dict(str(p.uuid), "ACTIVE", None, None)
+            d = self._make_port_dict(str(p.uuid), p.state, None, None)
             ids.append(d)
         return ids
 
     def create_port(self, tenant_id, net_id, port_state=None):
         LOG.debug("Creating port with network_id: %s" % net_id)
-        port = db.port_create(net_id)
-        return self._make_port_dict(str(port.uuid), "ACTIVE", None, None)
+        port = db.port_create(net_id,port_state)
+        return self._make_port_dict(str(port.uuid), port.state, None, None)
 
     def delete_port(self, tenant_id, net_id, port_id):
         port = db.port_destroy(port_id, net_id)
-        return self._make_port_dict(str(port.uuid), "ACTIVE", None, None)
+        return self._make_port_dict(str(port.uuid), port.state, None, None)
 
     def update_port(self, tenant_id, net_id, port_id, port_state):
         """
@@ -184,11 +184,11 @@ class OVSQuantumPlugin(QuantumPluginBase):
         LOG.debug("update_port() called\n")
         port = db.port_get(port_id, net_id)
         db.port_set_state(port_id, net_id, port_state)
-        return self._make_port_dict(str(port.uuid), "ACTIVE", None, None)
+        return self._make_port_dict(str(port.uuid), port.state, None, None)
 
     def get_port_details(self, tenant_id, net_id, port_id):
         port = db.port_get(port_id, net_id)
-        return self._make_port_dict(str(port.uuid), "ACTIVE",
+        return self._make_port_dict(str(port.uuid), port.state,
                                 port.network_id, port.interface_id)
 
     def plug_interface(self, tenant_id, net_id, port_id, remote_iface_id):
index d17e6ed87fad0c4add107a6b1c6adc959644e2a7..d0daf85489f1a000ddc882980033f50f27e1ed4d 100644 (file)
@@ -414,6 +414,23 @@ class APITest(unittest.TestCase):
                         show_port_res.body, content_type)
         self.assertEqual({'id': port_id, 'state': new_port_state},
                          port_data['port'])
+
+        # now set it back to the original value
+        update_port_req = testlib.update_port_request(self.tenant_id,
+                                                        network_id, port_id,
+                                                        port_state,
+                                                        format)
+        update_port_res = update_port_req.get_response(self.api)
+        self.assertEqual(update_port_res.status_int, 200)
+        show_port_req = testlib.show_port_request(self.tenant_id,
+                                                  network_id, port_id,
+                                                  format)
+        show_port_res = show_port_req.get_response(self.api)
+        self.assertEqual(show_port_res.status_int, 200)
+        port_data = self._port_serializer.deserialize(
+                        show_port_res.body, content_type)
+        self.assertEqual({'id': port_id, 'state': port_state},
+                         port_data['port'])
         LOG.debug("_test_set_port_state - format:%s - END", format)
 
     def _test_set_port_state_networknotfound(self, format):