Software Development Kit (SDK) and API Discussions
Software Development Kit (SDK) and API Discussions
Hello everybody,
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 .
<lun-map-list-info>
<path></path>
</lun-map-list-info>
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
Nassim
Solved! See The Solution
Hi Nassim,
If you want only mapped attrib you can use lun-list-info and get the mapped parameter of lun-info.
François
Hi Nassim,
If you want only mapped attrib you can use lun-list-info and get the mapped parameter of lun-info.
François
Hi Francois,
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.
Nassim
Hello Nassim,
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)
{
if (!$naigroup.name.StartsWith("via"))
{
#Just use the first initiator in igroup.
$nawwn = $naigroup.Initiators[0]
if ($nawwn)
{
$naluns = Get-NaLunMapByInitiator -Initiator $nawwn
Write-Host "Get information for " $naigroup.Name " with " $naluns.count " lun(s)"
$luncount = 0
ForEach ($lun in $naluns)
{
$luncount+=1
$lunfilerpath = $lun.path
$lunfilerid = $lun.LunId
$lunfilerig = $naigroup.Name
[string]$filername= $filer.Value
$newlun= Newlunfiler $lunfilerpath $lunfilerid $lunfilerig $filername
$global:mylunsfiler+=$newlun
# Debug
# Write-Host "Retrieve LUN information --> " $luncount")" $lunfilerpath":"$lunfilerid
}
}
}
}
Hi François,
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.
Regards,
Nassim