Project

General

Profile

Actions

Feature #8945

closed

rgw: support swift /info api

Added by Yehuda Sadeh over 9 years ago. Updated over 7 years ago.

Status:
Resolved
Priority:
Normal
Target version:
-
% Done:

100%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:
Actions #1

Updated by Luis Pabon over 9 years ago

  • Assignee set to Luis Pabon
Actions #2

Updated by Ian Colle over 9 years ago

  • Target version set to v0.85
Actions #3

Updated by Luis Pabon over 9 years ago

  • % Done changed from 0 to 20

After spending some time on this call, I am going to have to break it down to smaller tasks. I am currently investigating what /info provides to clients and what are the expected values.

Actions #4

Updated by Luis Pabon over 9 years ago

  • Target version deleted (v0.85)
Actions #5

Updated by Luis Pabon over 9 years ago

  • Target version set to v0.85
Actions #6

Updated by Ian Colle over 9 years ago

  • Target version changed from v0.85 to v0.86
Actions #7

Updated by Luis Pabon over 9 years ago

Here is a sample output retrieved from OpenStack Swift:

{
    "bulk_delete": {
        "max_failed_deletes": 1000,
        "max_deletes_per_request": 10000
    },
    "container_quotas": {},
    "crossdomain": {},
    "swift": {
        "max_file_size": 5368709122,
        "account_listing_limit": 10000,
        "max_meta_count": 90,
        "max_meta_value_length": 256,
        "container_listing_limit": 10000,
        "max_meta_overall_size": 4096,
        "version": "2.0.0.124.gac22c5e",
        "max_meta_name_length": 128,
        "max_header_size": 8192,
        "policies": [
            {
                "default": true,
                "name": "gold" 
            },
            {
                "name": "silver" 
            }
        ],
        "max_object_name_length": 1024,
        "max_account_name_length": 256,
        "strict_cors_mode": true,
        "max_container_name_length": 256
    },
    "tempurl": {
        "methods": [
            "GET",
            "HEAD",
            "PUT",
            "POST",
            "DELETE" 
        ]
    },
    "bulk_upload": {
        "max_failed_extractions": 1000,
        "max_containers_per_extraction": 10000
    },
    "ratelimit": {
        "account_ratelimit": 0,
        "max_sleep_time_seconds": 60,
        "container_ratelimits": [],
        "container_listing_ratelimits": []
    },
    "slo": {
        "max_manifest_segments": 1000,
        "min_segment_size": 1048576,
        "max_manifest_size": 2097152
    },
    "account_quotas": {},
    "staticweb": {},
    "tempauth": {
        "account_acls": true
    }
}

Actions #8

Updated by Luis Pabon over 9 years ago

After some investigation it seems there is no real standard because OpenStack Swift is not an API. Therefore, client developers must be very careful when using this the /info api. They must first get an entire JSON packet returned, then determine which strings correspond to the features they are looking for.

Here is the way OpenStack Swift builds the data:
1. The first key in the JSON packet is created by the middleware and by the application. In the example above, the application is 'swift' and others like 'account_quotas', 'bulk_upload', and others are the middleware.
2. Each data entry can be whatever the middleware or application wants to record. For example, 'account_quotas' does not record any data, but 'tempurl' does.
3. The application 'swift' records the following: version, cors_mode, storage policies, and any constraints.

Actions #9

Updated by Yehuda Sadeh over 9 years ago

This info just looks like some internal configurables. If it doesn't make sense as an api, I'm not sure we want to support it as it is.

Actions #10

Updated by Ian Colle over 9 years ago

  • Target version deleted (v0.86)
Actions #11

Updated by Yehuda Sadeh almost 8 years ago

  • Assignee changed from Luis Pabon to Pritha Srivastava
Actions #12

Updated by Pritha Srivastava over 7 years ago

  • Status changed from New to Resolved
  • % Done changed from 20 to 100
Actions

Also available in: Atom PDF