swift diy saio with external keystone 503 error problems [closed]

asked 2014-07-16 07:47:27 -0600

sledge gravatar image

updated 2014-08-19 12:49:44 -0600

briancline gravatar image

Hi i'm pretty new to swift and I try to figure what is wrong with my setup, everything is running on ubuntu 14.04 lts.

My proxy-server and my object-account-container server are on the same host and my keystone service is on another host.

I have 1 public ip and 1 private ip public:172.4.317.9 private:

I followed this guide **tp://docs.openstack.org/icehouse/install-guide/install/apt/content/ch_swift.html carefully

Now at the verification step the command swift stat is responding with

*swift stat
       Account: AUTH_1bc42c78b16e487f836a2b2acc875cfg
    Containers: 0
       Objects: 0
         Bytes: 0
 Accept-Ranges: bytes
   X-Timestamp: 1405508083.59894
    X-Trans-Id: tx3b75e1cf0134498d88d4c-0053c76b59
  Content-Type: text/plain; charset=utf-8*

When I try the upload command it fails creating the container with the following error

*swift upload myfiles test.txt
Error trying to create container 'myfiles': 503 Internal Server Error: /Service Unavailable\The server is currently
Object HEAD failed: **tp://172.4.317.9:8080/v1/AUTH_1bc42c78b16e487f836a2b2acc875cfg/myfiles/test.txt 503 Internal Server Error*

here is the .conf in /etc/swift


bind_port = 8080
user = swift

pipeline = healthcheck cache authtoken keystoneauth proxy-server

use = egg:swift#proxy
allow_account_management = true
account_autocreate = true

use = egg:swift#keystoneauth
operator_roles = Member,admin,swiftoperator

paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory

# Delaying the auth decision is required to support token-less
# usage for anonymous referrers ('.r:*').
delay_auth_decision = true

# auth_* settings refer to the Keystone server
auth_protocol = http
auth_host = 342.92.230.51
auth_port = 35357

# the service tenant and swift username and password created in Keystone
admin_tenant_name = service
admin_user = swift
admin_password = t5Dc%bc

use = egg:swift#memcache

use = egg:swift#catch_errors

use = egg:swift#healthcheck


bind_ip =
workers = 2
mount_check = false

pipeline = object-server

use = egg:swift#object





bind_ip =
workers = 2
mount_check = false

pipeline = account-server

use = egg:swift#account





bind_ip =
workers = 2
mount_check = false

pipeline = container-server

use = egg:swift#container





the output of swift-ring-builder account.builder

swift-ring-builder account.builder
account.builder, build version 5
32768 partitions, 2.000000 replicas, 1 regions, 1 zones, 5 devices, 0.01 balance
The minimum number of hours before a partition can be reassigned is 1
Devices:    id  region  zone      ip address  port  replication ip  replication port      name weight partitions balance meta
             0       1     1  6001              6001      sda1 100.00      13107   -0.00 
             1       1     1  6002              6002      sdb1 100.00      13107   -0.00 
             2       1     1  6003              6003      sdc1 100.00      13107   -0.00 
             3       1     1  6004              6004      sdf1 100.00      13107   -0.00 
             4       1     1  6005 ...
edit retag flag offensive reopen merge delete

Closed for the following reason the question is answered, right answer was accepted by SamYaple
close date 2014-07-17 08:13:03.871935


Can you please post the output of these commands? They should be run in /etc/swift. swift-ring-builder account.builderswift-ring-builder container.builderswift-ring-builder object.builder

SamYaple gravatar imageSamYaple ( 2014-07-16 08:42:55 -0600 )edit

2 answers

Sort by ยป oldest newest most voted

answered 2014-07-16 08:51:11 -0600

SamYaple gravatar image

updated 2014-07-16 09:28:49 -0600

You have auth_host = 342.92.230.51 in your proxy-server.conf. That is not a valid ip address.

Also, You are incrementing the ports when you don't need to be. All accounts can share a port, all containers can share a port, all objects can share a port. Not keeping them the same leads to painful management later.

swift-ring-builder account.builder add z1- 100
swift-ring-builder container.builder add z1- 100
swift-ring-builder object.builder add z1- 100

swift-ring-builder account.builder add z1- 100
swift-ring-builder container.builder add z1- 100
swift-ring-builder object.builder add z1- 100

swift-ring-builder account.builder add z1- 100
swift-ring-builder container.builder add z1- 100
swift-ring-builder object.builder add z1- 100

You can use a nonstandard port (something other than 6000, 6001, 6002), but it is best practice that they match for that node at least. This is not a requirement.

edit flag offensive delete link more

answered 2014-07-16 09:20:32 -0600

sledge gravatar image

That was the solution, everything is working now.

the auth_host = 342.92.230.51 is a fake ip but thanks for pointing out.

I am extremely thankful right now, thanks for the fast answer. I wish I could have the same level of help with Avid products.

kind regards

edit flag offensive delete link more


You're welcome. Are you having any other issue with this? If not please accept the answer and close the question if it is resolved for you.

SamYaple gravatar imageSamYaple ( 2014-07-16 09:30:10 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2014-07-16 07:46:09 -0600

Seen: 550 times

Last updated: Jul 16 '14