Skip to content

trunet/puppet-storcli

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •