Mellanox Technologies ===================== =============================================================================== Mellanox Common Information Model (CIM) Provider for Linux README Rev 1.0.0, March 2012 Document Number: 3845 =============================================================================== -------------------------------------------------------------- NOTE: THIS HARDWARE, SOFTWARE OR TEST SUITE PRODUCT (“PRODUCT(S)”) AND ITS RELATED DOCUMENTATION ARE PROVIDED BY MELLANOX TECHNOLOGIES “AS-IS” WITH ALL FAULTS OF ANY KIND AND SOLELY FOR THE PURPOSE OF AIDING THE CUSTOMER IN TESTING APPLICATIONS THAT USE THE PRODUCTS IN DESIGNATED SOLUTIONS. THE CUSTOMER'S MANUFACTURING TEST ENVIRONMENT HAS NOT MET THE STANDARDS SET BY MELLANOX TECHNOLOGIES TO FULLY QUALIFY THE PRODUCTO(S) AND/OR THE SYSTEM USING IT. THEREFORE, MELLANOX TECHNOLOGIES CANNOT AND DOES NOT GUARANTEE OR WARRANT THAT THE PRODUCTS WILL OPERATE WITH THE HIGHEST QUALITY. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL MELLANOX BE LIABLE TO CUSTOMER OR ANY THIRD PARTIES FOR ANY DIRECT, INDIRECT, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES OF ANY KIND (INCLUDING, BUT NOT LIMITED TO, PAYMENT FOR PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY FROM THE USE OF THE PRODUCT(S) AND RELATED DOCUMENTATION EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------- © Copyright 2012. Mellanox Technologies. All rights reserved Mellanox®, BridgeX®, ConnectX®, CORE-Direct®, InfiniBlast®, InfiniBridge®, InfiniHost®, InfiniRISC®, InfiniScale®, InfiniPCI®, PhyX®, SwitchX®, UFM®, Virtual Protocol Interconnect®, and Voltaire® are registered trademarks of Mellanox Technologies, Ltd. FabricIT™, MLNX-OS™, Unbreakable- Link™, UFM™ and Unified Fabric Manager™ are trademarks of Mellanox Technologies, Ltd. All other marks and names mentioned herein may be trademarks of their respective companies. Contents: ========= 1. Introduction 1.1 DSP_1023 Software Inventory 1.2 DSP_1075 PCI Device Profile 1.3 DSP_1002 Diagnostics Profile 1.4 DSP_1014 Ethernet Port Profile 2. Package Content 3. Supported Platforms, Operating Systems, Software, Hardware 3.1 Supported OS Platforms 3.2 Supported Mellanox Hardware 4. Installing the CIM Provider on Linux 4.1 Prerequisites 5. Uninstalling Mellanox CIM Provider 6. Usage Examples 1. Introduction ============================================================================== This is the README for Mellanox Technologies CIM Provider which implements the following Distributed Management Task Force (DMTF) profiles: - DSP_1002 - Diagnostics Profile - DSP_1014 - Ethernet Port Profile - DSP_1023 - Software Inventory Profile - DSP_1075 - PCI Device Profile 1.1 DSP_1023 Software Inventory ------------------------------------------------------------------------------- The implementation of this profile is compliant with DMTF specification DSP_1023 version 1.0.0 and is used to retrieve the Mellanox adapters firmware and drivers types and versions present on a target system. The main class of the MLNX_FirmwareIdentity and MLNX_SoftwareIdentity implementation is derived from the CIM_SoftwareIdentity class and is used to retrieve information about firmware and software installed and used by Mellanox cards. 1.2 DSP_1014 Ethernet Port Profile ------------------------------------------------------------------------------- The implementation of this profile is compliant with DMTF specification DSP_1014 version 1.0.0 and is used to retrieve the Mellanox adapters Ethernet and InfiniBand ports information. The main class of the profile MLNX_IBPort and MLNX_EthernetPort is derived from the CIM_EthernetPort and serves as the main entry point for getting necessary information. 1.3 DSP_1002 - Diagnostics Profile ------------------------------------------------------------------------------- The implementation of this profile is compliant with DMTF specification DSP_1002 version 1.0.0 and is used to run diagnostics on Mellanox adapters. The RunDiagnosticService method is invoked to start the diagnostic service. The possible return values are: - 0 - Job completed with no error - 2 - Unknown or unspecified error - 3 - Cannot complete within the timeout period - 4 – Failed - 5 - Invalid parameter CIM_DiagnosticCompletionRecord is structured to hold the information generated as a result of running the diagnostic service. Each invocation of the RunDiagnosticService method instantiates a new CIM_DiagnosticLog object. The CIM_DiagnosticLog represents a log that aggregates all of the records that the execution of a diagnostic generates. An instance of ConcreteJob is created by the diagnostic implementation to allow monitoring and control of the running service. The diagnostic service creates a Job instance to represent the test running on the managed element and returns a reference to it in the return call from RunDiagnosticService. Additionally, the diagnostic service creates the OwningJobElement association between the Job and the Service and the AffectedJobElement association between the Job and the Managed Element. 1.4 DSP_1075 - PCI Device Profile ------------------------------------------------------------------------------- The implementation of this profile is compliant with DMTF specification DSP_1075 version 1.0.0 and is used to retrieve the Mellanox adapters information. The main class of the profile MLNX_PCIDevice is derived from CIM_PCIDevice and serves as the main entry point for getting necessary information. 2. Package Content =============================================================================== Mellanox Common Information Model (CIM) Provider package contains the following: 1. MLNX_CIMProvider-1.0-0.x86_64.{Distro name}.rpm 2. Mellanox_CIM_Provider_for_LINUX_Release_Notes_v1_0_0.txt 3. Mellanox_CIM_Provider_for_LINUX_README_v1_0_0.txt 3. Supported Platforms, Operating Systems, Software, Hardware =============================================================================== 3.1 Supported OS Platforms --------------------------------------------------------------------------- RHEL5.5 RHEL5.6 RHEL5.7 RHEL6.0 RHEL6.1 RHEL6.2 SLES10.4 SLES1.1 SLES11 * Only 64 bit systems are supported. 3.2 Supported Mellanox Hardware -------------------------------------------------------------------------- - Mellanox ConnectX(R) Adapter Cards Family 4. Installing Mellanox CIM Provider on Linux ============================================================================== 4.1 Prerequisites ------------------------------------------------------------------------------ Prior to installing Mellanox CIM Provider, perform the following: - 1. Install MLNX_OFED (can be downloaded from www.mellanox.com) - 2. Use inbox RPMS a. SLES inbox RPMS needed: libibcommon1 libibmad1 libibumad1 infiniband-diags libibverbs ofed-kmp-default ofed libmlx4-rdmav2 libibverbs mstflint opensm-libs b. RHEL inbox RPMS needed: for RHEL6 install "rdma" for RHEL5 install "openib" For all RHELs: libibmad libibumad infiniband-diags libibverbs libmlx4 libibverbs mstflint opensm-libs 4.2 Installing Mellanox CIM Provider RPM on Linux ------------------------------------------------------------------------------- To install Mellanox CIM Provider RPM on Linux, run: - rpm –hiv {RPM_name.rpm} 5. Uninstalling Mellanox CIM Provider =============================================================================== To uninstall Mellanox CIM Provider RPM on Linux, run: - rpm –e {RPM_name.rpm} 6. Usage Examples =============================================================================== Using CIM CLI --------------------------------------------------------------------------- - Enumerate Instances of class: # cimcli –l [Provider’s IP] ei - Enumerate Instance Names of class: # cimcli –l [Provider’s IP] ni - Get Instance of class: # cimcli –l [Provider’s IP] gi (In case of many instances) : Select an Instance (1..N)? output: enumerateing of chosen instance - Get associations for instances of : # cimcli -l [Provider’s IP] an - Get referenceNames for instances of : # cimcli -l [Provider’s IP] rn - Running diagnostic: 1. Get Instances of MLNX_DiagnosticTest: cimcli -l [Provider IP] ni MLNX_DiagnosticTest Output: [instances of MLNX_DiagnosticTest] 2. Get Instances of MLNX_EthernetPort/MLNX_IBPort: cimcli -l [Provider IP] ni MLNX_EthernetPort/ MLNX_IBPort Output: [instances of MLNX_EthernetPort/MLNX_IBPort] 3. Call RunDiagnosticService Method to run diagnostic: cimcli -l [Provider IP] im [instance of MLNX_DiagnosticTest]RunDiagnosticService ManagedElement=[instances of MLNX_EthernetPort/MLNX_IBPort] Examples : - Getting Firmware Identities: # cimcli -l [Provider IP] ei MLNX_FirmwareIdentity - Getting EthernetPort Identities: # cimcli -l [Provider IP] ei MLNX_EthernetPort - To Query Diagnostic Classes, first run Diagnostic: Without running diagnostic you cannott query diagnostic classes - Running diagnostic: CIM_Linux (Client): 1. cimcli -l [Provider IP] ni MLNX_DiagnosticTestEthernetPort output: MLNX_DiagnosticTestEthernetPort.CreationClassName="MLNX_DiagnosticTestEthernetPort",Name="MLNX:MLNX_DiagnosticTestEthernetPort",\ SystemCreationClassName="PG_ComputerSystem",SystemName="CurrentExampleSystem" 2. cimcli -l [Provider IP] ni MLNX_EthernetPort output: MLNX_EthernetPort.CreationClassName="MLNX_EthernetPort",DeviceID="78:E7:D1:67:08:10",\ SystemCreationClassName="PG_ComputerSystem",SystemName="CurrentExampleSystem" MLNX_EthernetPort.CreationClassName="MLNX_EthernetPort",DeviceID="78:E7:D1:67:08:18",\ SystemCreationClassName="PG_ComputerSystem",SystemName="CurrentExampleSystem" 3. Invoking method to Run Diagnostic Service function: cimcli -l [Provider IP] im MLNX_DiagnosticTestEthernetPort.CreationClassName=\"MLNX_DiagnosticTestEthernetPort\",\ Name=\"MLNX:MLNX_DiagnosticTestEthernetPort\",SystemCreationClassName=\"PG_ComputerSystem\",SystemName=\"CurrentExampleSystem\" \ RunDiagnosticService ManagedElement=MLNX_EthernetPort.CreationClassName=\"MLNX_EthernetPort\",\ DeviceID=\"78:E7:D1:67:08:18\",SystemCreationClassName=\"PG_ComputerSystem\",SystemName=\"CurrentExampleSystem\"