Skip to main content

Tools for checking Salt state validity

Project description

slskit

release last commit build black

Usage: slskit [OPTIONS] COMMAND [ARGS]...

Options:
  --version                       Show the version and exit.
  -c, --config TEXT               path to slskit configuration file (default:
                                  slskit.yaml or slskit.yml)

  -l, --log-level [CRITICAL|FATAL|ERROR|WARN|WARNING|INFO|DEBUG|NOTSET|QUIET|PROFILE|TRACE|GARBAGE]
  --help                          Show this message and exit.

Commands:
  highstate  render highstate for specified minions
  pillars    render pillar items for specified minions
  refresh    invoke saltutil.sync_all runner
  sls        render a given sls for specified minions
  snapshot   create and check highstate snapshots
  template   render a file template for specified minions

Workaround for libcrypto.dylib failing to load on macOS

If slskit fails with zsh: abort or Abort trap: 6, inspect the error by running the command with PYTHONDEVMODE=1. If the issue is with _load_libcrypto call in rsax931.py, edit salt/utils/rsax931.py line 38:

-lib = find_library('crypto')
+lib = "/usr/local/opt/openssl@1.1/lib/libcrypto.dylib"

More info:

Workaround for exception raised when processing virtual function

When seeing errors like these:

ERROR:salt.loader:Exception raised when processing __virtual__ function for salt.loaded.int.module.freebsdkmod. Module will not be loaded: 'kernel'
WARNING:salt.loader:salt.loaded.int.module.freebsdkmod.__virtual__() is wrongly returning `None`. It should either return `True`, `False` or a new name. If you're the developer of the module 'freebsdkmod', please fix this.

You may need to add a corresponding grain to slskit.yaml file, e.g.:

# slskit.yaml

slskit:
  roster:
    foo:
      grains:
        kernel: Linux

You can find values for grains by inspecting grains.items on your real minions.

How to keep your grains DRY

Use default_grains option to avoid duplicating the same grains over all minions:

# slskit.yaml

slskit:
  roster:
    foo:
    bar:
    baz:
  default_grains:
    os: Ubuntu

For more advanced cases use YAML anchors:

# slskit.yaml

_grains:
  ubuntu: &ubuntu
    os: Ubuntu
  fedora: &fedora
    os: Fedora

slskit:
  roster:
    u1:
      grains:
        <<: *ubuntu
    u2:
      grains:
        <<: *ubuntu
    f1:
      grains:
        <<: *fedora
    f2:
      grains:
        <<: *fedora

How to reduce output verbosity

Use Salt's output configuration option, e.g.:

# slskit.yaml

salt:
  output: yaml

slskit:
  ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slskit-2020.9.0.tar.gz (8.3 kB view hashes)

Uploaded Source

Built Distribution

slskit-2020.9.0-py3-none-any.whl (8.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page