The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Cisco::UCS::Interconnect - Class for operations with a Cisco UCS Fabric Interconnect

SYNOPSIS

        print 'Memory: ' . $ucs->interconnect(A)->serial . " Mb\n";

        print map { 'Interconnect ' . $_->id . ' serial: ' . $_->serial . "\n" } $ucs->get_interconnects;

DESCRIPTION

Cisco::UCS::Interconnect is a class used to represent an abstracted interface to a Cisco Fabric Interconnect object in a Cisco::UCS system. This class provides functionality to retrieve information, statistics and child objects (like Cisco::UCS::Common::EthernetPorts).

Please note that you should not need to call the constructor directly as Cisco::UCS::Interconnect objects are created for you by the methods in the Cisco::UCS package parent class.

Because of the inexorible relationship of a Cisco UCS Fabric Interconnect as a hardware platform and the concept of a Cisco UCS management entity as a logical instance of the Cisco USCM running on the hardware platform of a Cisco UCS Interconnect, some boundaries between the two become blurred within this package.

This class can be used for monitoring load and retrieving physical interface and component states and statistics, however before employing it to do so, consider that SNMP provides similar interface statistic access with less complexity without requiring session management.

METHODS

dn

Returns the distinguished name of the fabric interconnect in the UCSM management informantion model.

id

Returns the identifier (either A or B) of the fabric interconnect.

model

Returns the vendor model code of the fabric interconnect.

operability

Returns the operability status of the fabric interconnect.

serial

Returns the serial number of the fabric interconnect.

vendor

Returns the vendor identification of the fabric interconnect.

memory

Returns the total installed memory in Mb.

mgmt_ip

Returns the configured management interface IP address.

mgmt_gw

Returns the configured management interface gateway IP address.

mgmt_net

Returns the configured management interface netmask.

get_fans

        my @fans = $ucs->interconnect(A)->get_fans;
        foreach my $fan (@fans) {
                print "Fan " . $fan->id . " thermal : " . $fan->thermal . "\n";
        }
        

Returns an array of Cisco::UCS::Common::Fan objects representing the fans installed in the fabric interconnect.

PLEASE NOTE

Fan objects for Interconnects in the Cisco UCSM management information heirarchy changed from using the object identifier/description 'equipmentFan' to 'equipmentFanModule' somewhere between versions 2.0(1w) and 2.0(4a). Consequently if you find that the fan methods do not work or return no output for your installation, then please use the comparitive fanmodule methods instead.

get_fans

        my @fans = $ucs->interconnect(A)->get_fans;
        foreach my $fan (@fans) {
                print "Fan " . $fan->id . " thermal : " . $fan->thermal . "\n";
        }
        

Returns an array of Cisco::UCS::Common::Fan objects representing the fans installed in the fabric interconnect.

get_fan ( $id )

        print "Fan 1 operability: " . $ucs->interconnect(A)->fan(1)->operability . "\n";       
 

Returns a Cisco::UCS::Common::Fan object corresponding to the fans specified by the numerical identifier. Note that this is a non-caching method and when invoked will always query the UCSM. Consequently this method may be more expensive than the functionally equivalent caching fan method.

fan ( $id )

Returns a Cisco::UCS::Common::Fan object corresponding to the fans specified by the numerical identifier. Note that this is a caching method and when invoked will return an object retrieved in a previous query if one is available.

get_fanmodules ( $id )

Returns an array of Cisco::UCS::Common::Fan objects representing the fans installed in the fabric interconnect.

PLEASE NOTE : This method behaves identically to the aforementioned get_fans method but due to USCM object naming changes between later versions, this method is to be used as an alternative to the get_fans method only when the get_fans method fails to work.

get_fanmodule ( $id )

Returns a Cisco::UCS::Common::Fan object corresponding to the fans specified by the numerical identifier.

PLEASE NOTE : This method behaves identically to the aforementioned get_fan method but due to USCM object naming changes between later versions, this method is to be used as an alternative to the get_fan method only when the get_fan method fails to work.

fanmodule ( $id )

Returns a Cisco::UCS::Common::Fan object corresponding to the fans specified by the numerical identifier.

PLEASE NOTE : This method behaves identically to the aforementioned fan method but due to USCM object naming changes between later versions, this method is to be used as an alternative to the fan method only when the fan method fails to work.

get_psus

        my @psus = $ucs->interconnect(A)->get_psus;
        foreach my $psu (@psus) {
                print "PSU " . $psu->id . " thermal : " . $psu->thermal . "\n";
        }
        

Returns an array of Cisco::UCS::Common::PSU objects representing the PSUs installed in the fabric interconnect.

get_psus

        my @psus = $ucs->interconnect(A)->get_psus;
        foreach my $psu (@psus) {
                print "PSU " . $psu->id . " thermal : " . $psu->thermal . "\n";
        }
        

Returns an array of Cisco::UCS::Common::PSU objects representing the PSUs installed in the fabric interconnect.

get_psu ( $id )

        print "PSU 1 operability: " . $ucs->interconnect(A)->psu(1)->operability . "\n";
 

Returns a Cisco::UCS::Common::PSU object corresponding to the PSUs specified by the numerical identifier. Note that this is a non-caching method and when invoked will always query the UCSM. Consequently this method may be more expensive than the functionally equivalent caching psu method.

psu ( $id )

Returns a Cisco::UCS::Common::PSU object corresponding to the PSUs specified by the numerical identifier. Note that this is a caching method and when invoked will return an object retrieved in a previous query if one is available.

get_cards

        my @cards = $ucs->interconnect(A)->get_cards;
        foreach my $card (@cards) {
                print "Switchcard " . $card->id . " description : " . $card->description . "\n";
        }
        

Returns an array of Cisco::UCS::Common::SwitchCard objects representing the interface cards installed in the fabric interconnect.

get_card ( $id )

        print "Switchcard 1 operability: " . $ucs->interconnect(A)->card(1)->operability . "\n";
 

Returns a Cisco::UCS::Common::SwitchCard object corresponding to the interface card specified by the numerical identifier. Note that this is a non-caching method and when invoked will always query the UCSM. Consequently this method may be more expensive than the functionally equivalent caching card method.

card ( $id )

Returns a Cisco::UCS::Common::SwitchCard object corresponding to the interface card specified by the numerical identifier. Note that this is a caching method and when invoked will return an object retrieved in a previous query if one is available.

AUTHOR

Luke Poskitt, <ltp at cpan.org>

BUGS

Please report any bugs or feature requests to bug-cisco-ucs-interconnect at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Cisco-UCS-Interconnect. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Cisco::UCS::Interconnect

You can also look for information at:

LICENSE AND COPYRIGHT

Copyright 2012 Luke Poskitt.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.