ViPR Controller: Failure to create zones on Brocade/CMCNE

           

   Article Number:     530817                                   Article Version: 3     Article Type:    Break Fix 
   

 


Product:

 

ViPR Controller,ViPR Controller Controller 3.6 SP2,ViPR Controller Controller 3.6 SP1,ViPR Controller Controller 3.6,ViPR Controller Controller 3.5,ViPR Controller Controller 3.0

 

Issue:

 

 

ViPR Controller is unable to create a zone in a Brocade/Connectrix Manager Converged Network Edition (CMCNE) environment.   
   
    ViPR Controller UI error :   

          
   
      Error 22003: Message: Message: Failed to create zones for export group because of: Encountered an error while adding zones: Failed to find or create a zoneset    
   

          

                                                             

 

 

Cause:

 

 

The Brocade/CMCNE Zoneset name which ViPR-C is querying to perform zone create has illegal characters. In this example the Zoneset name, "PDC-B" contained a "-" (hyphen).    
   
     
                                                           

 

 

Change:

 

 

There was no change in this example. While the Brocade Zoneset name contains illegal characters (hyphen in this case) ViPR-C is unable to create any zones in that Brocade Zoneset.                                                           

 

 

Resolution:

 

 

   

      Workaround:   

   
         
  1.         Rename Brocade/CMCNE Zoneset name so no illegal characters are contained in the name.     
  2.      
  3.         Perform Manual CMCNE discovery in Vipr GUI     
  4.    
                                                             

 

 

Notes:

 

 

This is not a ViPR Controller  issue. This issue is related to the use of illegal characters in the CMCNE Zoneset name.   
    In this case the Brocade Zoneset with the illegal character was created in the CMCNE GUI.   
   
    No negative impact was noticed until ViPR-C leverages the CIMOM/SMI-S API to query the Brocade/CMCNE for Zonesets.   
    It's the CIMOM/SMI-S API  that ViPR-C leverages, not the CMCNE GUI, where we see negative impact.   

      Additionally in the ViPR controllersvc.log you will see the following logging:   

   

      vipr4 vipr4 controllersvc 2019-02-20 17:10:10,204 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxx]  INFO  BrocadeNetworkSMIS.java (line 1548) Start session returned code: 0       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,297 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxx]  INFO  BrocadeNetworkSystemDevice.java (line 461) Starting create zone with name SDS_ZoneName       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,311 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxxx]  INFO  BrocadeNetworkSMIS.java (line 1853) Did not find zone SDS_ZoneName in fabric 10:10:10:10:10:10:10:10. Provider message: Zone not found       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,319 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxxx]  INFO  BrocadeNetworkSMIS.java (line 1853) Did not find zone SDS_ZoneName in fabric 10:10:10:10:10:10:10:10. Provider message: Zone not found       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,319 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxx]  INFO  BrocadeNetworkSystemDevice.java (line 510) Creating a new zone SDS_ZoneName       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,319 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxxx]  INFO  BrocadeNetworkSMIS.java (line 1332) Creating zone: SDS_ZoneName       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,342 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxxx]  INFO  BrocadeNetworkSMIS.java (line 1341) Created zone: SDS_ZoneName with path /root/brocade1:Brocade_Zone.InstanceID="FABRIC=XXXXXXXXXXXXXXXX;ACTIVE=false;CLASSNAME=Brocade_Zone;NAME=SDS_ZoneName"       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,342 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b390xxxx]  INFO  BrocadeNetworkSMIS.java (line 1366) Adding zone: SDS_ZoneName to zoneset //10.10.10.10/root/brocade1:Brocade_ZoneSet.InstanceID="FABRIC=XXXXXXXXXXXXXXXX;ACTIVE=false;CLASSNAME=Brocade_ZoneSet;NAME=PDC-B"       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,357 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxxx]  INFO  BrocadeNetworkSMIS.java (line 1370) Failed to add zone: SDS_ZoneName to zoneset //10.10.10.10/root/brocade1:Brocade_ZoneSet.InstanceID="FABRIC=XXXXXXXXXXXXXXXX;ACTIVE=false;CLASSNAME=Brocade_ZoneSet;NAME=PDC-B"       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,358 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b390xxxx]  INFO  BrocadeNetworkSMIS.java (line 1371) result.intValue(): 5       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,358 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b390xxxx]  INFO  BrocadeNetworkSystemDevice.java (line 530) Failed to create zone : SDS_ZoneName       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,358 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b390xxxx]  INFO  BrocadeNetworkSystemDevice.java (line 424) Attempting to terminate zoning session.       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,375 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b3902xxxx]  INFO  BrocadeNetworkSMIS.java (line 1578) End session returned code: 0       
        vipr4 vipr4 controllersvc 2019-02-20 17:10:10,375 [14832|zoneExportMasksCreate|cf0c6e21-1cdd-4d69-9742-810ee8d164282b54fd5c-cda2-470d-a211-e622b390xxxx] ERROR  BrocadeNetworkSystemDevice.java (line 431) Failed to create zones: Failed to find or create a zoneset       
        com.emc.storageos.networkcontroller.exceptions.NetworkDeviceControllerException: Failed to find or create a zoneset       
            at com.emc.storageos.networkcontroller.impl.brocade.BrocadeNetworkSystemDevice.createZone(BrocadeNetworkSystemDevice.java:531)       
            at com.emc.storageos.networkcontroller.impl.brocade.BrocadeNetworkSystemDevice.checkAndCreateZone(BrocadeNetworkSystemDevice.java:489)       
            at com.emc.storageos.networkcontroller.impl.brocade.BrocadeNetworkSystemDevice.addZonesStrategy(BrocadeNetworkSystemDevice.java:383)       
            at com.emc.storageos.networkcontroller.impl.brocade.BrocadeNetworkSystemDevice.addZones(BrocadeNetworkSystemDevice.java:157)       
            at com.emc.storageos.networkcontroller.impl.NetworkDeviceController.addRemoveZones(NetworkDeviceController.java:428)       
            at com.emc.storageos.networkcontroller.impl.NetworkDeviceController.addRemoveZones(NetworkDeviceController.java:576)       
            at com.emc.storageos.networkcontroller.impl.NetworkDeviceController.doZoneExportMasksCreate(NetworkDeviceController.java:1068)       
            at com.emc.storageos.networkcontroller.impl.NetworkDeviceController.zoneExportMasksCreate(NetworkDeviceController.java:1006)       
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)       
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)       
            at java.lang.reflect.Method.invoke(Method.java:498)       
            at com.emc.storageos.volumecontroller.impl.Dispatcher$DeviceMethodInvoker.run(Dispatcher.java:268)       
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)       
            at java.util.concurrent.FutureTask.run(FutureTask.java:266)       
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)       
            at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)       
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)       
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)       
            at java.lang.Thread.run(Thread.java:748)