示例#1
0
def get_swift_containers():
    for account in _accounts:
        sclient = openstack_clients.get_swiftclient_st(account['storage.url'])
        # 1 index has container list
        containers = sclient.get_account()[1]
        for container in containers:
            ctr, obj = sclient.get_container(container['name'])
            ctr['id'] = account['id'] + ID_SEP + container['name']
            ctr['name'] = container['name']
            ctr['account'] = account['name']
            ctr['account_id'] = account['id']
            yield ctr
示例#2
0
def get_swift_containers():
    for account in _accounts:
        sclient = openstack_clients.get_swiftclient_st(account['storage.url'])
        # 1 index has container list
        containers = sclient.get_account()[1]
        for container in containers:
            ctr, obj = sclient.get_container(container['name'])
            ctr['id'] = account['id'] + ID_SEP + container['name']
            ctr['name'] = container['name']
            ctr['account'] = account['name']
            ctr['account_id'] = account['id']
            yield ctr
示例#3
0
def get_swift_objects():
    for account in _accounts:
        sclient = openstack_clients.get_swiftclient_st(account['storage.url'])
        # 1 index has container list
        containers = sclient.get_account()[1]
        for sctr in containers:
            ctr, obj = sclient.get_container(sctr['name'])
            for sobject in obj:
                sobj = sclient.head_object(sctr['name'], sobject['name'])
                sobj['account'] = account['name']
                sobj['account_id'] = account['id']
                sobj['container'] = sctr['name']
                sobj['container_id'] = account['id'] + ID_SEP + sctr['name']
                sobj['id'] = sobj['container_id'] + ID_SEP + sobject['name']
                sobj['name'] = sobject['name']
                yield sobj
示例#4
0
def get_swift_objects():
    for account in _accounts:
        sclient = openstack_clients.get_swiftclient_st(account['storage.url'])
        # 1 index has container list
        containers = sclient.get_account()[1]
        for sctr in containers:
            ctr, obj = sclient.get_container(sctr['name'])
            for sobject in obj:
                sobj = sclient.head_object(sctr['name'], sobject['name'])
                sobj['account'] = account['name']
                sobj['account_id'] = account['id']
                sobj['container'] = sctr['name']
                sobj['container_id'] = account['id'] + ID_SEP + sctr['name']
                sobj['id'] = sobj['container_id'] + ID_SEP + sobject['name']
                sobj['name'] = sobject['name']
                yield sobj
示例#5
0
def get_swift_accounts(auth_prefix):
    global AUTH_PREFIX
    # TODO(lakshmiS): Add support for SERVICE_ accounts
    AUTH_PREFIX = auth_prefix
    ks_client = openstack_clients.get_keystoneclient()
    for tenant in ks_client.tenants.list():
        storage_url = _get_storage_url_prefix() + tenant.id
        sclient = openstack_clients.get_swiftclient_st(storage_url)
        # 0 index has account summary
        account = sclient.get_account()[0]
        account['name'] = tenant.name
        account['id'] = auth_prefix + tenant.id

        # store it for later usage in retrieving containers
        # and objects
        account_detail = {'id': account['id'],
                          'name': tenant.name,
                          'storage.url': storage_url}
        _accounts.append(account_detail)

        yield account
示例#6
0
def get_swift_accounts(auth_prefix):
    global AUTH_PREFIX
    # TODO(lakshmiS): Add support for SERVICE_ accounts
    AUTH_PREFIX = auth_prefix
    ks_client = openstack_clients.get_keystoneclient()
    for tenant in ks_client.tenants.list():
        storage_url = _get_storage_url_prefix() + tenant.id
        sclient = openstack_clients.get_swiftclient_st(storage_url)
        # 0 index has account summary
        account = sclient.get_account()[0]
        account['name'] = tenant.name
        account['id'] = auth_prefix + tenant.id

        # store it for later usage in retrieving containers
        # and objects
        account_detail = {
            'id': account['id'],
            'name': tenant.name,
            'storage.url': storage_url
        }
        _accounts.append(account_detail)

        yield account