Ask Your Question
0

swiftclient:Account HEAD failed 400 Bad Request

asked 2015-02-19 14:28:54 -0500

eugene.goldberg gravatar image

I have swift and keystone installed atop of Fedora 21. The keystone endpoint is:

cb7628b1341f444586e3a8f1514727c3 | RegionOne | http://127.0.0.1:8080/v2.0/AUTH_c36b8bb29ea947ce922f42389004648b | http://127.0.0.1:8080/v2.0 | http://127.0.0.1:8080/v2.0 | 8c90a8900abe45ad83aa5b04df957e80

The commands I di d to establish the swift rings were:

# swift-ring-builder account.builder add z1-127.0.0.1:6002/partition1 100
# swift-ring-builder container.builder add z1-127.0.0.1:6001/partition1 100
# swift-ring-builder object.builder add z1-127.0.0.1:6000/partition1 100

My proxy-server.conf file is:

[DEFAULT]
bind_port = 8080
user = swift

[pipeline:main]
pipeline = healthcheck cache authtoken keystoneauth proxy-server

[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = true

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

[filter:authtoken]
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 = 127.0.0.1
auth_port = 35357
# the service tenant and swift username and password created in Keystone
admin_tenant_name = admin
admin_user = admin
admin_password = mast3r

[filter:cache]
use = egg:swift#memcache

[filter:catch_errors]
use = egg:swift#catch_errors

[filter:healthcheck]
use = egg:swift#healthcheck

The /etc/memcached.conf file is:

[memcache]
# You can use this single conf file instead of having memcache_servers set in
# several other conf files under [filter:cache] for example. You can specify
# multiple servers separated with commas, as in: 10.1.2.3:11211,10.1.2.4:11211
# memcache_servers = 127.0.0.1:11211
#
# Sets how memcache values are serialized and deserialized:
# 0 = older, insecure pickle serialization
# 1 = json serialization but pickles can still be read (still insecure)
# 2 = json serialization only (secure and the default)
# To avoid an instant full cache flush, existing installations should
# upgrade with 0, then set to 1 and reload, then after some time (24 hours)
# set to 2 and reload.
# In the future, the ability to use pickle serialization will be removed.
# memcache_serialization_support = 2
#
# Sets the maximum number of connections to each memcached server per worker
# memcache_max_connections = 2
#
# Timeout for connection
# connect_timeout = 0.3
# Timeout for pooled connection
# pool_timeout = 1.0
# number of servers to retry on failures getting a pooled connection
# tries = 3
# Timeout for read and writes
# io_timeout = 2.0
-l 127.0.0.1

The object-server.conf file is:

[DEFAULT]

# Make sure your swift-ring-builder arguments match the bind_ip and bind_port.
# You almost certainly do not want to listen just on loopback unless testing.
# However, you want to keep port 6200 if SElinux is enabled.
bind_ip = 127.0.0.1
bind_port = 6002

workers = 3

[pipeline:main]
pipeline = object-server

[app:object-server]
use = egg:swift#object

[object-replicator]

[object-updater]

[object-auditor]

[DEFAULT]

# Make sure your swift-ring-builder arguments match the bind_ip and bind_port.
# You almost certainly do not want to listen just on loopback unless testing.
# However, you want to keep port 6202 if SElinux is enabled.
bind_ip = 127.0.0.1
bind_port = 6202

workers = 2

[pipeline:main]
pipeline = account-server

[app:account-server]
use = egg:swift#account

[account-replicator ...
(more)
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2015-02-19 15:15:22 -0500

eugene.goldberg gravatar image

In my case, the reason for the 404 error was a mismatch between the swift ring IP ports and the values inside the .config file. With everything else listed as above, my correct values were: account-server.conf - bind_port = 6002; container-server.conf - bind_port = 6001; object-server.conf - bind_port = 6000; proxy-server.conf - bind_port = 8080

edit flag offensive delete link more

Comments

Is 404 issue solved?

Varsha gravatar imageVarsha ( 2015-02-20 11:21:35 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2015-02-19 14:28:54 -0500

Seen: 937 times

Last updated: Feb 19 '15