Forge Home

aix_nim_facts

Collect and collate custom facts about this machine's AIX NIM configuration

2,267 downloads

76 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

  • 0.3.3 (latest)
  • 0.3.2
  • 0.3.1
  • 0.3.0
released Jul 9th 2024
This version is compatible with:
  • Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2021.7.x
  • Puppet >= 7.24 < 9.0.0

Start using this module

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

Add this module to your Puppetfile:

mod 'cryssoft-aix_nim_facts', '0.3.3'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add cryssoft-aix_nim_facts
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install cryssoft-aix_nim_facts --version 0.3.3

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

cryssoft/aix_nim_facts — version 0.3.3 Jul 9th 2024

aix_nim_facts

Table of Contents

  1. Description
  2. Setup - The basics of getting started with aix_nim_facts
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module

Description

The cryssoft-aix_nim_facts module populates the $::facts['aix_nim'] hash with a few values that are of interest if you're using Puppet to manage AIX Network Install Manager (NIM) servers and clients. The $::facts['aix_nim']['is_master'] fact is one way to make package resources safe to install with the "nim" vs. "aix" provider regardless of whether the rule is operating on a NIM client or server.

Setup

Put the module in place in your Puppet master server as usual. AIX-based systems will start populating the $::facts['aix_nim'] hash with their next run, and you can start referencing those facts in your classes.

What aix_nim_facts affects

At this time, the cryssoft-aix_nim_facts module ONLY supplies custom facts. It does not change anything and should have no side-effects.

Setup Requirements

As a custom facts module, I believe pluginsync must be enabled for this to work.

Beginning with aix_nim_facts

If you're using Puppet Enterprise, the new fact(s) will show up in the PE console for each AIX-based node under management. If you're not using Puppet Enterprise, you'll need to use a different approach to checking for their existence and values.

Usage

As notes, cryssoft-aix_nim_facts is only providing custom facts. Once the module and its Ruby payload are distributed to your AIX-based nodes, those facts will be available in your classes.

Reference

$::facts['aix_nim'] is the top of a small hash. The data it contains is based on what's in the /etc/niminfo file (client and server) as well as some "lsnim" outputs for the server.

Limitations

This should work on any AIX-based system.

NOTE: This module has been tested on AIX 6.1, 7.1, and 7.2 NIM clients and 7.2 NIM servers. It does not appear to have any side effects. The "lsnim" commands that run on NIM servers do add a little overhead to the fact gathering process for each puppet agent run.

NOTE: Updated 2024/07/09 - this module continues to work properly with AIX 7.3. Adding notes for module re-publication.

Development

Make suggestions. Look at the code on github. Send updates or outputs. I don't have a specific set of rules for contributors at this point.

Release Notes/Contributors/Etc.

Starting with 0.3.0 - Pretty simple stuff. Not sure if this will ever morph into a control/configuration module with types/providers/etc. to actually do anything meaningful about controlling NIM clients/servers. I'm not even sure that would be a good idea.