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)
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')
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()