This ‘Error 12000’ maybe encountered while exporting a VMAX3 LUN from ViPR Controller as a shared datastore to a specific ESXi Cluster. The reason for the failure is because ViPR attempts to add the new shared LUN to independent ESXi Masking Views, due to the non presence of a shared Cluster Masking View:
This issue arises in scenarios where for example the ESXi hosts already have independent Masking Views created, but no dedicated ESXi Cluster Masking View (Tenant Pod in EHC terms) has been created.
You may ask the question why each host has its own dedicated masking view?: Think Vblock/VxBlock with UCS, where each UCS ESXi blade server boots from a SAN-attached boot volume presented from the VMAX array (Vblock/VxBlock 700 series = VMAX). Further detail can be found here on how specific functioning Masking Views are configured on a Vblock/VxBlock:
Key point: dedicated exclusive Masking views are required for VMware ESXi boot volumes in addition to Cluster Masking Views for shared vmfs datastores. Please reference the following post for guidance in relation to Boot Volumes exclusive masking views and how to ingest these in ViPR:
ViPR Controller – Ingest V(x)Block UCS Boot Volumes
In the case of ViPR in this scenario it is best to ingest the boot volumes as per the guidance above and then perform the export of a shared volume which will result in ViPR skipping over the exclusive masking views ( _NO_VIPR appended to their exclusive mask name) and ViPR creating a ViPR controlled shared cluster Masking View.
Reference KB: https://support.emc.com/kb/494288
Note: if you have circumvented this error by manually creating the Cluster Masking View in advance of the first cluster wide ViPR export please ingest this Masking View to bring it under ViPR control else you may experience issues later ( if for example adding new ESXi hosts to the cluster).