예제 #1
0
            (user, trust_id, user_id) = line.strip().split(',')
            logger.info('Obtaining resources of user {0} ({1}/{2})'.format(
                user, count, total))
            user_resources = UserResources(trustee, password,
                                           trust_id=trust_id)
        else:
            (user, password, tenant_id) = line.strip().split(',')
            logger.info('Obtaining resources of user ' + user)
            user_resources = UserResources(user, password, tenant_id)

        if images_in_use:
            user_resources.imagesinuse = images_in_use

        user_id = user_resources.user_id
        logger.info('user ' + user + ' has id ' + user_id)
        resources_before = user_resources.get_resources_dict()

        # check if user does not have any resources and
        all_free = True
        for key in resources_before:
            if resources_before[key]:
                all_free = False
                break
        if all_free:
            report[user_id] = (resources_before, resources_before, True)
            msg = 'User {0} does not have any resources to free'
            logger.info(msg.format(user_resources.user_id))

            if free_trust_id:
                try:
                    user_resources.free_trust_id()
예제 #2
0
    else:
        trustee = conf.settings.TRUSTEE

    lines = users_trusted_ids.readlines()
    user_count = 0
    user_total = len(lines)
    for line in lines:
        (user, trust_id, user_id) = line.strip().split(',')
        user_count += 1
        logger.info('Stopping active VMs of user {3} {0} ({1}/{2})'.format(
            user, user_count, user_total, user_id))

        try:
            user_resources = UserResources(
                trustee, password, trust_id=trust_id)
            vms = user_resources.get_resources_dict()['vms']
            dict_vms[user] = vms
            stopped = user_resources.stop_tenant_vms()
            stopped_vms += stopped
            logger.info('Stopped {0} (total {1})'.format(stopped, stopped_vms))
            logger.info('Unshare public images of user ' + user)
            user_resources.unshare_images()
            if 'DONT_FREE_TRUST_ID' not in env:
                user_resources.free_trust_id()
        except Exception, e:
            logger.error('Failed operations with user ' + user + ' cause: ' +
                         str(e))
            failed_users.add(user)

    print('Stopped servers: ' + str(stopped_vms))