In this chapter, we will examine some of the common troubleshooting scenarios you may encounter when working with OpenStack object storage, otherwise known as Swift. In the last chapter, you learned about troubleshooting OpenStack block storage. In this chapter, we will explore object storage. Access to data in object storage is achieved through an API as opposed to direct filesystem access; that is, object storage is not a hard drive. As a result, our troubleshooting techniques will not follow the typical troubleshooting techniques that are used when troubleshooting block storage. However, there are some things that you need not worry much about with Swift object storage. The system is designed to store your data durably. Swift is designed to expect failure, which also makes a properly configured installation extremely durable. The topics we will cover in this chapter are as follows:
Swift spawns several processes. When troubleshooting, you will want to confirm that each process is running without any issue. In particular, you want to confirm that the main processes are active and running as expected. The following are the names of the main processes:
The Swift proxy server acts as a gateway to the service. The proxy server is where the Swift API listens for requests. There are several errors that may point to the fact that the Swift proxy server isn't running. The swift list
command will list the containers under an account. In the following example, instead of returning a list of containers, this command returned an error:
The preceding connection error is an example of what you might see when attempting to use the Swift command-line tool when the proxy server is not running. If you attempt to use the Swift API when the proxy server is in this state, you are likely to see an error similar to the one shown here:
The quickest way to resolve this is by starting the proxy-server
service. You can do this by using the swift-init
tool:
swift-init main start