According to the cinder volume driver support matrix, the NFS driver has supported the clone operation since Grizzly:
https://wiki.openstack.org/wiki/CinderSupportMatrix
However, clone tests fail in the NFS CI job:
http://logs.openstack.org/79/355679/1/experimental/gate-tempest-dsvm-full-devstack-plugin-nfs-nv/61652ac/logs/screen-c-vol.txt.gz#_2016-08-16_01_37_30_943
2016-08-16 01:37:30.943 ERROR oslo_messaging.rpc.server [req-03c93dd3-49ef-4b36-a6e4-a1a888e03f1e tempest-VolumesCloneTest-1411706804] Exception during message handling
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/server.py", line 133, in _process_incoming
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 150, in dispatch
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/oslo_messaging/rpc/dispatcher.py", line 121, in _do_dispatch
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/opt/stack/new/cinder/cinder/volume/manager.py", line 599, in create_volume
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server _run_flow()
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/opt/stack/new/cinder/cinder/volume/manager.py", line 587, in _run_flow
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server flow_engine.run()
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 247, in run
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server for _state in self.run_iter(timeout=timeout):
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py", line 340, in run_iter
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server failure.Failure.reraise_if_any(er_failures)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/types/failure.py", line 336, in reraise_if_any
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server failures[0].reraise()
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/types/failure.py", line 343, in reraise
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server six.reraise(*self._exc_info)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/executor.py", line 53, in _execute_task
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server result = task.execute(**arguments)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/opt/stack/new/cinder/cinder/volume/flows/manager/create_volume.py", line 821, in execute
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server context, volume_ref=volume_ref, **volume_spec)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/opt/stack/new/cinder/cinder/volume/flows/manager/create_volume.py", line 482, in _create_from_source_volume
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server model_update = self.driver.create_cloned_volume(volume_ref, srcvol_ref)
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server File "/opt/stack/new/cinder/cinder/volume/driver.py", line 1481, in create_cloned_volume
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server raise NotImplementedError()
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server NotImplementedError
2016-08-16 01:37:30.943 20676 ERROR oslo_messaging.rpc.server
Reviewed: https:/ /review. openstack. org/147186 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=2d77a7a87d6 25f47deab495529 8dad9d21a93f26
Committed: https:/
Submitter: Jenkins
Branch: master
commit 2d77a7a87d625f4 7deab4955298dad 9d21a93f26
Author: Eric Harney <email address hidden>
Date: Mon Dec 15 18:01:50 2014 -0500
NFS snapshots
This patch adds support for snapshots to the NFS driver.
This functionality is only enabled if snapshot_ support" is set to True in cinder.conf file_operations is disabled.
"nfs_
and nas_secure_
This is because compute nodes running libvirt <1.2.7 will
encounter problems with snapshot deletion, which includes
Ubuntu 14.04 and requires write access to the volumes
created by a different user. Therefore, deployers must
opt-in to this functionality if their environment is known
to support it.
Due libvirt limitations[1], apparmor must be disabled in the
compute nodes or the volume export location be added to
libvirt's default profile template[3].
Clonning volumes is only supported if the source volume
is not attached.
[1] https:/ /bugzilla. redhat. com/show_ bug.cgi? id=1361592 paste.openstack .org/show/ 570296/ paste.openstack .org/show/ 570297/
[2] http://
[3] http://
Co-Authored-By: Ankit Agrawal <email address hidden>
Co-Authored-By: Jay S. Bryant <email address hidden>
Co-Authored-By: Erlon R. Cruz <email address hidden>
Implements: blueprint nfs-snapshots
DocImpact: A new parameter is added and the clonning
limitation must be documented.
Closes-bug: #1614249 7d02a95690abbc0 7a63da77ce7
Change-Id: Iae35c722eb4b6b