The proxy server takes each request for an object and looks up locations for the account, container, or object, and routes the requests correctly. The proxy server also handles API requests.

Procedure

  1. If you are logged out, log back in to the Object Storage service.
    1. Using SSH, log in to the VMware Integrated OpenStack manager.
    2. From the VMware Integrated OpenStack manager, use SSH to log in to the controller01 node.
    3. Switch to root user.
      sudo su -
  2. Create the /etc/swift/proxy-server.conf file.

    Enter the internal VIP in the commands.

    Configure the bind_port parameter according to your deployment mode.

    • For full deployments, set the bind_port parameter to 8080.

    • For compact mode deployments, set the bind_port parameter to a value within the defined local port range of the host.

    [DEFAULT]
    bind_port = BINDPORT
    user = swift
    swift_dir = /etc/swift
    
    [pipeline:main]
    pipeline = catch_errors gatekeeper healthcheck proxy-logging container_sync bulk \
    ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo \
    versioned_writes proxy-logging proxy-server
    
    [app:proxy-server]
    use = egg:swift#proxy
    account_autocreate = True
    
    [filter:tempauth]
    use = egg:swift#tempauth
    user_admin_admin = admin .admin .reseller_admin
    user_test_tester = testing .admin
    user_test2_tester2 = testing2 .admin
    user_test_tester3 = testing3
    user_test5_tester5 = testing5 service
    
    [filter:authtoken]
    paste.filter_factory = keystonemiddleware.auth_token:filter_factory
    auth_uri = http://INTERNAL_VIP:5000
    auth_url = http://INTERNAL_VIP:35357
    auth_type = password
    project_domain_name = local
    user_domain_name = local
    project_name = admin
    username = swift
    password = password
    delay_auth_decision = True
     
    [filter:keystoneauth]
    use = egg:swift#keystoneauth
    operator_roles = _member_,admin
    
    [filter:healthcheck]
    use = egg:swift#healthcheck
    
    [filter:cache]
    use = egg:swift#memcache
    
    [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

What to do next

You can now create and configure the Object Storage rings. See Create and Configure Object Storage Rings.