def remove_pnfdev(self, pnfdev): """Remove a PNFDev from the Tenant. Args: addr, a PNFDev object Returns: None Raises: KeyError, if the pnfdev is not available """ pnfdevs = getattr(self, pnfdev.ALIAS) if pnfdev.addr not in pnfdevs: return del pnfdevs[pnfdev.addr] belongs = Session().query(TblBelongs) \ .filter(TblBelongs.tenant_id == self.tenant_id, TblBelongs.addr == pnfdev.addr) \ .first() session = Session() session.delete(belongs) session.commit()
def reject_tenant(cls, tenant_id): """Reject previously requested Tenant.""" pending = Session().query(TblPendingTenant) \ .filter(TblPendingTenant.tenant_id == tenant_id) \ .first() if not pending: raise KeyError(tenant_id) session = Session() session.delete(pending) session.commit()
def remove_denied(self, sta_addr): """ Remove entry from ACL. """ deny = Session().query(TblDeny) \ .filter(TblDeny.addr == sta_addr) \ .first() if not deny: raise KeyError(sta_addr) session = Session() session.delete(deny) session.commit() del self.denied[sta_addr]
def remove_allowed(self, sta_addr): """ Remove entry from ACL. """ allow = Session().query(TblAllow) \ .filter(TblAllow.addr == sta_addr) \ .first() if not allow: raise KeyError(sta_addr) session = Session() session.delete(allow) session.commit() del self.allowed[sta_addr]
def remove_imsi2mac(self, imsi): """Remove IMSI to MAC mapped value from table.""" imsi2mac = Session().query(TblIMSI2MAC) \ .filter(TblIMSI2MAC.imsi == imsi) \ .first() if not imsi2mac: raise KeyError(imsi) session = Session() session.delete(imsi2mac) session.commit() del self.imsi2mac[imsi]
def remove_feed(self, feed_id): """Remove Feed.""" if feed_id not in RUNTIME.feeds: raise KeyError(feed_id) self.bind_feed(feed_id) del RUNTIME.feeds[feed_id] feed = Session().query(TblFeed) \ .filter(TblFeed.feed_id == feed_id) \ .first() session = Session() session.delete(feed) session.commit()
def remove_feed(self, feed_id): """Remove Feed.""" if feed_id not in RUNTIME.feeds: raise KeyError(feed_id) self.bind_feed(feed_id) del RUNTIME.feeds[feed_id] feed = Session().query(TblFeed) \ .filter(TblFeed.feed_id == feed_id) \ .first() session = Session() session.delete(feed) session.commit()
def remove_tenant(self, tenant_id): """Delete existing Tenant.""" if tenant_id not in self.tenants: raise KeyError(tenant_id) tenant = self.tenants[tenant_id] # remove pnfdev in this tenant devs = Session().query(TblBelongs) \ .filter(TblBelongs.tenant_id == tenant_id) for dev in devs: session = Session() session.delete(dev) session.commit() # remove tenant del self.tenants[tenant_id] tenant = Session().query(TblTenant) \ .filter(TblTenant.tenant_id == tenant_id) \ .first() session = Session() session.delete(tenant) session.commit() # remove running modules for component in self.components.values(): if not hasattr(component, 'modules'): continue to_be_removed = [] for module in component.modules.values(): if module.tenant_id == tenant_id: to_be_removed.append(module.module_id) for module_id in to_be_removed: component.remove_module(module_id)
def remove_account(self, username): """Remove an account.""" if username == 'root': raise ValueError("Cannot removed root account") account = Session().query(TblAccount) \ .filter(TblAccount.username == str(username)) \ .first() if not account: raise KeyError(username) session = Session() session.delete(account) session.commit() del self.accounts[username] to_be_deleted = [x.tenant_id for x in self.tenants.values() if x.owner == username] for tenant_id in to_be_deleted: self.remove_tenant(tenant_id)
def remove_pnfdev(self, addr): """Remove PNFDev.""" if addr not in self.pnfdevs: raise KeyError(addr) pnfdev = self.pnfdevs[addr] for tenant in RUNTIME.tenants.values(): tenant_pnfdevs = getattr(tenant, self.PNFDEV.ALIAS) if addr in tenant_pnfdevs: tenant.remove_pnfdev(pnfdev) del self.pnfdevs[addr] pnfdev = Session().query(self.TBL_PNFDEV) \ .filter(self.TBL_PNFDEV.addr == addr) \ .first() session = Session() session.delete(pnfdev) session.commit()