Troubleshoot your cinder installation This section is intended to help solve some basic and common errors that are encountered during setup and configuration of Cinder. The focus here is on failed creation of volumes. The most important thing to know is where to look in case of a failure. There are two log files that are especially helpful in the case of a volume creation failure. The first is the cinder-api log, and the second is the cinder-volume log. The cinder-api log is useful in determining if you have endpoint or connectivity issues. If you send a request to create a volume and it fails, it's a good idea to look here first and see if the request even made it to the Cinder service. If the request seems to be logged, and there are no errors or trace-backs then you can move to the cinder-volume log and look for errors or trace-backs there. There are some common issues to look out for. The following describes some common issues hit during configuration and some suggested solutions. Create commands are in cinder-api log with no error state_path and volumes_dir settings Cinder uses tgtd as the default iscsi helper and implements persistent targets. This means that in the case of a tgt restart or even a node reboot your existing volumes on that node will be restored automatically with their original IQN. In order to make this possible the iSCSI target information needs to be stored in a file on creation that can be queried in case of restart of the tgt daemon. By default, Cinder uses a state_path variable, which if installing via Yum or APT should be set to /var/lib/cinder/. The next part is the volumes_dir variable, by default this just simply appends a "volumes" directory to the state_path. The result is a file-tree /var/lib/cinder/volumes/. While this should all be handled for you by you installer, it can go wrong. If you're having trouble creating volumes and this directory does not exist you should see an error message in the cinder-volume log indicating that the volumes_dir doesn't exist, and it should give you information to specify what path exactly it was looking for. persistent tgt include file Along with the volumes_dir mentioned above, the iSCSI target driver also needs to be configured to look in the correct place for the persist files. This is a simple entry in /etc/tgt/conf.d, and you should have created this when you went through the install guide. If you haven't or you're running into issues, verify that you have a file /etc/tgt/conf.d/cinder.conf. If the file is not there, you can create it easily by doing the following: sudo sh -c "echo 'include /var/lib/cinder/volumes/*' >> /etc/tgt/conf.d/cinder.conf" No sign of attach call in the cinder-api log This is most likely going to be a minor adjustment to your nova.conf file. Make sure that your nova.conf has the following entry: volume_api_class=nova.volume.cinder.API And make certain that you EXPLICITLY set enabled_apis as the default will include osapi_volume: enabled_apis=ec2,osapi_compute,metadata Failed to create iscsi target error in the cinder-volume.log 2013-03-12 01:35:43 1248 TRACE cinder.openstack.common.rpc.amqp ISCSITargetCreateFailed: Failed to create iscsi target for volume volume-137641b2-af72-4a2f-b243-65fdccd38780. You may see this error in cinder-volume.log after trying to create a volume that is 1 GB. To fix this issue: Change content of the /etc/tgt/targets.conf from "include /etc/tgt/conf.d/*.conf" to: include /etc/tgt/conf.d/cinder_tgt.conf: include /etc/tgt/conf.d/cinder_tgt.conf include /etc/tgt/conf.d/cinder.conf default-driver iscsi Then restart tgt and cinder-* services so they pick up the new configuration.