Software Development Kit (SDK) and API Discussions
I want to discover all mapped LUNs (-> Hosts mapping) in 7-mode using ONTAPI.
By calling <lun-map-list-info>, the <path> property must be defined .
Is there another way to discover the whole mapping without specifying the LUN path for each NetApp query.
Thanks in advance for your feedback.
Client library: manageontap-5.1
See The Solution
If you want only mapped attrib you can use lun-list-info and get the mapped parameter of lun-info.
View solution in original post
Thanks for your response, I have already used that in lun-list-info responses, and actually, I'm using it..
But regarding the initiators I can't retrieve them with lun-list-info, So I have to execute several queries for each LUN using <lun-map-list-info> --> initiator-groups, it a little bit heavy .
It will be really good if we can list all the initiators with only one request.
Do you have any ideas for this.
Thanks in advance.
To retrieve lunid of mapped LUNs in a project, I used two loops of igroup-list-info and lun-initiator-list-map-info.
lun-list-info and lun-map-list-info work as well but is slow because you have to run lun-map-list-info for each LUNs in loop.
Here an example in powershell
$naigroups = Get-NaIgroup
ForEach ($naigroup in $naigroups)
#Just use the first initiator in igroup.
$nawwn = $naigroup.Initiators
$naluns = Get-NaLunMapByInitiator -Initiator $nawwn
Write-Host "Get information for " $naigroup.Name " with " $naluns.count " lun(s)"
$luncount = 0
ForEach ($lun in $naluns)
$lunfilerpath = $lun.path
$lunfilerid = $lun.LunId
$lunfilerig = $naigroup.Name
$newlun= Newlunfiler $lunfilerpath $lunfilerid $lunfilerig $filername
# Write-Host "Retrieve LUN information --> " $luncount")" $lunfilerpath":"$lunfilerid
Currently I'm using the same logic in Java, two loops and several queries, but it's really slower when we have a million hosts.