return True
    except:
        return False

def get_all_client_ip(path):
    all_items=os.listdir(path)
    ips=[]
    for item in all_items:
        if os.path.isdir(os.path.join(path,item)) and valid_ip(item):
            ips.append(item)
    return ips
'''

def select(ips):
    rand_number=random.randint(0,len(ips)-1)
    return ips[rand_number]
    
if __name__=='__main__' :
    ips=[]
    path='./client/'
    if len(sys.argv)==2:
        path=sys.argv[1]
        ips=hosts.get_all_clients_ip(rrds_path=path)
    elif len(sys.argv)==1:
        ips=hosts.get_all_clients_ip()
    else:
        print ips
    if len(ips)!=0:
        selected=select(ips)
        print selected
if __name__=='__main__':
    print '###########################3'
    print sys.argv
    print "#############################"
    if len(sys.argv)!=5:
        print '''error happens, you have not input enough arguments
		for example:
			python apply.py username password dbname database_type
		'''
    #else:
    #    client_ip=sys.argv[3:]
    #path='rrds/'
    #client_ip=get_all_client_ip(path)
    else:      
    	 # clients_ip=['192.168.16.106']
        clients_ip=hosts.get_all_clients_ip('/etc/hosts','/var/lib/ganglia/rrds/client/')
            #database='db'
    print sys.argv[4]
    if sys.argv[4]=='mongodb':
        my=ApplyMongodb(clients_ip,
        sys.argv[1],
        sys.argv[2],
        sys.argv[3]) 
    	    #print clients_ip
    else:
        my=ApplyMysql(clients_ip,
        sys.argv[1],
        sys.argv[2],
        sys.argv[3]) 
    if my.check():
        my.choose()
        pid = pid.split('\n')[0]
        killUnfsdCmd = "kill %d"%(int(pid))
        self.executeRemoteCmd(killUnfsdCmd)
        rmHomeDirCmd = "rm -rf %s"%(self.nfsDir)
        self.executeRemoteCmd(rmHomeDirCmd)
        rmExportsCmd = "rm -f %s"%(self.exportsDir+self.exportsName)
        self.executeRemoteCmd(rmExportsCmd)

        
    
        
if __name__ == '__main__':
    print "python getNAS.py userName password homeDir nasType"
    redisIP = "192.168.12.100"
    redisPort = 6379
    hIP = suyiselect.select(hosts.get_all_clients_ip())
    print hIP
    # sys.exit(0)
    hostIP = "192.168.16.102"
    userName = sys.argv[1]
    password = sys.argv[2]
    if len(sys.argv) == 4:
        nasType = sys.argv[3]
    else:
        homeDir = sys.argv[3]
        nasType = sys.argv[4]
    if nasType == 'nfs':
        nfsS = NASService(hostIP,userName, password, homeDir, redisIP, redisPort)
        nfsS.exportNFS()
        nfsS.printMountCmd()
    else: