make ovs plugin pay attention to port state
This commit is contained in:
parent
d83afeccf1
commit
3df4e822a2
|
@ -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 = {}
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue