Cinder + LVM: No valid host found

Asked by Peter Hamilton

I am setting up a single-node deployment of OpenStack Havana and have had some trouble getting the LVM backend configuration working with Cinder. I've limited my LVM testing to using a small loopfile as the backing file. I've gone through the process of creating the default physical volume/volume group while setting the appropriate configuration parameters in /etc/cinder/cinder.conf. However, when I issue a cinder create call I get the following error in /var/log/cinder/cinder-scheduler.log:

Failed to schedule_create_volume: No valid host was found.

The following is the content of /etc/cinder/cinder.conf and the results of a few LVM and cinder commands. Any help would be greatly appreciated.

/etc/cinder/cinder.conf
[DEFAULT]
rootwrap_config = /etc/cinder/rootwrap.conf
api_paste_confg = /etc/cinder/api-paste.ini
iscsi_helper = tgtadm
volume_driver = cinder.volume.drivers.lvm.LVMISCSIDriver
volume_name_template = volume-%s
volume_group = cinder-volumes
volume_backend_name = LVM_iSCSI
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/cinder/volumes
rabbit_host = localhost
rabbit_port = 5672
# Change the following settings if you're not using the default RabbitMQ
# configuration
#rabbit_userid = guest
#rabbit_password = guest
#rabbit_virtual_host = /nova
[database]
# The SQLAlchemy connection string used to connect to the
# database (string value)
connection = mysql://cinder:password@localhost/cinder

$ cinder extra-specs-list
+--------------------------------------+------+----------------------------------------+
| ID | Name | extra_specs |
+--------------------------------------+------+----------------------------------------+
| 700fedbd-16b0-4575-b332-0fd02389a4e4 | LVM | {u'volume_backing_name': u'LVM_iSCSI'} |
+--------------------------------------+------+----------------------------------------+

$ cinder list
+--------------------------------------+--------+---------------+------+-------------+----------+-------------+
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+--------+---------------+------+-------------+----------+-------------+
| 72d04c98-eaf9-4080-ac9d-399ff64db2b5 | error | LVM-volume-11 | 1 | LVM | false | |
+--------------------------------------+--------+---------------+------+-------------+----------+-------------+

$ cinder-manage host list
host zone
ducksauce nova

$ pvscan
  PV /dev/loop2 VG cinder-volumes lvm2 [2.00 GiB / 2.00 GiB free]
  Total: 1 [2.00 GiB] / in use: 1 [2.00 GiB] / in no VG: 0 [0 ]

$ vgdisplay
  --- Volume group ---
  VG Name cinder-volumes
  System ID
  Format lvm2
  Metadata Areas 1
  Metadata Sequence No 1
  VG Access read/write
  VG Status resizable
  MAX LV 0
  Cur LV 0
  Open LV 0
  Max PV 0
  Cur PV 1
  Act PV 1
  VG Size 2.00 GiB
  PE Size 4.00 MiB
  Total PE 511
  Alloc PE / Size 0 / 0
  Free PE / Size 511 / 2.00 GiB
  VG UUID XAPfo6-Yf7l-NQVr-wXqm-e3Mx-Wl2z-7cj31D

Thanks,
Peter Hamilton

Question information

Language:
English Edit question
Status:
Solved
For:
Cinder Edit question
Assignee:
No assignee Edit question
Solved by:
Peter Hamilton
Solved:
Last query:
Last reply:
Revision history for this message
Peter Hamilton (peter-hamilton) said :
#1

I talked with John Griffith on the #openstack-cinder IRC channel and fixed two problems:

1. The volume_backend_name setting in /etc/cinder/cinder.conf is not needed if you are only using one type of backend storage.
2. Be sure to restart the cinder-scheduler service before restarting the cinder-volume service whenever you change configuration settings. I had reversed the two and this seems to have perpetuated my problem.

Once I made those changes, cinder create worked as expected.