Why I am getting error "503 Internal Server Error" for "swift list" or "swift stat" command output

Latest response

I have configured Openstack Object Storage Service using Red Hat document - https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/5/html-single/Installation_and_Configuration_Guide/index.html#chap-OpenStack_Object_Storage_Service_Installation

When I try to run "swift list" or "swift stat" command, getting following error.

[root@openstack5 ~(keystone_admin)]# swift list
Account GET failed: http://192.168.3.31:8080/v1/AUTH_86d2b2f2180e468b8e3e8eee93ff646d?format=json 503 Internal Server Error [first 60 chars of response] Service Unavailable

Root Cause:

Following parameter is missing in swift account, container and object server configurations
devices = /srv/node

grep devices /etc/swift/*.conf
/etc/swift/account-server.conf:devices = /srv/node
/etc/swift/container-server.conf:devices = /srv/node
/etc/swift/object-server.conf:devices = /srv/node

The configurations should like:

[root@openstack5 ~(keystone_admin)]# cat /etc/swift/account-server.conf
[DEFAULT]
devices = /srv/node
bind_ip = 192.168.3.31
bind_port = 6002
workers = 2
mount_check = false
user = swift
log_facility = LOG_LOCAL2

[pipeline:main]
pipeline = account-server

[app:account-server]
use = egg:swift#account
set log_name = account-server
set log_facility = LOG_LOCAL2
set log_level = INFO
set log_requests = True
set log_address = /dev/log

[account-replicator]
concurrency = 4

[account-auditor]

[account-reaper]
concurrency = 4

[root@openstack5 ~(keystone_admin)]# cat /etc/swift/container-server.conf
[DEFAULT]
devices = /srv/node
bind_ip = 192.168.3.31
bind_port = 6001
workers = 2
mount_check = false
user = swift
log_facility = LOG_LOCAL2
allowed_sync_hosts = 127.0.0.1

[pipeline:main]
pipeline = container-server

[app:container-server]
use = egg:swift#container
allow_versions = true
set log_name = @container-server
set log_facility = LOG_LOCAL2
set log_level = INFO
set log_requests = True
set log_address = /dev/log

[container-replicator]
concurrency = 4

[container-updater]
concurrency = 4

[container-auditor]

[container-sync]

[root@openstack5 ~(keystone_admin)]# cat /etc/swift/object-server.conf
[DEFAULT]
devices = /srv/node
bind_ip = 192.168.3.31
bind_port = 6000
workers = 3
mount_check = false
user = swift
log_facility = LOG_LOCAL2

[pipeline:main]
pipeline = object-server

[app:object-server]
use = egg:swift#object
set log_name = object-server
set log_facility = LOG_LOCAL2
set log_level = INFO
set log_requests = True
set log_address = /dev/log

[object-replicator]
concurrency = 4

[object-updater]
concurrency = 4

[object-auditor]

Replace IP address 192.168.3.31 with your swift server IP.

Then restart the respective services

service openstack-swift-account restart
service openstack-swift-container restart
service openstack-swift-object restart

Responses