FC fabric not found on detach, error fabric=None, brcd_fc_zone_driver with one fabric defined fc_fabric_names=fabric1
detach fails when one switch defined fc_fabric_names=BRCD_FAB_1 ERROR fabric=None:
[BRCD_FABRIC_EXAMPLE]
[fc-zone-manager]
brcd_sb_connector=cinder.zonemanager.drivers.brocade.brcd_fc_zone_client_cli.BrcdFCZoneClientCLI
fc_fabric_names=BRCD_FAB_1
zone_name_prefix=cld2b16
fc_san_lookup_service=cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService
zone_driver=cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver
zoning_policy=initiator-target
2014-06-16 14:51:10.070 ^[[01;31mERROR cinder.volume.manager [^[[01;36mreq-bfc461ae-758b-4e21-8e77-c13d58f476ad ^[[00;36m79c57ee4a50949deb260002f12ad3f5e 41192484c3a049749d0014d92715682d^[[01;31m] ^[[01;35m^[[01;31mFibre Channel connection control failure: Failed adding connection for fabric=None: Error:Failed to get SAN context Unsupported firmware on switch 10.10.20.28. Make sure switch is running firmware v6.4 or higher^[[00m
2014-06-16 14:51:10.070 ^[[01;31mERROR oslo.messaging.rpc.dispatcher [^[[01;36mreq-bfc461ae-758b-4e21-8e77-c13d58f476ad ^[[00;36m79c57ee4a50949deb260002f12ad3f5e 41192484c3a049749d0014d92715682d^[[01;31m] ^[[01;35m^[[01;31mException during message handling: Fibre Channel connection control failure: Failed adding connection for fabric=None: Error:Failed to get SAN context Unsupported firmware on switch 10.10.20.28. Make sure switch is running firmware v6.4 or higher^[[00m
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00mTraceback (most recent call last):
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 134, in _dispatch_and_reply
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m incoming.message))
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 177, in _dispatch
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m return self._do_dispatch(endpoint, method, ctxt, args)
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 123, in _do_dispatch
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m result = getattr(endpoint, method)(ctxt, **new_args)
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/opt/stack/cinder/cinder/volume/manager.py", line 845, in initialize_connection
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m self._add_or_delete_fc_connection(conn_info, 1)
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/opt/stack/cinder/cinder/volume/manager.py", line 1343, in _add_or_delete_fc_connection
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m LOG.error(e)
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/opt/stack/cinder/cinder/openstack/common/excutils.py", line 68, in __exit__
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m six.reraise(self.type_, self.value, self.tb)
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/opt/stack/cinder/cinder/volume/manager.py", line 1338, in _add_or_delete_fc_connection
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m self.zonemanager.add_connection(_initiator_target_map)
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m File "/opt/stack/cinder/cinder/zonemanager/fc_zone_manager.py", line 143, in add_connection
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m raise exception.ZoneManagerException(reason=msg)
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00mZoneManagerException: Fibre Channel connection control failure: Failed adding connection for fabric=None: Error:Failed to get SAN context Unsupported firmware on switch 10.10.20.28. Make sure switch is running firmware v6.4 or higher
^[[01;31m2014-06-16 14:51:10.070 TRACE oslo.messaging.rpc.dispatcher ^[[01;35m^[[00m
Seems to be a regression caused by https://bugs.launchpad.net/cinder/+bug/1328681
defining 2 fabrics works as expected fc_fabric_names=BRCD_FAB_1, BRCD_FAB_2
How to reproduce
1. configure FCZM
2. create FC volume
3. Attach FC volume
3. Detach FC volume
[fc-zone-manager]
brcd_sb_connector=cinder.zonemanager.drivers.brocade.brcd_fc_zone_client_cli.BrcdFCZoneClientCLI
#fc_fabric_names=BRCD_FAB_1
zone_name_prefix=cld2b16
fc_san_lookup_service=cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService
zone_driver=cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver
zoning_policy=initiator-target
[BRCD_FAB_1]
fc_fabric_address=
fc_fabric_user=
fc_fabric_password=
zoning_policy=initiator-target
zone_activate=true
[BRCD_FAB_2]
fc_fabric_address=
fc_fabric_user=
fc_fabric_password=
zoning_policy=initiator-target
zone_activate=true
Seems to work as expected with
[fc-zone-manager]
brcd_sb_connector=cinder.zonemanager.drivers.brocade.brcd_fc_zone_client_cli.BrcdFCZoneClientCLI
fc_fabric_names=BRCD_FAB_1, BRCD_FAB_2
zone_name_prefix=cld
fc_san_lookup_service=cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService
zone_driver=cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver
zoning_policy=initiator-target
Can you paste the exact definition in cinder.conf that is NOT working? From the snippet in the bug description, it looks as though BRCD_FAB_1 doesn't have values for any parameters.