Last active
May 15, 2016 20:18
-
-
Save keshavab/6e9286d95e52a1d4426d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export OS_SERVICE_TOKEN=ADMIN | |
| export OS_SERVICE_ENDPOINT=http://192.168.33.20:35357/v2.0 | |
| # get keystone auth token | |
| # * Note: each time this is run, keystone generates a new token and this is the token that is considered valied for the user. | |
| curl 'http://127.0.0.1:5000/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": {"tenantName": "service", "passwordCredentials": {"username": "swift", "password": "SWIFT_PASS"}}}' | python -mjson.tool | |
| # get endpoint for service type 'object-store' | |
| serviceCatalog": [ | |
| { | |
| "endpoints": [ | |
| { | |
| "adminURL": "http://192.168.33.20:8080", | |
| "id": "945f04e08a034f9d94827952ba346a7b", | |
| "internalURL": "http://192.168.33.20:8080/v1/AUTH_2a5b67092df94b19a9e33d6dcd2a3ad7", | |
| "publicURL": "http://192.168.33.20:8080/v1/AUTH_2a5b67092df94b19a9e33d6dcd2a3ad7", | |
| "region": "regionOne" | |
| } | |
| ], | |
| "endpoints_links": [], | |
| "name": "swift", | |
| "type": "object-store" | |
| }, | |
| # public url | |
| http://192.168.33.20:8080/v1/AUTH_2a5b67092df94b19a9e33d6dcd2a3ad7 | |
| # get token | |
| MIIGDAYJKoZIhvcNAQcCoIIF-TCCBfkCAQExCTAHBgUrDgMCGjCCBGIGCSqGSIb3DQEHAaCCBFMEggRPeyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxNC0wNi0xN1QwNjowODozMy4xNDYyODkiLCAiZXhwaXJlcyI6ICIyMDE0LTA2LTIxVDEwOjA4OjMzWiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogbnVsbCwgImVuYWJsZWQiOiB0cnVlLCAiaWQiOiAiMmE1YjY3MDkyZGY5NGIxOWE5ZTMzZDZkY2QyYTNhZDciLCAibmFtZSI6ICJzZXJ2aWNlIn19LCAic2VydmljZUNhdGFsb2ciOiBbeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTkyLjE2OC4zMy4yMDo4MDgwIiwgInJlZ2lvbiI6ICJyZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMzMuMjA6ODA4MC92MS9BVVRIXzJhNWI2NzA5MmRmOTRiMTlhOWUzM2Q2ZGNkMmEzYWQ3IiwgImlkIjogIjk0NWYwNGUwOGEwMzRmOWQ5NDgyNzk1MmJhMzQ2YTdiIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTkyLjE2OC4zMy4yMDo4MDgwL3YxL0FVVEhfMmE1YjY3MDkyZGY5NGIxOWE5ZTMzZDZkY2QyYTNhZDcifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAib2JqZWN0LXN0b3JlIiwgIm5hbWUiOiAic3dpZnQifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vbG9jYWxob3N0OjM1MzU3L3YyLjAiLCAicmVnaW9uIjogInJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vbG9jYWxob3N0OjUwMDAvdjIuMCIsICJpZCI6ICIxNzVmMDZkMWVhOWU0MjFiYjYwNjVlNDY3NGMwMWNiNiIsICJwdWJsaWNVUkwiOiAiaHR0cDovL2xvY2FsaG9zdDo1MDAwL3YyLjAifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiRVNYX09uYm9hcmRlciIsICJuYW1lIjogImVvbiJ9XSwgInVzZXIiOiB7InVzZXJuYW1lIjogInN3aWZ0IiwgInJvbGVzX2xpbmtzIjogW10sICJpZCI6ICIwMzM3ZGJlODU0NzQ0YTIzOTJlZGNmNzEzNTUxYzE3NiIsICJyb2xlcyI6IFt7Im5hbWUiOiAiYWRtaW4ifV0sICJuYW1lIjogInN3aWZ0In0sICJtZXRhZGF0YSI6IHsiaXNfYWRtaW4iOiAwLCAicm9sZXMiOiBbIjdiZDQ3OTk4MjBjZTQ1ZDk5YWRkMTNjM2JhMTg0MTkzIl19fX0xggGBMIIBfQIBATBcMFcxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVVbnNldDEOMAwGA1UEBwwFVW5zZXQxDjAMBgNVBAoMBVVuc2V0MRgwFgYDVQQDDA93d3cuZXhhbXBsZS5jb20CAQEwBwYFKw4DAhowDQYJKoZIhvcNAQEBBQAEggEAaEOBwr7BFEYUal21m4Kn8Wsyc9cX2KkJa7T1nUvS6nAKY6j7iregI5150xOIaFviWR1Drts1yC37OoX3OTs4xiCRw0LSFUYtAObMuCMyIS3gotTXg57wZ-OqJlAIFA-qLkG6U0+6IEfzcq6PIHsnZAQtqEQD+x3R6qArPObrWGbNcsXTTdX0o-bkUtk3Fy8hlfzRDJYRoWVZrqy6VRq7j95LffBW1HSo5V4b0d3qs1lajy5Wfh-f0B7wzdlN+Ka4FyPJ-120PzsKRzQM2+ELn62w3D+5QB5xkIbM9VMMlzHh5Ir3+GiqBINPILg7-iqUYv2iX4tXtUoLWYmi0sXYOw== | |
| public_url=http://192.168.33.20:8080/v1/AUTH_2a5b67092df94b19a9e33d6dcd2a3ad7 | |
| token=MIIGDAYJKoZIhvcNAQcCoIIF-TCCBfkCAQExCTAHBgUrDgMCGjCCBGIGCSqGSIb3DQEHAaCCBFMEggRPeyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxNC0wNi0xN1QwNjowODozMy4xNDYyODkiLCAiZXhwaXJlcyI6ICIyMDE0LTA2LTIxVDEwOjA4OjMzWiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogbnVsbCwgImVuYWJsZWQiOiB0cnVlLCAiaWQiOiAiMmE1YjY3MDkyZGY5NGIxOWE5ZTMzZDZkY2QyYTNhZDciLCAibmFtZSI6ICJzZXJ2aWNlIn19LCAic2VydmljZUNhdGFsb2ciOiBbeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTkyLjE2OC4zMy4yMDo4MDgwIiwgInJlZ2lvbiI6ICJyZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzE5Mi4xNjguMzMuMjA6ODA4MC92MS9BVVRIXzJhNWI2NzA5MmRmOTRiMTlhOWUzM2Q2ZGNkMmEzYWQ3IiwgImlkIjogIjk0NWYwNGUwOGEwMzRmOWQ5NDgyNzk1MmJhMzQ2YTdiIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTkyLjE2OC4zMy4yMDo4MDgwL3YxL0FVVEhfMmE1YjY3MDkyZGY5NGIxOWE5ZTMzZDZkY2QyYTNhZDcifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAib2JqZWN0LXN0b3JlIiwgIm5hbWUiOiAic3dpZnQifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vbG9jYWxob3N0OjM1MzU3L3YyLjAiLCAicmVnaW9uIjogInJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vbG9jYWxob3N0OjUwMDAvdjIuMCIsICJpZCI6ICIxNzVmMDZkMWVhOWU0MjFiYjYwNjVlNDY3NGMwMWNiNiIsICJwdWJsaWNVUkwiOiAiaHR0cDovL2xvY2FsaG9zdDo1MDAwL3YyLjAifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiRVNYX09uYm9hcmRlciIsICJuYW1lIjogImVvbiJ9XSwgInVzZXIiOiB7InVzZXJuYW1lIjogInN3aWZ0IiwgInJvbGVzX2xpbmtzIjogW10sICJpZCI6ICIwMzM3ZGJlODU0NzQ0YTIzOTJlZGNmNzEzNTUxYzE3NiIsICJyb2xlcyI6IFt7Im5hbWUiOiAiYWRtaW4ifV0sICJuYW1lIjogInN3aWZ0In0sICJtZXRhZGF0YSI6IHsiaXNfYWRtaW4iOiAwLCAicm9sZXMiOiBbIjdiZDQ3OTk4MjBjZTQ1ZDk5YWRkMTNjM2JhMTg0MTkzIl19fX0xggGBMIIBfQIBATBcMFcxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVVbnNldDEOMAwGA1UEBwwFVW5zZXQxDjAMBgNVBAoMBVVuc2V0MRgwFgYDVQQDDA93d3cuZXhhbXBsZS5jb20CAQEwBwYFKw4DAhowDQYJKoZIhvcNAQEBBQAEggEAaEOBwr7BFEYUal21m4Kn8Wsyc9cX2KkJa7T1nUvS6nAKY6j7iregI5150xOIaFviWR1Drts1yC37OoX3OTs4xiCRw0LSFUYtAObMuCMyIS3gotTXg57wZ-OqJlAIFA-qLkG6U0+6IEfzcq6PIHsnZAQtqEQD+x3R6qArPObrWGbNcsXTTdX0o-bkUtk3Fy8hlfzRDJYRoWVZrqy6VRq7j95LffBW1HSo5V4b0d3qs1lajy5Wfh-f0B7wzdlN+Ka4FyPJ-120PzsKRzQM2+ELn62w3D+5QB5xkIbM9VMMlzHh5Ir3+GiqBINPILg7-iqUYv2iX4tXtUoLWYmi0sXYOw== | |
| # list accounts | |
| curl -H 'X-Auth-Token: <token>' <public-url> | |
| curl -H 'X-Auth-Token: <token>' http://192.168.33.20:8080/v1/AUTH_2a5b67092df94b19a9e33d6dcd2a3ad7 | |
| #output in json - <url>?format=json | |
| curl -H 'X-Auth-Token: <token>' http://192.168.33.20:8080/v1/AUTH_2a5b67092df94b19a9e33d6dcd2a3ad7?format=json | |
| # Create an container | |
| curl -X PUT -H "X-Auth-Token: $token" $public_url/cont1 | |
| # GET account metadata | |
| curl -X HEAD -H "X-Auth-Token: $token" $public_url | |
| # create a container | |
| curl -X PUT -H "X-Auth-Token: $token" $public_url/cont1 | |
| #create an object - contents in file | |
| curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: text/html; charset=UTF-8" $public_url/cont1/obj1 -T file | |
| # GET an object | |
| curl -X GET -H "X-Auth-Token: $token" -H $public_url/cont1/obj1 | |
| # DELETE an object | |
| curl -X DELETE -H "X-Auth-Token: $token" $public_url/cont1/obj5 | |
| # POST(Modify) an object meta data | |
| # Note - you need to specify all meta data again if you need to add new | |
| # if just new one is specified, the earlier ones are overwritten | |
| # to just append meta data, do COPY | |
| curl -i -X POST -H "X-Auth-Token: $token" $public_url/cont1/obj4 -H "X-Object-Meta-name2: acd" | |
| # COPY - copy an object from one container to another | |
| # same as PUT using with the X-Copy-From request header | |
| # this appends to existing metada if any meata tag is specified | |
| curl -i -H "X-Auth-Token: $token" -X COPY $public_url/cont1/obj4 -H "Destination: cont2/obj3" -H "X-Object-Meta-Meta67: hello" | |
| OR | |
| curl -i -X PUT -H "X-Auth-Token: $token" $public_url/cont2/obj3 -H "X-Copy-From: /cont2/obj3" -H "Content-Length: 0" | |
| # if you want to append meta data to existing object Use COPY | |
| # COPY with source and destination being same | |
| curl -i -X PUT -H "X-Auth-Token: $token" $public_url/cont2/obj3 -H "X-Copy-From: /cont2/obj3" -H "Content-Length: 0" -H "X-Object-Meta-AppendMeta: Metaadd" | |
| # HEAD - get object meta data | |
| curl -i -X HEAD -H "X-Auth-Token: $token" $public_url/cont2/obj3 | |
| # change acl for a container | |
| # must be of admin/swiftoperator role in keystone | |
| # Operator roles is the role which user would be allowed to manage a | |
| # tenant and be able to create container or give ACL to others. | |
| curl -X POST -H "X-Auth-Token: $token_operator" -H "X-Container-Read: tenant1:user2" $public_url/cont1 | |
| ## get information about a cluster | |
| curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://127.0.0.1:8080/info | |
| (swift-env)[keshava@kbook ~]$ curl -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://127.0.0.1:8080/info | python -m json.tool | |
| % Total % Received % Xferd Average Speed Time Time Time Current | |
| Dload Upload Total Spent Left Speed | |
| 100 1118 100 1118 0 0 159k 0 --:--:-- --:--:-- --:--:-- 181k | |
| { | |
| "account_quotas": {}, | |
| "bulk_delete": { | |
| "max_deletes_per_request": 10000, | |
| "max_failed_deletes": 1000 | |
| }, | |
| "bulk_upload": { | |
| "max_containers_per_extraction": 10000, | |
| "max_failed_extractions": 1000 | |
| }, | |
| "container_quotas": {}, | |
| "crossdomain": {}, | |
| "ratelimit": { | |
| "account_ratelimit": 0.0, | |
| "container_listing_ratelimits": [], | |
| "container_ratelimits": [], | |
| "max_sleep_time_seconds": 60.0 | |
| }, | |
| "slo": { | |
| "max_manifest_segments": 1000, | |
| "max_manifest_size": 2097152, | |
| "min_segment_size": 1048576 | |
| }, | |
| "staticweb": {}, | |
| "swift": { | |
| "account_autocreate": true, | |
| "account_listing_limit": 10000, | |
| "allow_account_management": true, | |
| "container_listing_limit": 10000, | |
| "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": [ | |
| { | |
| "default": true, | |
| "name": "gold" | |
| }, | |
| { | |
| "name": "silver" | |
| } | |
| ], | |
| "strict_cors_mode": true, | |
| "version": "2.1.0.71.g8482195" | |
| }, | |
| "tempauth": { | |
| "account_acls": true | |
| }, | |
| "tempurl": { | |
| "methods": [ | |
| "GET", | |
| "HEAD", | |
| "PUT", | |
| "POST", | |
| "DELETE" | |
| ] | |
| } | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment