Exemplo n.º 1
0
def show_sample():
    this_req = ft_svc.FlexibleTunnelDeleteRequest()
    this_req.tunnel_profile_names.append("foo")
    this_req.tunnel_profile_names.append("bar")
    print 'PROTO:'
    print this_req
    print 'JSON:'
    print jsonf.MessageToJson(this_req)
Exemplo n.º 2
0
def del_profiles(ft, ft_req):
    print 'Deleting tunnels....'
    i = 0
    routes_deleted = 0
    routes_processed = 0
    while len(ft_req.tunnel_profile_names):
        this_req = ft_svc.FlexibleTunnelDeleteRequest(
            tunnel_profile_names=ft_req.tunnel_profile_names[:BATCH_SIZE])
        #print this_req
        opRes = ft.FlexibleTunnelDelete(this_req, TIMEOUT)
        #print opRes
        if opRes.code:
            print 'Batch %d: tunnels added = %d, result = %d' % (
                i, opRes.operations_completed, opRes.code)
        if opRes.sub_code:
            print 'Error %d: %s' % (opRes.sub_code, opRes.message)
        routes_deleted += opRes.operations_completed
        routes_processed += len(ft_req.tunnel_profile_names[:BATCH_SIZE])
        i += 1
        del ft_req.tunnel_profile_names[:BATCH_SIZE]
    print 'DONE: total of', routes_processed, 'tunnels processed', routes_deleted, 'tunnels deleted'
    raw_input("Press the <ENTER> key to disconnect...")
def del_profiles(ft, ft_req):
    print('Deleting tunnels....')
    i = 0
    routes_deleted = 0
    routes_processed = 0
    while len(ft_req.tunnel_profile_names):
        this_req = ft_svc.FlexibleTunnelDeleteRequest(
            tunnel_profile_names=ft_req.tunnel_profile_names[:BATCH_SIZE])
        opRes = ft.FlexibleTunnelDelete(this_req, TIMEOUT)

        if opRes.code:
            print('Batch %d: tunnels added = %d, result = %d' %
                  (i, opRes.operations_completed, opRes.code))
        if opRes.sub_code:
            print('Error %d: %s' % (opRes.sub_code, opRes.message))
        routes_deleted += opRes.operations_completed
        routes_processed += len(ft_req.tunnel_profile_names[:BATCH_SIZE])
        i += 1
        del ft_req.tunnel_profile_names[:BATCH_SIZE]

    print('DONE: total of', routes_processed, 'tunnels processed',
          routes_deleted, 'tunnels deleted')
Exemplo n.º 4
0
def Main():

    # Connect and Authenticate
    conn = grpc.insecure_channel('%s:%d' % (options.HOST, int(options.PORT)))
    auth_stub = authentication_service_pb2_grpc.LoginStub(conn)
    login = auth_stub.LoginCheck(
        auth_svc.LoginRequest(user_name=options.USER,
                              password=options.PASSWORD,
                              client_id=options.CLIENT_ID), TIMEOUT)
    if login:
        print "Successfully connected to server %s:%s as %s" % (
            options.HOST, options.PORT, options.USER)
    else:
        print "ERROR: Login to server server %s:%s as %s FAILED" % (
            options.HOST, options.PORT, options.USER)
        sys.exit(1)

    # Create the RIB service stub
    ft = flexible_tunnel_service_pb2_grpc.FlexibleTunnelStub(conn)

    # Read routes
    print 'Reading JSON input file...'
    f = open(options.FILE, "rb")

    # Do stuff
    if options.OPER == 'add':
        ft_req = jsonf.Parse(f.read(), ft_svc.FlexibleTunnelAddRequest())
        add_profiles(ft, ft_req)
    elif options.OPER == 'upd':
        ft_req = jsonf.Parse(f.read(), ft_svc.FlexibleTunnelUpdateRequest())
        add_profiles(ft, ft_req)
    elif options.OPER == 'del':
        ft_req = jsonf.Parse(f.read(), ft_svc.FlexibleTunnelDeleteRequest())
        del_profiles(ft, ft_req)
    elif options.OPER == 'sample':
        show_sample()