def JUNOSSPACEBackend(network_name, nrm_ports , parent_requester, cfg): name = 'JUNOSSPACE domain %s' % network_name nrm_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the generic backend port_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the nrm backend space_user = cfg[config.SPACE_USER] space_password = cfg[config.SPACE_PASSWORD] space_api_url = cfg[config.SPACE_API_URL] space_routers_config = cfg[config.SPACE_ROUTERS].split() global LOCAL_ACTIVATE_CONFIGLET_ID global REMOTE_ACTIVATE_CONFIGLET_ID global LOCAL_DEACTIVATE_CONFIGLET_ID global REMOTE_DEACTIVATE_CONFIGLET_ID LOCAL_ACTIVATE_CONFIGLET_ID = cfg[config.SPACE_CONFIGLET_ACTIVATE_LOCAL] REMOTE_ACTIVATE_CONFIGLET_ID = cfg[config.SPACE_CONFIGLET_ACTIVATE_REMOTE] LOCAL_DEACTIVATE_CONFIGLET_ID = cfg[config.SPACE_CONFIGLET_DEACTIVATE_LOCAL] REMOTE_DEACTIVATE_CONFIGLET_ID = cfg[config.SPACE_CONFIGLET_DEACTIVATE_REMOTE] space_routers = dict() log.msg("Loaded JunosSpace backend with routers:") for g in space_routers_config: r,n,ip = g.split(':',2) junosspace_router = JUNOSSPACERouter(r,n,ip) log.msg("%s" % (junosspace_router)) space_routers[r] = junosspace_router cm = JUNOSSPACEConnectionManager(port_map,space_user,space_password,space_api_url,space_routers,network_name) log.msg("Junosspace local activate configlet id {}".format(LOCAL_ACTIVATE_CONFIGLET_ID),debug=True,system=LOG_SYSTEM) log.msg("Junosspace remote activate configlet id {}".format(REMOTE_ACTIVATE_CONFIGLET_ID),debug=True,system=LOG_SYSTEM) log.msg("Junosspace local deactivate configlet id {}".format(LOCAL_DEACTIVATE_CONFIGLET_ID),debug=True,system=LOG_SYSTEM) log.msg("Junosspace remote deactivate configlet id {}".format(REMOTE_DEACTIVATE_CONFIGLET_ID),debug=True,system=LOG_SYSTEM) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name)
def OESSBackend(network_name, nrm_ports, parent_requester, cfg): """ OESS Backend definition """ log.msg('OESS: OESSBackend', debug=True, system=LOG_SYSTEM) name = 'OESS NRM %s' % network_name # for the generic backend nrm_map = dict([(p.name, p) for p in nrm_ports]) # for the nrm backend port_map = dict([(p.name, p.interface) for p in nrm_ports]) # Configuration items oess_url = cfg[config.OESS_URL] oess_user = cfg[config.OESS_USER] oess_pass = cfg[config.OESS_PASSWORD] oess_workgroup = cfg[config.OESS_WORKGROUP] cm = OESSConnectionManager(name, port_map, oess_url, oess_user, oess_pass, oess_workgroup) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name, minimum_duration=1)
def BrocadeBackend(network_name, network_topology, parent_requester, port_map, configuration): name = 'Brocade %s' % network_name cm = BrocadeConnectionManager(name, port_map, configuration) return genericbackend.GenericBackend(network_name, network_topology, cm, parent_requester, name)
def DUDNSIBackend(network_name, nrm_ports, parent_requester, configuration): name = 'DUD NRM %s' % network_name nrm_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the generic backend port_map = dict( [ (p.name, p.interface) for p in nrm_ports ] ) # for the nrm backend cm = DUDConnectionManager(name, port_map) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name, minimum_duration=1)
def BrocadeBackend(network_name, nrm_ports, parent_requester, configuration): name = 'Brocade %s' % network_name nrm_map = dict([(p.name, p) for p in nrm_ports]) # for the generic backend port_map = dict([(p.name, p.interface) for p in nrm_ports]) # for the nrm backend cm = BrocadeConnectionManager(name, port_map, configuration) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name)
def NCSVPNBackend(network_name, nrm_ports, parent_requester, cfg): name = 'NCS VPN %s' % network_name nrm_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the generic backend port_map = dict( [ (p.name, p.interface) for p in nrm_ports ] ) # for the nrm backend # extract config items ncs_services_url = str(cfg[config.NCS_SERVICES_URL]) # convert from unicode user = cfg[config.NCS_USER] password = cfg[config.NCS_PASSWORD] cm = NCSVPNConnectionManager(ncs_services_url, user, password, port_map, name) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name)
def JuniperEXBackend(network_name, nrm_ports, parent_requester, cfg): name = 'JuniperEX %s' % network_name nrm_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the generic backend port_map = dict( [ (p.name, p.interface) for p in nrm_ports ] ) # for the nrm backend # extract config items host = cfg[config.JUNIPER_HOST] port = cfg.get(config.JUNIPER_PORT, 22) host_fingerprint = cfg[config.JUNIPER_HOST_FINGERPRINT] user = cfg[config.JUNIPER_USER] ssh_public_key = cfg[config.JUNIPER_SSH_PUBLIC_KEY] ssh_private_key = cfg[config.JUNIPER_SSH_PRIVATE_KEY] cm = JuniperEXConnectionManager(port_map, host, port, host_fingerprint, user, ssh_public_key, ssh_private_key) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name)
def Pica8OVSBackend(network_name, nrm_ports, parent_requester, cfg): name = 'Pica8OVS %s' % network_name nrm_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the generic backend port_map = dict( [ (p.name, p.interface) for p in nrm_ports ] ) # for the nrm backend # extract config items host = cfg[config.PICA8OVS_HOST] port = cfg.get(config.PICA8OVS_PORT, 22) host_fingerprint = cfg[config.PICA8OVS_HOST_FINGERPRINT] user = cfg[config.PICA8OVS_USER] ssh_public_key = cfg[config.PICA8OVS_SSH_PUBLIC_KEY] ssh_private_key = cfg[config.PICA8OVS_SSH_PRIVATE_KEY] db_ip = cfg[config.PICA8OVS_DB_IP] cm = Pica8OVSConnectionManager(port_map, host, port, host_fingerprint, user, ssh_public_key, ssh_private_key, db_ip) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name)
def JUNOSMXBackend(network_name, nrm_ports , parent_requester, cfg): name = 'JUNOS %s' % network_name nrm_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the generic backend port_map = dict( [ (p.name, p) for p in nrm_ports ] ) # for the nrm backend host = cfg[config.JUNOS_HOST] port = cfg.get(config.JUNOS_PORT, 22) host_fingerprint = cfg[config.JUNOS_HOST_FINGERPRINT] user = cfg[config.JUNOS_USER] ssh_public_key = cfg[config.JUNOS_SSH_PUBLIC_KEY] ssh_private_key = cfg[config.JUNOS_SSH_PRIVATE_KEY] junos_routers_c = cfg[config.JUNOS_ROUTERS].split() junos_routers = dict() log.msg("Loaded JUNOS backend with routers:") for g in junos_routers_c: r,l = g.split(':',1) log.msg("Network: %s loopback: %s" % (r,l)) junos_routers[r] = l cm = JUNOSConnectionManager(port_map, host, port, host_fingerprint, user, ssh_public_key, ssh_private_key, junos_routers,network_name) return genericbackend.GenericBackend(network_name, nrm_map, cm, parent_requester, name)
def testGenericBackend(self): ft = FakeTopology('network', 'network') simple_backend = genericbackend.GenericBackend('network', ft, None, None, None) verifyObject(INSIProvider, simple_backend)
def Force10Backend(network_name, network_topology, parent_requester, port_map, configuration): name = 'Force10 %s' % network_name cm = Force10ConnectionManager(name, port_map, configuration) return genericbackend.GenericBackend(network_name, network_topology, cm, parent_requester, name)
def testGenericBackend(self): simple_backend = genericbackend.GenericBackend('network', None, None, None, None) verifyObject(INSIProvider, simple_backend)