cmode driver can not create two cifs entries on backend

Bug #1356395 reported by Valeriy Ponomaryov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Fix Released
High
Valeriy Ponomaryov

Bug Description

If we create two share-networks with same data and same 'active_directory' security service and use it for CIFS share creation: then only first creation will be successful, second will fail with next error:

2014-08-13 17:18:03.72 ERROR manila.share.manager [req-91156ac3-ca09-4ea8-93a6-d7ac5fe8dab1 cc674b8857534ab98e10290f44548b75 c1034c6ff2df458fb528a50260ac8cdb] Share be53de3b-05af-423e-9f68-5b366bf6dcea failed on creation.
2014-08-13 17:18:03.96 ERROR oslo.messaging.rpc.dispatcher [req-91156ac3-ca09-4ea8-93a6-d7ac5fe8dab1 cc674b8857534ab98e10290f44548b75 c1034c6ff2df458fb528a50260ac8cdb] Exception during message handling: NetApp api failed. Reason - 13001:Failed to get CIFS server. Reason: entry doesn't exist.
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last):
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 134, in _dispatch_and_reply
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher incoming.message))
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 177, in _dispatch
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher return self._do_dispatch(endpoint, method, ctxt, args)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 123, in _do_dispatch
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher result = getattr(endpoint, method)(ctxt, **new_args)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/manager.py", line 205, in create_share
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher self.db.share_update(context, share_id, {'status': 'error'})
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/openstack/common/excutils.py", line 82, in __exit__
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/manager.py", line 199, in create_share
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher context, share_ref, share_server=share_server)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 89, in wrap
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher return f(self, *args, **kwargs)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 594, in create_share
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher return self._create_export(share, vserver, vserver_client)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 707, in _create_export
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher export_location = helper.create_share(share_name, ip_address)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 1089, in create_share
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher host_ip, share_name = self._get_export_location(share)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 115, in send_request
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher return self._client.invoke_successfully(elem, enable_tunneling=True)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/manila/manila/share/drivers/netapp/api.py", line 224, in invoke_successfully
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher raise NaApiError(code, msg)
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher NaApiError: NetApp api failed. Reason - 13001:Failed to get CIFS server. Reason: entry doesn't exist.
2014-08-13 17:18:03.96 TRACE oslo.messaging.rpc.dispatcher
2014-08-13 17:18:03.97 ERROR oslo.messaging._drivers.common [req-91156ac3-ca09-4ea8-93a6-d7ac5fe8dab1 cc674b8857534ab98e10290f44548b75 c1034c6ff2df458fb528a50260ac8cdb] Returning exception NetApp api failed. Reason - 13001:Failed to get CIFS server. Reason: entry doesn't exist. to caller
2014-08-13 17:18:03.97 ERROR oslo.messaging._drivers.common [req-91156ac3-ca09-4ea8-93a6-d7ac5fe8dab1 cc674b8857534ab98e10290f44548b75 c1034c6ff2df458fb528a50260ac8cdb] ['Traceback (most recent call last):\n', ' File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 134, in _dispatch_and_reply\n incoming.message))\n', ' File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 177, in _dispatch\n return self._do_dispatch(endpoint, method, ctxt, args)\n', ' File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 123, in _do_dispatch\n result = getattr(endpoint, method)(ctxt, **new_args)\n', ' File "/opt/stack/manila/manila/share/manager.py", line 205, in create_share\n self.db.share_update(context, share_id, {\'status\': \'error\'})\n', ' File "/opt/stack/manila/manila/openstack/common/excutils.py", line 82, in __exit__\n six.reraise(self.type_, self.value, self.tb)\n', ' File "/opt/stack/manila/manila/share/manager.py", line 199, in create_share\n context, share_ref, share_server=share_server)\n', ' File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 89, in wrap\n return f(self, *args, **kwargs)\n', ' File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 594, in create_share\n return self._create_export(share, vserver, vserver_client)\n', ' File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 707, in _create_export\n export_location = helper.create_share(share_name, ip_address)\n', ' File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 1089, in create_share\n host_ip, share_name = self._get_export_location(share)\n', ' File "/opt/stack/manila/manila/share/drivers/netapp/cluster_mode.py", line 115, in send_request\n return self._client.invoke_successfully(elem, enable_tunneling=True)\n', ' File "/opt/stack/manila/manila/share/drivers/netapp/api.py", line 224, in invoke_successfully\n raise NaApiError(code, msg)\n', "NaApiError: NetApp api failed. Reason - 13001:Failed to get CIFS server. Reason: entry doesn't exist.\n"]

Tags: driver cmode
tags: added: cmode driver
Changed in manila:
importance: Undecided → High
Changed in manila:
assignee: nobody → Valeriy Ponomaryov (vponomaryov)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (master)

Reviewed: https://review.openstack.org/114313
Committed: https://git.openstack.org/cgit/stackforge/manila/commit/?id=3bada9a258913124ad98b53dd104abe53469d7e9
Submitter: Jenkins
Branch: master

commit 3bada9a258913124ad98b53dd104abe53469d7e9
Author: Valeriy Ponomaryov <email address hidden>
Date: Thu Aug 14 21:29:10 2014 +0300

    Fix creation of cifs entry in cmode driver

    Cmode driver tries to create NetBIOS name in cifs server and fails, because
    this name should be unique, but driver did not use unique value for it.
    Also removed silent passing when cifs entry was not created.

    Change-Id: Ic05c7a0d2e6c544d06eb5f1e255c21083e5e6938
    Closes-Bug: #1356387
    Closes-Bug: #1356395

Changed in manila:
status: In Progress → Fix Committed
Changed in manila:
status: Fix Committed → Fix Released
Changed in manila:
milestone: none → juno-3
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.