Пример #1
0
def serve():
    parser = argparse.ArgumentParser()
    parser.add_argument('--host',
                        default='localhost',
                        help='OpenConfig server host')
    parser.add_argument('--port', default=9030, help='OpenConfig server port')
    parser.add_argument('--time', default=1, help='data generating frequency')
    parser.add_argument('--debug', type=str, default='on', help='debug level')
    parser.add_argument('--interface',
                        default='',
                        help='interface for probe to sniff')

    args = parser.parse_args()

    global time_frequency
    global interface

    time_frequency = float(args.time)
    interface = args.interface

    if args.debug == "off":
        logger.setLevel(logging.INFO)

    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    gnmi_pb2_grpc.add_gNMIServicer_to_server(ProbeServicer(), server)
    server.add_insecure_port(args.host + ":" + str(args.port))
    server.start()
    print "Probe Server Started...."
    try:
        while True:
            time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)
def serve():
    parser = argparse.ArgumentParser()
    parser.add_argument('--host', default='localhost',
                        help='OpenConfig server host')
    parser.add_argument('--port', type=int, default=80050,
                        help='OpenConfig server port')
    parser.add_argument('--device_port', type=int, default=80049,
                        help='OpenConfig device port')
    parser.add_argument('--sample', type=int, default=1,
                        help='how many messages to be aggregated')
    parser.add_argument('--debug', type=str, default='on', help='debug level')
    args = parser.parse_args()

    global device_port
    global interval
    device_port = args.device_port
    interval = args.sample

    if args.debug == "off":
        logger.setLevel(logging.INFO)

    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    gnmi_pb2_grpc.add_gNMIServicer_to_server(
        CollectorServicer(), server)
    server.add_insecure_port(args.host + ":" + str(args.port))
    server.start()
    logger.info("Collector Server Started.....")
    try:
       while True:
          time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)
Пример #3
0
    def __init__(self, targetUrl, tlsEnabled, caCertPath, privKeyPath,
                 isDbgTest):
        self.is_stopped = False
        self.is_ready = False
        self.grpcServer = grpc.server(
            futures.ThreadPoolExecutor(max_workers=10))
        self.grpcServicer = gNMITargetServicer(isDbgTest)

        gnmi_pb2_grpc.add_gNMIServicer_to_server(self.grpcServicer,
                                                 self.grpcServer)

        if tlsEnabled == True:
            # secure connection
            print privKeyPath, caCertPath
            with open(privKeyPath) as f:
                privateKey = f.read()
            with open(caCertPath) as f:
                certChain = f.read()
            credentials = grpc.ssl_server_credentials(((
                privateKey,
                certChain,
            ), ))
            self.grpcServer.add_secure_port(targetUrl, credentials)
        else:
            # insecure connection
            self.grpcServer.add_insecure_port(targetUrl)
Пример #4
0
def serve():
    parser = argparse.ArgumentParser()
    parser.add_argument('--host',
                        default='localhost',
                        help='OpenConfig server host')
    parser.add_argument('--port',
                        type=int,
                        default="",
                        help='OpenConfig server port')

    parser.add_argument('--d1host', default='', help='ip address for device 1')
    parser.add_argument('--d2host', default='', help='ip address for device 2')

    parser.add_argument('--d1port', default='', help='port for device 1')
    parser.add_argument('--d2port', default='', help='port for device 2')

    parser.add_argument('--debug', type=str, default='on', help='debug level')
    args = parser.parse_args()

    host_ip = args.host
    host_port = args.port
    device1_ip = args.d1host
    device2_ip = args.d2host
    device1_port = args.d1port
    device2_port = args.d2port

    if args.debug == "off":
        logger.setLevel(logging.INFO)

    server = grpc.server(
        futures.ThreadPoolExecutor(max_workers=10))  #COULD BLOCK
    gnmi_pb2_grpc.add_gNMIServicer_to_server(CollectorServicer(), server)
    server.add_insecure_port(args.host + ":" + str(args.port))
    server.start()

    logger.info("Collector Server Started.....")

    #open connection to probes
    logger.info("Connecting to: " + device1_ip + " : " + device1_port)
    logger.info("Connecting to: " + device2_ip + " : " + device2_port)

    stub1 = None
    stub2 = None
    if device1_ip and device1_port:
        channel1 = grpc.insecure_channel(device1_ip + ":" + str(device1_port))
        stub1 = gnmi_pb2_grpc.gNMIStub(channel1)

    if device2_ip and device2_port:
        channel2 = grpc.insecure_channel(device2_ip + ":" + str(device2_port))
        stub2 = gnmi_pb2_grpc.gNMIStub(channel2)

    #start threads, mark as daemons
    stubs = [stub1, stub2]
    threads = []
    for stub in stubs:  #sends dummy iter to probe.
        if stub:
            t = threading.Thread(target=CollectorServicer().stream,
                                 args=(stub, iter([])))
            threads.append(t)
            t.daemon = True
            t.start()
    processingT = threading.Thread(target=CollectorServicer().processThatQ)
    processingT.daemon = True
    threads.append(processingT)
    processingT.start()

    try:
        while True:
            time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)