Fix for bug 900277
Removes duplicate network name checks from cisco db api module Change-Id: I620b3abefeb2cb80eb98778807fd26c5a084bb0e
This commit is contained in:
parent
bb6cbb09f5
commit
9f6c2e0ee6
@ -76,24 +76,9 @@ def unregister_models():
|
|||||||
BASE.metadata.drop_all(_ENGINE)
|
BASE.metadata.drop_all(_ENGINE)
|
||||||
|
|
||||||
|
|
||||||
def _check_duplicate_net_name(tenant_id, net_name):
|
|
||||||
session = get_session()
|
|
||||||
try:
|
|
||||||
net = session.query(models.Network).\
|
|
||||||
filter_by(tenant_id=tenant_id, name=net_name).\
|
|
||||||
one()
|
|
||||||
raise q_exc.NetworkNameExists(tenant_id=tenant_id,
|
|
||||||
net_name=net_name, net_id=net.uuid)
|
|
||||||
except exc.NoResultFound:
|
|
||||||
# this is the "normal" path, as API spec specifies
|
|
||||||
# that net-names are unique within a tenant
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def network_create(tenant_id, name):
|
def network_create(tenant_id, name):
|
||||||
session = get_session()
|
session = get_session()
|
||||||
|
|
||||||
_check_duplicate_net_name(tenant_id, name)
|
|
||||||
with session.begin():
|
with session.begin():
|
||||||
net = models.Network(tenant_id, name)
|
net = models.Network(tenant_id, name)
|
||||||
session.add(net)
|
session.add(net)
|
||||||
@ -124,8 +109,6 @@ def network_update(net_id, tenant_id, **kwargs):
|
|||||||
session = get_session()
|
session = get_session()
|
||||||
net = network_get(net_id)
|
net = network_get(net_id)
|
||||||
for key in kwargs.keys():
|
for key in kwargs.keys():
|
||||||
if key == "name":
|
|
||||||
_check_duplicate_net_name(tenant_id, kwargs[key])
|
|
||||||
net[key] = kwargs[key]
|
net[key] = kwargs[key]
|
||||||
session.merge(net)
|
session.merge(net)
|
||||||
session.flush()
|
session.flush()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user