ONTAP Discussions

How to uniquely identify hardware components using Manage ONTAP 8.3.2 A.P.I.

liok

Hi guys,


I'm trying to understand how I could uniquely identify hardware components (fans, power supplies, temperatures, voltages) attached to a shelf, using Manage ONTAP A.P.I. (v8.3.2).


Let's focus on the fans : I know the storage system I'm testing my queries on (which is a cluster) has 4 fans and 2 power supplies attached to its only shelf; it also has 2 nodes.

When I run the following query in ZExplorer :


<storage-shelf-environment-list-info>
    <node-name>node1</node-name>
</storage-shelf-environment-list-info>


here is what I get :


<results status='passed'>
        <shelf-environ-channel-list>
            <shelf-environ-channel-info>
                <channel-name>0a</channel-name>
                <is-channel-monitor-enabled>true</is-channel-monitor-enabled>
                <is-shelf-channel-failure>false</is-shelf-channel-failure>
                <node-name>node1</node-name>
                ...
                <shelf-environ-shelf-list>
                    <shelf-environ-shelf-info>
                        ...
                        <cooling-element-list>
                            <cooling-element-info>
                                <cooling-element-is-error>false</cooling-element-is-error>
                                <cooling-element-number>1</cooling-element-number>
                                <rpm>3000</rpm>
                            </cooling-element-info>
                            <cooling-element-info>
                                <cooling-element-is-error>false</cooling-element-is-error>
                                <cooling-element-number>2</cooling-element-number>
                                <rpm>3000</rpm>
                            </cooling-element-info>
                            <cooling-element-info>
                                <cooling-element-is-error>false</cooling-element-is-error>
                                <cooling-element-number>3</cooling-element-number>
                                <rpm>3000</rpm>
                            </cooling-element-info>
                            <cooling-element-info>
                                <cooling-element-is-error>false</cooling-element-is-error>
                                <cooling-element-number>4</cooling-element-number>
                                <rpm>3000</rpm>
                            </cooling-element-info>
                        </cooling-element-list>
                        ...
                        <is-shelf-monitor-enabled>true</is-shelf-monitor-enabled>
                        <power-supply-list>
                            <power-supply-info>
                                <is-auto-power-reset-enabled>false</is-auto-power-reset-enabled>
                                <power-supply-element-number>1</power-supply-element-number>
                                <power-supply-firmware-revision>020F</power-supply-firmware-revision>
                                <power-supply-is-error>false</power-supply-is-error>
                                <power-supply-part-no>***</power-supply-part-no>
                                <power-supply-serial-no>***</power-supply-serial-no>
                                <power-supply-swap-count>0</power-supply-swap-count>
                                <power-supply-type>9C</power-supply-type>
                            </power-supply-info>
                            <power-supply-info>
                                <is-auto-power-reset-enabled>false</is-auto-power-reset-enabled>
                                <power-supply-element-number>2</power-supply-element-number>
                                <power-supply-firmware-revision>020F</power-supply-firmware-revision>
                                <power-supply-is-error>false</power-supply-is-error>
                                <power-supply-part-no>***</power-supply-part-no>
                                <power-supply-serial-no>***</power-supply-serial-no>
                                <power-supply-swap-count>0</power-supply-swap-count>
                                <power-supply-type>9C</power-supply-type>
                            </power-supply-info>
                        </power-supply-list>
                        ...
                        <shelf-id>0</shelf-id>
                        <shelf-status>normal</shelf-status>
                        <shelf-type>iom6e</shelf-type>
                        <status-reads-attempted>1154193</status-reads-attempted>
                        <status-reads-failed>0</status-reads-failed>
                        ...
                    </shelf-environ-shelf-info>
                </shelf-environ-shelf-list>
                <shelves-present>1</shelves-present>
            </shelf-environ-channel-info>
        </shelf-environ-channel-list>
    </results>


At this point, I have 2 questions :


1) What is a channel (0a in the response) ? Does this term refer to a physical component or a logical component ?


2) The 4 cooling elements are obviously the 4 fans.

     However, my understanding is that the <cooling-element-number> attributes are not identifiers such as the serial numbers we have for the power supplies.

     If I'm correct, how could I reliably discriminate each fan ?




Now, if I run this query :


<storage-shelf-environment-list-info>
    <channel-name>0b</channel-name>
    <node-name>node1</node-name>
</storage-shelf-environment-list-info>



I get the same <cooling-element-list> and <power-supply-list>.


3) Why did the channel 0b not show up in the first response, when I did not specify any channel in the query ?


4) Is channel 0b a redundancy of channel 0a ?




Lastly, if I run the first query, but switch the nodes :


<storage-shelf-environment-list-info>
    <node-name>node2</node-name>
</storage-shelf-environment-list-info>




I still get the same <cooling-element-list> and <power-supply-list>.


5) Do all the nodes have access to the same shelves ?


6) If I have to discover all the hardware components attached to a shelf in a NetApp cluster,

     does it mean I just have to query the first node available, find the first channel available and get its <shelf-environ-shelf-list> ?


7) Same question for a 7-Mode :

     if I have to uniquely identify all the hardware components attached to a shelf, is all I have to do is get the first channel available and then its <shelf-environ-shelf-list> ?



Sorry for the long post, and if my questions are newbie-ish... I hope I made myself clear enough though.


Hopefully someone could help me understand.


Thanks guys !

0 REPLIES 0
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