Software Development Kit (SDK) and API Discussions

Get Mapped LUNs with ONTAPI

NASSIM_SEN

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

 

1 ACCEPTED SOLUTION

francoisbnc

Hi Nassim,

If you want only mapped attrib you can use lun-list-info and  get the mapped parameter of lun-info.

François


View solution in original post

4 REPLIES 4

francoisbnc

Hi Nassim,

If you want only mapped attrib you can use lun-list-info and  get the mapped parameter of lun-info.

François


View solution in original post

NASSIM_SEN

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

francoisbnc

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

 

                              }

                    }

               }

            }

NASSIM_SEN

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

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public