OpenStack Discussions
OpenStack Discussions
Hi guys,
We have troubles running cinder-volume with NetAppNFSDriver in Folsom.
Whatever we do, we end up getting
2012-12-10 17:11:15 24143 CRITICAL cinder [-] netapp_wsdl_url is not set
2012-12-10 17:11:15 24143 TRACE cinder Traceback (most recent call last):
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/bin/cinder-volume", line 48, in <module>
2012-12-10 17:11:15 24143 TRACE cinder service.wait()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 422, in wait
2012-12-10 17:11:15 24143 TRACE cinder _launcher.wait()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 127, in wait
2012-12-10 17:11:15 24143 TRACE cinder service.wait()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166, in wait
2012-12-10 17:11:15 24143 TRACE cinder return self._exit_event.wait()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
2012-12-10 17:11:15 24143 TRACE cinder return hubs.get_hub().switch()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in switch
2012-12-10 17:11:15 24143 TRACE cinder return self.greenlet.switch()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in main
2012-12-10 17:11:15 24143 TRACE cinder result = function(*args, **kwargs)
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 88, in run_server
2012-12-10 17:11:15 24143 TRACE cinder server.start()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/cinder/service.py", line 159, in start
2012-12-10 17:11:15 24143 TRACE cinder self.manager.init_host()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/cinder/volume/manager.py", line 94, in init_host
2012-12-10 17:11:15 24143 TRACE cinder self.driver.do_setup(ctxt)
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/nova/volume/netapp_nfs.py", line 68, in do_setup
2012-12-10 17:11:15 24143 TRACE cinder self.check_for_setup_error()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/nova/volume/netapp_nfs.py", line 73, in check_for_setup_error
2012-12-10 17:11:15 24143 TRACE cinder NetAppNFSDriver._check_dfm_flags()
2012-12-10 17:11:15 24143 TRACE cinder File "/usr/lib/python2.7/dist-packages/nova/volume/netapp_nfs.py", line 118, in _check_dfm_flags
2012-12-10 17:11:15 24143 TRACE cinder raise exception.NovaException(_('%s is not set') % flag)
2012-12-10 17:11:15 24143 TRACE cinder NovaException: netapp_wsdl_url is not set
2012-12-10 17:11:15 24143 TRACE cinder
Setting netapp_wsdl_url in nova.conf, nor cinder.conf seems to have any effect.
Running version 2012.2 from Ubuntu 12.04 repositories.
Any ideas?
Marek
Solved! See The Solution
Actually it was problem with driver definition in cinder.conf.
We used
volume_driver=nova.volume.netapp _nfs.NetAppNFSDriver instead of
volume_driver=cinder.volume.netapp_nfs.NetAppNFSDriver
The code is a mess there... For some reason you have that driver in two places ../nova/volume... and ../cinder/volume...
Both could be loaded, but ../volume/nova... will fail during checks, since it is missing FLAGS that are loaded only when running driver from ../cinder/volume/...
Is there any reason to have driver in two places? Looks like someone just forgot to clean up the code when moving from nova-volume to cinder-volume.
PS: Is there any documentation available for Netapp drivers? Configuration is pretty difficult by reading source code
Could you paste your nova.conf and/or cinder.conf files? I'm wondering if there is a formatting issue in the conf file. It's hard to imagine what else might cause this particular error.
Don't forget to redact any sensitive passwords before pasting the files.
Actually it was problem with driver definition in cinder.conf.
We used
volume_driver=nova.volume.netapp _nfs.NetAppNFSDriver instead of
volume_driver=cinder.volume.netapp_nfs.NetAppNFSDriver
The code is a mess there... For some reason you have that driver in two places ../nova/volume... and ../cinder/volume...
Both could be loaded, but ../volume/nova... will fail during checks, since it is missing FLAGS that are loaded only when running driver from ../cinder/volume/...
Is there any reason to have driver in two places? Looks like someone just forgot to clean up the code when moving from nova-volume to cinder-volume.
PS: Is there any documentation available for Netapp drivers? Configuration is pretty difficult by reading source code
The drivers (essentially, but not entirely duplicate) are in both places because nova-volume is still present in Folsom. It won't be fully deprecated until Grizzly. The OpenStack Project Policy Board (the predecessor to the Foundation's Technical Committee) made the decision that all Cinder drivers included in Folsom would have to have nova-volume equivalents.
Regarding documentation, we'll make the Clustered ONTAP and NFS driver documentation available here on the NetApp Communities site. We're still polishing up final drafts, but expect to have something ready shortly.