Exemplo n.º 1
0
def rotateFiles(directory, prefixName, gen, cp=False, persist=False):
    log.debug("dir: %s, prefixName: %s, versions: %s" %
              (directory, prefixName, gen))
    gen = int(gen)
    files = os.listdir(directory)
    files = glob.glob("%s*" % prefixName)
    fd = {}
    for fname in files:
        name = fname.rsplit('.', 1)
        try:
            ind = int(name[1])
        except ValueError:
            name[0] = fname
            ind = 0
        except IndexError:
            ind = 0
        except:
            continue
        if ind < gen:
            fd[ind] = {'old': fname, 'new': name[0] + '.' + str(ind + 1)}

    keys = fd.keys()
    keys.sort(reverse=True)
    log.debug("versions found: %s" % (keys))

    for key in keys:
        oldName = os.path.join(directory, fd[key]['old'])
        newName = os.path.join(directory, fd[key]['new'])
        if isOvirtNode() and persist and not cp:
            try:
                execCmd([constants.EXT_UNPERSIST, oldName], logErr=False,
                        sudo=True)
                execCmd([constants.EXT_UNPERSIST, newName], logErr=False,
                        sudo=True)
            except:
                pass
        try:
            if cp:
                execCmd([constants.EXT_CP, oldName, newName], sudo=True)
                if isOvirtNode() and persist and not os.path.exists(newName):
                    execCmd([constants.EXT_PERSIST, newName], logErr=False,
                            sudo=True)

            else:
                os.rename(oldName, newName)
        except:
            pass
        if isOvirtNode() and persist and not cp:
            try:
                execCmd([constants.EXT_PERSIST, newName], logErr=False,
                        sudo=True)
            except:
                pass
Exemplo n.º 2
0
Arquivo: misc.py Projeto: fzkbass/vdsm
def rotateFiles(directory, prefixName, gen, cp=False, persist=False):
    log.debug("dir: %s, prefixName: %s, versions: %s" %
              (directory, prefixName, gen))
    gen = int(gen)
    files = os.listdir(directory)
    files = glob.glob("%s*" % prefixName)
    fd = {}
    for fname in files:
        name = fname.rsplit('.', 1)
        try:
            ind = int(name[1])
        except ValueError:
            name[0] = fname
            ind = 0
        except IndexError:
            ind = 0
        except:
            continue
        if ind < gen:
            fd[ind] = {'old': fname, 'new': name[0] + '.' + str(ind + 1)}

    keys = fd.keys()
    keys.sort(reverse=True)
    log.debug("versions found: %s" % (keys))

    for key in keys:
        oldName = os.path.join(directory, fd[key]['old'])
        newName = os.path.join(directory, fd[key]['new'])
        if isOvirtNode() and persist and not cp:
            try:
                execCmd([constants.EXT_UNPERSIST, oldName], sudo=True)
                execCmd([constants.EXT_UNPERSIST, newName], sudo=True)
            except:
                pass
        try:
            if cp:
                execCmd([constants.EXT_CP, oldName, newName], sudo=True)
                if isOvirtNode() and persist and not os.path.exists(newName):
                    execCmd([constants.EXT_PERSIST, newName], sudo=True)

            else:
                os.rename(oldName, newName)
        except:
            pass
        if isOvirtNode() and persist and not cp:
            try:
                execCmd([constants.EXT_PERSIST, newName], sudo=True)
            except:
                pass
Exemplo n.º 3
0
def persistFile(name):
    if isOvirtNode():
        execCmd([constants.EXT_PERSIST, name], sudo=True)
Exemplo n.º 4
0
Arquivo: misc.py Projeto: fzkbass/vdsm
def persistFile(name):
    if isOvirtNode():
        execCmd([constants.EXT_PERSIST, name], sudo=True)