ViPR Controller: Error adding hosts to a cluster "":"too_many_maps_for_vol","error_code":400"

           

   Article Number:     534821                                   Article Version: 2     Article Type:    Break Fix 
   

 


Product:

 

ViPR Controller

 

Issue:

 

 

When adding new hosts to a ViPR Controller managed cluster with XtremIO attached volumes, the task fails with the following error :   

     
      {"message":"too_many_maps_for_vol","error_code":400}   
   
          
                                                             

 

 

Cause:

 

 

The volume mappings for certain volumes had reached an XtremIO limit of 64 mappings.   
    Some stale lun mappings remained from a number of decommissioned hosts.
                                                           

 

 

Resolution:

 

 

   
    1. Use the KB article KB334928  XtremIO: How to collect XtremIO log bundle for analysis by EMC Global Technical Support to collect the XtremIO log bundle for any/all XtremIO arrays that are experiencing this issue.   
   
    2. The log bundle will collect a file called "ShowLunMappings.out" which will display all lun mappings for the array it is collected on.   
   
    3. Identify any cluster volume lun mapping associations that has hit the ExtremIO limit of 64 mappings.     
     
      4. Remove any stale lun mappings from any decommissioned hosts/initiators for any volumes identified in step 3.
   
   
     
                                                           

 

 

Notes:

 

 

ViPR Controller logs   
   
    vipr3 node3 controllersvc 2019-06-12 17:40:29,050 [614934|doExportGroupCreate|9817e48a-f8d9-4cd2-b6e4-926fc37d5bb42204e99f-fdea-46c7-a955-7f6cf91981dc] ERROR  XtremIOExportOperations.java (line 1360) Export Operations failed - maskName: urn:storageos:ExportMask:8fcb1b1a-9594-4517-9d3a-052f1577a4e1:vdc1     
      com.emc.storageos.xtremio.restapi.errorhandling.XtremIOApiException: Internal Error : {"message":"too_many_maps_for_vol","error_code":400}     
          at com.emc.storageos.xtremio.restapi.XtremIOClient.checkResponse(XtremIOClient.java:85)     
          at com.emc.storageos.services.restutil.StandardRestClient.post(StandardRestClient.java:71)     
          at com.emc.storageos.xtremio.restapi.XtremIOClient.postIgnoreResponse(XtremIOClient.java:146)     
          at com.emc.storageos.xtremio.restapi.XtremIOV2Client.createLunMap(XtremIOV2Client.java:369)     
          at com.emc.storageos.volumecontroller.impl.xtremio.XtremIOExportOperations.runLunMapCreationAlgorithm(XtremIOExportOperations.java:1290)     
          at com.emc.storageos.volumecontroller.impl.xtremio.XtremIOExportOperations.createExportMask(XtremIOExportOperations.java:115)     
          at com.emc.storageos.volumecontroller.impl.xtremio.XtremIOStorageDevice.doExportCreate(XtremIOStorageDevice.java:476)     
          at com.emc.storageos.volumecontroller.impl.block.MaskingWorkflowEntryPoints.doExportGroupCreate(MaskingWorkflowEntryPoints.java:137)     
          at sun.reflect.GeneratedMethodAccessor306348.invoke(Unknown Source)     
          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:273)     
          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:1142)     
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)     
          at java.lang.Thread.run(Thread.java:745)