Forge Home

storcli

Puppet module to generate facts with types and providers to manage LSI MegaRAID controllers

8,502 downloads

150 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.1.0 (latest)
  • 1.0.0
  • 0.4.5
  • 0.4.4
  • 0.4.3
  • 0.4.2
  • 0.4.1
  • 0.4.0
  • 0.3.2
  • 0.3.1
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.2
  • 0.1.1 (deleted)
  • 0.1.0
released Aug 28th 2023
This version is compatible with:
  • Puppet Enterprise 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x
  • Puppet >= 6.21.0 < 9.0.0
  • , , , , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'trunet-storcli', '1.1.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add trunet-storcli
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install trunet-storcli --version 1.1.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

trunet/storcli — version 1.1.0 Aug 28th 2023

puppet-storcli

Puppet module to generate facts with types and providers to manage LSI MegaRAID controllers.

License

Table of Contents

Description

This puppet module generate facts and provides types and providers to manage LSI MegaRAID controllers.

Setup

Setup Requirements

This module makes use of storcli. If running on a Dell server, the module will look to use perccli instead.

The package needs to be available from some repository to be installed.

Usage

include storcli

Optionally, to skip over configuration of the card.

storcli::configure_settings: false

Reference

Items not covered by puppet strings are provided below.

See REFERENCE for all other reference documentation.

Facts

  • megaraid - structured fact
    • present? - Boolean - check if /sys/bus/pci/drivers/megaraid_sas is present?
    • storcli - String - location of storcli/perccli application.
    • number_of_controllers - Integer - number of megaraid controllers found
    • controllers - Hash[Controller number] - structured fact of megaraid controller informations
      • product_name - String - Product name
      • serial_number - String - Serial number
      • fw_package_build - String - Firmware Package Build
      • fw_version - String - Firmware Version
      • bios_version - String - Controller BIOS Version
      • virtual_drives - Hash - Drive settings per virtual drive
        • Name - String - Name of Virtual Disk
        • Type - String - Type of RAID
        • State - String - State of Virtual Disk
        • Strip Size - String - Strip Size of Virtual Disk
        • Write Cache - String - Write Cache Mode of Virtual Disk
        • Read Cache - String - Read Cache Mode of Virtual Disk
        • IO Policy - String - IO Policy of Virtual Disk
        • Physical Drive Cache - String - Physical Drive Cache Mode of Virtual Disk
        • Encryption - String - Encryption Mode of Virtual Disk
      • patrol_read - Hash - Patrol read information
        • PR Mode - String - Mode
        • PR Execution Delay - Integer - Execution delay in hours
        • PR iterations completed - Integer - How many times patrol read ran?
        • PR Next Start time - DateTime - Next time patrol read will run
        • PR on SSD - Boolean - Run on SSDs?
        • PR Current State - String - Is it running or stopped?
        • PR Excluded VDs - String - VDs that will not run patrol read
        • PR MaxConcurrentPd - Integer - Maximum number of concurrent PDs
      • consistency_check - Hash - Consistency check information
        • CC Operation Mode - String - Mode
        • CC Execution Delay - Integer - Execution delay in hours
        • CC Next Starttime - DateTime - Next time patrol read will run
        • CC Current State - String - Is it running or stopped?
        • CC Number of iterations - Integer - How many times patrol read ran?
        • CC Number of VD completed - Integer - Number of VDs completed
        • CC Excluded VDs - String - VDs that will not run patrol read

Limitations

For now, this module only provides a custom fact and ways to deal with patrol read and consistency check.

This module does not provide the storcli or perccli packages, you must do that yourself. If the package provider can load them, they will be installed automatically.

The card configuration has not been tested on systems with multiple MegaRAID cards. It should work, but it will set all cards to identical values.

Minimum storcli/perccli versions:

PercCli SAS Customization Utility Ver 007.2313.0000.0000 Mar 07, 2023
StorCli SAS Customization Utility Ver 007.2508.0000.0000 Feb 27, 2023

Older versions may work, but may not...

Development

Contributions are welcome through pull requests. I will only accept PRs with tests covering the parts of the code you touched.

Before sending the PR, run the tests and regenerate puppet strings references:

# pdk validate
# pdk test unit
# pdk bundle exec puppet strings generate --format markdown --out REFERENCE.md