Bug 1014046

Summary: openstack-swift-proxy: IOError: [Errno 2] No such file or directory: '/etc/swift/object.ring.gz'
Product: [Fedora] Fedora Reporter: Matthias Runge <mrunge>
Component: openstack-swiftAssignee: Silas Sewell <silas>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: apevec, breu, david, derekh, itamar, jonathansteffan, markmc, mmagr, rbryant, silas, zaitcev
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-01 14:32:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matthias Runge 2013-10-01 10:17:03 UTC
Description of problem:


openstack-swift-proxy.service - OpenStack Object Storage (swift) - Proxy Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-swift-proxy.service; disabled)
   Active: failed (Result: exit-code) since Tue 2013-10-01 12:09:02 CEST; 1min 58s ago
  Process: 18647 ExecStart=/usr/bin/swift-proxy-server /etc/swift/proxy-server.conf (code=exited, status=1/FAILURE)

Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: self._reload(force=True)
Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: File "/usr/lib/python2.7/site-packages/swift/common/ring/ring.py", line 146, in _reload
Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: ring_data = RingData.load(self.serialized_path)
Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: File "/usr/lib/python2.7/site-packages/swift/common/ring/ring.py", line 63, in load
Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: gz_file = GzipFile(filename, 'rb')
Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: File "/usr/lib64/python2.7/gzip.py", line 94, in __init__
Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
Oct 01 12:09:02 turing.berg.ol swift-proxy-server[18647]: IOError: [Errno 2] No such file or directory: '/etc/swift/object.ring.gz'
Oct 01 12:09:02 turing.berg.ol systemd[1]: openstack-swift-proxy.service: main process exited, code=exited, status=1/FAILURE
Oct 01 12:09:02 turing.berg.ol systemd[1]: Unit openstack-swift-proxy.service entered failed state.

/etc/swift/
|-- account-server
|-- account-server.conf
|-- container-server
|-- container-server.conf
|-- object-expirer.conf
|-- object-server
|-- object-server.conf
|-- proxy-server
|-- proxy-server.conf
`-- swift.conf


I just installed openstack-swift (1.9.1)
  Updating   : openstack-swift-1.9.1-2.fc21.noarch                         1/12 
  Updating   : openstack-swift-plugin-swift3-1.7-3.fc20.noarch             2/12 
  Updating   : openstack-swift-proxy-1.9.1-2.fc21.noarch                   3/12 
  Updating   : openstack-swift-object-1.9.1-2.fc21.noarch                  4/12 
  Updating   : openstack-swift-container-1.9.1-2.fc21.noarch               5/12 
  Updating   : openstack-swift-account-1.9.1-2.fc21.noarch                 6/12 

Basically, this was a package install on f19, and then a swift upgrade to rawhides version. I did not do any configuration. Just package install.

Are there further steps required?

Comment 1 Pete Zaitcev 2013-10-01 14:32:24 UTC
Matthias, please have a look at these:

https://access.redhat.com/site/documentation/en-US/Red_Hat_OpenStack/3/html/Installation_and_Configuration_Guide/Building_Object_Storage_Ring_Files.html
http://docs.openstack.org/grizzly/openstack-object-storage/admin/content/preparing-the-ring.html

People versed in RDO and RHOS generally recommend using Packstack.
I am old-fashioned and crusty, so I just run ring builders by hand.

I'm going to close this as NOTABUG, for now at least. There does not
appear to be a way to have some kind of minimally useful ring layout
configurated automatically when RPMs are installed without hurting
people who install the multinode. And multinode is more important
than small and test installs.