Exemple #1
0
def check_diskspace(repo, min_free=None):
    '''
    Check if the remote directory over at the pkg repo has available diskspace

    If the amount of free space is not supplied, it is taken from the global
    configuration file, section [PACKAGES], key 'mininum_free_space'. The unit
    used are in SI, that is, 1 GB = 10**9 bytes.

    :type repo: string
    :param repo: a remote package repo URL
    :type min_free: int
    :param: min_free mininum amount of free space, in GB (10**9 bytes)
    :raise error.RepoUnknownError: general repository error condition
    :raise error.RepoDiskFullError: repository does not have at least the
        requested amount of free disk space.
    '''
    if min_free is None:
        min_free = settings.get_value('PACKAGES',
                                      'minimum_free_space',
                                      type=int,
                                      default=1)
    try:
        df = repo_run_command(repo,
                              'df -PB %d . | tail -1' % 10**9).stdout.split()
        free_space_gb = int(df[3])
    except Exception, e:
        raise error.RepoUnknownError('Unknown Repo Error: %s' % e)
Exemple #2
0
def check_diskspace(repo, min_free=None):
    # Note: 1 GB = 10**9 bytes (SI unit).
    if min_free is None:
        min_free = global_config.global_config.get_config_value('PACKAGES',
                                                          'minimum_free_space',
                                                          type=int, default=1)
    try:
        df = repo_run_command(repo,
                              'df -PB %d . | tail -1' % 10 ** 9).stdout.split()
        free_space_gb = int(df[3])
    except Exception, e:
        raise error.RepoUnknownError('Unknown Repo Error: %s' % e)