# @author: Rohit Agarwalla, Cisco Systems, Inc.
import ConfigParser
-from optparse import OptionParser
import os
import logging as LOG
DB_PASS, DB_HOST, DB_NAME)}
db.configure_db(options)
+
def create_vlanids():
"""Prepopulates the vlan_bindings table"""
session = db.get_session()
session.add(vlanid)
start += 1
session.flush()
- return
+ return
+
def get_all_vlanids():
session = db.get_session()
all()
return vlanids
except exc.NoResultFound:
- return []
-
+ return []
+
+
def is_vlanid_used(vlan_id):
session = db.get_session()
try:
return vlanid["vlan_used"]
except exc.NoResultFound:
raise Exception("No vlan found with vlan-id = %s" % vlan_id)
-
+
+
def release_vlanid(vlan_id):
session = db.get_session()
try:
return vlanid["vlan_used"]
except exc.NoResultFound:
raise Exception("Vlan id %s not present in table" % vlan_id)
-
- return
+ return
+
def delete_vlanid(vlan_id):
session = db.get_session()
return vlanid
except exc.NoResultFound:
pass
-
+
+
def reserve_vlanid():
session = db.get_session()
try:
return vlanids[0]["vlan_id"]
except exc.NoResultFound:
raise Exception("All vlan id's are used")
-
+
+
def get_all_vlan_bindings():
"""Lists all the vlan to network associations"""
session = db.get_session()
local.update(joined)
return local.iteritems()
+
class VlanID(BASE, L2NetworkBase):
"""Represents a vlan_id usage"""
__tablename__ = 'vlan_ids'
def __repr__(self):
return "<VlanBinding(%d,%s)>" % \
(self.vlan_id, self.vlan_used)
-
+
class VlanBinding(BASE, L2NetworkBase):
"""Represents a binding of vlan_id to network_id"""