(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()
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))