''

def do(self):

    cper = configparser.ConfigParser()
    cper.read(filename)
    expectCount = ([0] * COMPONENT_END_TYPE)
    SIGNLE_CT = [DBMGR_TYPE, BASEAPPMGR_TYPE, CELLAPPMGR_TYPE, INTERFACES_TYPE, LOGGER_TYPE]
    for ct in SIGNLE_CT:
        secName = COMPONENT_NAME[ct]
        optName = 'item_1'
        if cper.has_option(secName, optName):
            expectCount[ct] += 1
            (targetIP, cid, gus) = cper.get(secName, optName).split(',')
            (targetIP, cid, gus) = (targetIP.strip(), int(cid), int(gus))
            if (gus <= 0):
                gus = self.makeGUS(ct)
            print ("run    '%s'    in    '%s',    uid    =    %s,    cid    =    %s,    gus    =    %s" % (secName, targetIP, self.uid, cid, gus))
            self.startServer(ct, cid, gus, targetIP, '', '', '')
    MUTIL_CT = [LOGINAPP_TYPE, CELLAPP_TYPE, BASEAPP_TYPE]
    for ct in MUTIL_CT:
        secName = COMPONENT_NAME[ct]
        idx = 1
        while True:
            optName = ('item_%s' % idx)
            idx += 1
            if cper.has_option(secName, optName):
                expectCount[ct] += 1
                (targetIP, cid, gus) = cper.get(secName, optName).split(',')
                (targetIP, cid, gus) = (targetIP.strip(), int(cid), int(gus))
                if (gus <= 0):
                    gus = self.makeGUS(ct)
                print ("run    '%s'    in    '%s',    uid    =    %s,    cid    =    %s,    gus    =    %s" % (secName, targetIP, self.uid, cid, gus))
                self.startServer(ct, cid, gus, targetIP, '', '', '')
            else:
                break
    print ''
    queryCount = 0
    while True:
        queryCount += 1
        print ('query    status:    %s' % queryCount)
        self.queryAllInterfaces(MACHINES_ADDRESS, MACHINES_QUERY_ATTEMPT_COUNT, MACHINES_QUERY_WAIT_TIME)
        currentCount = ([0] * COMPONENT_END_TYPE)
        for (machineID, infos) in self.interfaces_groups.items():
            for info in infos:
                if (info.componentType not in self.VALIDATE_CT):
                    continue
                currentCount[info.componentType] += 1
        for i in range(len(expectCount)):
            if (expectCount[i] <= 0):
                continue
            print (' DCTB %11s:    %s/%s' % (COMPONENT_NAME[i], currentCount[i], expectCount[i]))
        print ''
        if (currentCount == expectCount):
            break
