Created attachment 846803 [details] volumes log Description of problem: I created a volume in gluster storage and set root squash to in added uid and gis 165 to the volume and created a new volume. we get an error in creating the volume: 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp ProcessExecutionError: Unexpected error while running command. 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Command: sudo cinder-rootwrap /etc/cinder/rootwrap.conf truncate -s 10G /var/lib/cinder/mnt/59ed8cb64fc8948968a29181234051a2/volume-e3e2c8e1-66fa-4dda-a7a7-9c68514d596a 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Exit code: 1 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Stdout: '' 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Stderr: "/usr/bin/truncate: cannot open `/var/lib/cinder/mnt/59ed8cb64fc8948968a29181234051a2/volume-e3e2c8e1-66fa-4dda-a7a7-9c68514d596a' for writing: Permission denied\n" Version-Release number of selected component (if applicable): openstack-cinder-2014.1-0.2.b1.el6.noarch How reproducible: 100% Steps to Reproduce: 1. install openstack with gluster storage when cinder is stand alone. 2. change /var/lib/cinder/ to cinder:cinder and add uid/gid 165 + root squash in gluster volume 3. try to create a volume Actual results: we fail to create a volume when root squash is on Expected results: we should be able to create the volume Additional info: 2014-01-07 19:09:31.670 4939 TRACE cinder.volume.flows.create_volume 2014-01-07 19:09:31.672 4939 ERROR cinder.openstack.common.rpc.amqp [req-e25ccc82-d984-4f9e-b498-c88f02e20813 8867ada03418479d9bb0253543b5b17b 29c2c5ef29c4408fb9d0a35da9f04e14] Exception during message handling 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Traceback (most recent call last): 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/amqp.py", line 441, in _process_data 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp **args) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/openstack/common/rpc/dispatcher.py", line 148, in dispatch 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp return getattr(proxyobj, method)(ctxt, **kwargs) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/utils.py", line 823, in wrapper 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp return func(self, *args, **kwargs) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/volume/manager.py", line 267, in create_volume 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp flow.run(context.elevated()) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/taskflow/decorators.py", line 105, in wrapper 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp return f(self, *args, **kwargs) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/taskflow/patterns/linear_flow.py", line 232, in run 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp run_it(r) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/taskflow/patterns/linear_flow.py", line 212, in run_it 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp self.rollback(context, cause) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib64/python2.6/contextlib.py", line 23, in __exit__ 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp self.gen.next() 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/taskflow/patterns/linear_flow.py", line 172, in run_it 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp result = runner(context, *args, **kwargs) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/taskflow/utils.py", line 260, in __call__ 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp self.result = self.task(*args, **kwargs) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/volume/flows/create_volume/__init__.py", line 1502, in __call__ 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp **volume_spec) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/volume/flows/create_volume/__init__.py", line 1473, in _create_raw_volume 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp return self.driver.create_volume(volume_ref) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/openstack/common/lockutils.py", line 247, in inner 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp retval = f(*args, **kwargs) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/volume/drivers/glusterfs.py", line 209, in create_volume 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp self._do_create_volume(volume) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/volume/drivers/glusterfs.py", line 969, in _do_create_volume 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp self._create_sparsed_file(volume_path, volume_size) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/volume/drivers/nfs.py", line 206, in _create_sparsed_file 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp path, run_as_root=True) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/utils.py", line 143, in execute 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp return processutils.execute(*cmd, **kwargs) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp File "/usr/lib/python2.6/site-packages/cinder/openstack/common/processutils.py", line 173, in execute 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp cmd=' '.join(cmd)) 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp ProcessExecutionError: Unexpected error while running command. 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Command: sudo cinder-rootwrap /etc/cinder/rootwrap.conf truncate -s 10G /var/lib/cinder/mnt/59ed8cb64fc8948968a29181234051a2/volume-e3e2c8e1-66fa-4dda-a7a7-9c68514d596a 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Exit code: 1 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Stdout: '' 2014-01-07 19:09:31.672 4939 TRACE cinder.openstack.common.rpc.amqp Stderr: "/usr/bin/truncate: cannot open `/var/lib/cinder/mnt/59ed8cb64fc8948968a29181234051a2/volume-e3e2c8e1-66fa-4dda-a7a7-9c68514d596a' for writing: Permission denied\n"
Dafna, I agree that this ought to work, but the fix will need to happen upstream. Can you open this in launchpad, link the bug here in the "External Bug Trackers" section, and then close this as UPSTREAM?
created a bug upstream but this should not be closed if gluster related. and in any case, we should have a corresponding downstream bug.
Eric, can you please take a look to see if its cinder code related or gluster driver related?
(In reply to Dafna Ron from comment #5) > Eric, can you please take a look to see if its cinder code related or > gluster driver related? As far as I can tell, this is basically expected behavior at present. GlusterFS root squash = only the Cinder user can write to this share. At present, volumes are created as root using sudo, which fails here. We want to move the direction of doing everything as the Cinder user anyway, so we should consider this an enhancement request and work on supporting it.
Eric: I am reviewing old RDO bugs. Do you know if there has been any changed in this behavior since comment #6?
(In reply to Lars Kellogg-Stedman from comment #7) No change yet, this may be supported when the GlusterFS driver supports the nas_secure_file_operations option. For now using root squash is not a supported configuration.
The GlusterFS driver has been removed from Cinder upstream.