First, you need to install
swift command-line utility
and second, install the command-line tool to manage your account: Install OpenStack swift client only
With the capabilities command you may discover the following important policy and limits of your account like:
- Listing limits – how many files (objects) will be in the output when using list command.
- The maximum file size, which is supported by the server.
- Maximum files (objects) for deletion per a single request. How many files you can delete with a single request, which is very convinient to put thousands of files per one requests, not to initiate an http(s) connection for each file (object), which could be thousands of files, or even millions!
- Additinal plugins (in terms of Openstack – middleware), which are supported
- Maximum container name length
and many more.
In general, you will need:
- username (–os-username) – Username
- password (–os-password) – Password
- authentication url (–os-auth-url) – The URL address, which authorize your requests, it generates a security token for your operations. Always use https!
- tenant name (–os-tenant-name) – Tenant is like a project.
All of the above information should be available from your OpenStack administrator.
Here an example output of the capabalities command:
myuser@myserver:~$ swift --os-username myusr --os-tenant-name myusr --os-password mypass --os-auth-url https://auth01.example.com:5000/v2.0 capabilities Core: swift Options: account_autocreate: True account_listing_limit: 20000 allow_account_management: False container_listing_limit: 20000 extra_header_count: 0 max_account_name_length: 256 max_container_name_length: 256 max_file_size: 5368709122 max_header_size: 8192 max_meta_count: 90 max_meta_name_length: 128 max_meta_overall_size: 4096 max_meta_value_length: 256 max_object_name_length: 1024 policies: [{'name': 'Policy-0', 'default': True}] strict_cors_mode: True Additional middleware: bulk_delete Options: max_deletes_per_request: 20000 Additional middleware: bulk_upload Options: max_containers_per_extraction: 20000 max_failed_extractions: 1000 Additional middleware: container_sync Options: realms: {} Additional middleware: crossdomain Additional middleware: formpost Additional middleware: keystoneauth Additional middleware: slo Options: max_manifest_segments: 1000 max_manifest_size: 2097152 min_segment_size: 1048576 Additional middleware: staticweb
You can see various middleware are activated with specific options – bulk_upload – to upload multiple files with one request (a list with files) and bulk_delete – to delete multiple files per one request and so on.