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 !