From 574ec91db15955497c926f91d60c381af2f90a27 Mon Sep 17 00:00:00 2001 From: John Dewey Date: Wed, 12 Dec 2012 16:43:19 -0800 Subject: [PATCH] Set state_path and a few others to not rely on defaults I believe state_path was causing lvm to create volumes in the worng dir. 2012-12-13 00:30:54 DEBUG cinder.volume.manager [req-64dbc153-ece0-43b5-b5d3-239c438f892d cd5e66fdaffb46b98ec38033b3568ad7 b207ef4975d140da8f1afee98cffcde4] volume volume-58299 55a-c4f5-4965-a154-86ecc734ca60: creating export create_volume /usr/lib/python2.7/dist-packages/cinder/volume/manager.py:155 2012-12-13 00:30:54 31573 ERROR cinder.openstack.common.rpc.amqp [-] Exception during message handling 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp Traceback (most recent call last): 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/cinder/openstack/common/rpc/amqp.py", line 276, in _process_data 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp rval = self.proxy.dispatch(ctxt, version, method, **args) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/cinder/openstack/common/rpc/dispatcher.py", line 145, in dispatch 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/cinder/volume/manager.py", line 163, in create_volume 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp volume_ref['id'], {'status': 'error'}) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__ 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp self.gen.next() 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/cinder/volume/manager.py", line 156, in create_volume 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp model_update = self.driver.create_export(context, volume_ref) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/cinder/volume/driver.py", line 380, in create_export 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp volume_path) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/cinder/volume/iscsi.py", line 112, in create_iscsi_target 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp utils.ensure_tree(FLAGS.volumes_dir) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/dist-packages/cinder/utils.py", line 1049, in ensure_tree 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp os.makedirs(path) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.7/os.py", line 157, in makedirs 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp mkdir(name, mode) 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/dist-packages/volumes' 2012-12-13 00:30:54 31573 TRACE cinder.openstack.common.rpc.amqp --- README.md | 4 +++- attributes/default.rb | 3 +++ templates/default/cinder.conf.erb | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e65e34..ca3a655 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,9 @@ Attributes * `cinder["syslog"]["use"]` * `cinder["syslog"]["facility"]` * `cinder["syslog"]["config_facility"]` -* `cinder["platform"]` = hash of platform specific package/service names and options +* `cinder["platform"]` - hash of platform specific package/service names and options +* `cinder["volume"]["state_path"]` - Top-level directory for maintaining cinder's state +* `cinder["volume"]["volume_group"]` - Name for the VG that will contain exported volumes Templates ===== diff --git a/attributes/default.rb b/attributes/default.rb index 7029ce6..266ab5b 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -69,6 +69,9 @@ default["cinder"]["syslog"]["config_facility"] = "local2" default["cinder"]["api"]["ratelimit"] = "True" +default["cinder"]["volume"]["state_path"] = "/var/lib/cinder" +default["cinder"]["volume"]["volume_group"] = "cinder-volumes" + case platform when "fedora", "redhat", "centos" default["cinder"]["platform"] = { diff --git a/templates/default/cinder.conf.erb b/templates/default/cinder.conf.erb index 7c769ea..e978d2d 100644 --- a/templates/default/cinder.conf.erb +++ b/templates/default/cinder.conf.erb @@ -66,6 +66,7 @@ sql_connection=<%= @sql_connection %> #### (StrOpt) Directory where cinder binaries are installed # state_path=$pybasedir +state_path=<%= node["cinder"]["volume"]["state_path"] %> #### (StrOpt) Top-level directory for maintaining cinder's state my_ip=<%= node["ipaddress"] %> @@ -515,6 +516,7 @@ rabbit_port=<%= @rabbit_port %> ######## defined in cinder.volume.driver ######## # volume_group=cinder-volumes +volume_group=<%= node["cinder"]["volume"]["volume_group"] %> #### (StrOpt) Name for the VG that will contain exported volumes # num_shell_tries=3