Hi Shyam, No problem. The output of the commands is attached. And my test cluster is on Swift v2.15.1 with Swift3 v1.12 Also, here is the common process when I'm creating an S3 credential and using in s3curl. Hope it helps. 1. Create a user and a project, and assign a proper role. openstack project create testproject openstack user create testuser --password 123 openstack role add --project testproject --user testuser _member_ 2. Check accessibility to swift create a test-openrc file with above info source test-openrc swift list 3.Create a credential openstack credential create --type ec2 --project testproject testuser '{"access": "testaccess", "secret": "testsecret"}' 4. Use it in s3curl add the endpoint url to `my @endpoints` in s3curl.pl add the credential to .s3curl config file do `s3curl.pl -i cred_name --debug -- http://endpoint -X GET` |
[root@yuxin ~]# source admin_openrc [root@yuxin ~]# openstack credential list +------------------------------------------------------------------+------+----------------------------------+----------------------------------------------------------+----------------------------------+ | ID | Type | User ID | Data | Project ID | +------------------------------------------------------------------+------+----------------------------------+----------------------------------------------------------+----------------------------------+ | 46ed9bf036c0235deb16d6043a07e4c41712d5b7c1509fe62acbbcbfd7fb6a27 | ec2 | f925686c23164b159fa8e50fea56a779 | {"access": "testalt", "secret": "testsecret"} | 9fa44d783eda4716a3553dcff577658b | | 6410886953a4c46ed9bf036c0235deb0ee42df222fd21b1e79bad1e0ff7b027e | ec2 | 56a77946146c4297a73ccfe7c51dba2b | {"access": "wyxak", "secret": "wyxsk"} | 5646628e280043b9a6a1c3dd5dcbb48e | +------------------------------------------------------------------+------+----------------------------------+----------------------------------------------------------+----------------------------------+ [root@yuxin ~]# openstack ec2 credentials list
[root@yuxin ~]# swift info Core: swift Options: account_autocreate: True account_listing_limit: 10000 allow_account_management: True container_listing_limit: 10000 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: [{u'name': u'Policy-0', u'aliases': u'Policy-0, yellow, orange'}, {u'name': u'region-1', u'aliases': u'region-1'}, {u'name': u'component1-01', u'aliases': u'component1-01'}, {u'name': u'component1-02', u'aliases': u'component1-02'}, {u'name': u'composite1', u'aliases': u'composite1'}, {u'name': u'ec-component1', u'aliases': u'ec-component1'}, {u'name': u'ec-component2', u'aliases': u'ec-component2'}, {u'name': u'ec-composite', u'aliases': u'ec-composite'}, {u'name': u'replica-component2-1', u'aliases': u'replica-component2-1'}, {u'name': u'replica-component2-2', u'aliases': u'replica-component2-2'}, {u'name': u'replica-composite2', u'aliases': u'replica-composite2'}, {u'name': u'replica-2-11', u'aliases': u'replica-2-11'}, {u'name': u'replica-2-12', u'aliases': u'replica-2-12'}, {u'name': u'replica-2x2-13', u'aliases': u'replica-2x2-13'}, {u'name': u'ec42x2', u'aliases': u'ec42x2'}, {u'name': u'ppt', u'aliases': u'ppt, ec'}, {u'name': u'test992', u'aliases': u'test992'}, {u'default': True, u'name': u'105-local', u'aliases': u'105-local'}, {u'name': u'replica36', u'aliases': u'replica36'}, {u'name': u'replica38', u'aliases': u'replica38'}, {u'name': u'replica37', u'aliases': u'replica37'}] strict_cors_mode: True version: 2.15.1 Additional middleware: account_quotas Additional middleware: bulk_delete Options: max_deletes_per_request: 10000 max_failed_deletes: 1000 Additional middleware: bulk_upload Options: max_containers_per_extraction: 10000 max_failed_extractions: 1000 Additional middleware: container_quotas Additional middleware: container_sync Options: realms: {} Additional middleware: formpost Additional middleware: ratelimit Options: account_ratelimit: 0.0 container_listing_ratelimits: [] container_ratelimits: [] max_sleep_time_seconds: 60.0 Additional middleware: slo Options: max_manifest_segments: 1000 max_manifest_size: 2097152 min_segment_size: 1 Additional middleware: swift3 Options: allow_multipart_uploads: True max_bucket_listing: 1000 max_multi_delete_objects: 1000 max_parts_listing: 1000 max_upload_part_num: 1000 version: 1.12.0 Additional middleware: tempurl Options: incoming_allow_headers: [] incoming_remove_headers: [u'x-timestamp'] methods: [u'GET', u'HEAD', u'PUT', u'POST', u'DELETE'] outgoing_allow_headers: [u'x-object-meta-public-*'] outgoing_remove_headers: [u'x-object-meta-*'] Additional middleware: versioned_writes Options: allowed_flags: [u'x-versions-location', u'x-history-location'] [root@yuxin ~]# cat /etc/swift/proxy-server.conf | grep -v '^#' | grep -v '^$' [DEFAULT] bind_port = 8080 swift_dir = /etc/swift user = swift workers = 0 [pipeline:main] pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk formpost tempurl ratelimit authtoken swift3 s3token keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server [app:proxy-server] use = egg:swift#proxy allow_account_management = true account_autocreate = true [proxy-server:policy:14] sorting_method = affinity read_affinity = r1=100, r2=200 [filter:swift3] use = egg:swift3#swift3 set log_name = swift3 set log_facility = LOG_LOCAL0 set log_level = DEBUG location = US dns_compliant_bucket_names = false check_bucket_owner = true min_segment_size = 5242880 [filter:s3token] use = egg:swift3#s3token auth_uri = http://192.168.2.105:35357/ auth_version = 3 [filter:copy] use = egg:swift#copy [filter:authtoken] paste.filter_factory = keystonemiddleware.auth_token:filter_factory auth_uri = http://127.0.0.1:5000 auth_url = http://127.0.0.1:35357 auth_plugin = password project_domain_id = default user_domain_id = default project_name = service username = xxx password = xxx delay_auth_decision = True memcached_servers = 127.0.0.1:11211 [filter:keystoneauth] use = egg:swift#keystoneauth operator_roles = admin, swiftoperator reseller_admin_role = ResellerAdmin [filter:healthcheck] use = egg:swift#healthcheck [filter:cache] use = egg:swift#memcache memcache_servers = 192.168.2.105:11211 [filter:ratelimit] use = egg:swift#ratelimit [filter:domain_remap] use = egg:swift#domain_remap [filter:catch_errors] use = egg:swift#catch_errors [filter:cname_lookup] use = egg:swift#cname_lookup [filter:staticweb] use = egg:swift#staticweb [filter:tempurl] use = egg:swift#tempurl [filter:formpost] use = egg:swift#formpost [filter:name_check] use = egg:swift#name_check [filter:list-endpoints] use = egg:swift#list_endpoints [filter:proxy-logging] use = egg:swift#proxy_logging [filter:bulk] use = egg:swift#bulk [filter:slo] use = egg:swift#slo [filter:dlo] use = egg:swift#dlo [filter:container-quotas] use = egg:swift#container_quotas [filter:account-quotas] use = egg:swift#account_quotas [filter:gatekeeper] use = egg:swift#gatekeeper [filter:container_sync] use = egg:swift#container_sync [filter:xprofile] use = egg:swift#xprofile [filter:versioned_writes] use = egg:swift#versioned_writes allow_versioned_writes = true
|
_______________________________________________ Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack Post to : openstack@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack