Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
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)
Beispiel #6
0
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)
Beispiel #7
0
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)
Beispiel #8
0
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)
Beispiel #9
0
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)
Beispiel #10
0
 def testGenericBackend(self):
     ft = FakeTopology('network', 'network')
     simple_backend = genericbackend.GenericBackend('network', ft, None,
                                                    None, None)
     verifyObject(INSIProvider, simple_backend)
Beispiel #11
0
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)
Beispiel #12
0
 def testGenericBackend(self):
     simple_backend = genericbackend.GenericBackend('network', None, None,
                                                    None, None)
     verifyObject(INSIProvider, simple_backend)