Commits on May 26, 2018
  1. Only try monkey-patching lxd if it is available

    eradman committed May 24, 2018
    And use more common HAS_{LIB} naming convention
Commits on May 25, 2018
  1. Don't issue warning of virt-what is not installed

    eradman committed May 25, 2018
    Salt uses a variety of means to detect platform characteristics, and
    generally does not need virt-what.
Commits on Jan 13, 2018
  1. Do not force pkg reinstall on FreeBSD

    eradman authored and rallytime committed Dec 27, 2017
    Partially reverts commit f9ef30a
    Regression reported in issue #44913
Commits on Dec 27, 2017
  1. Do not force pkg reinstall on FreeBSD

    eradman committed Dec 27, 2017
    Partially reverts commit f9ef30a
    Regression reported in issue #44913
Commits on Dec 1, 2017
  1. Update salt_boostrap command line help summary

    eradman committed Dec 1, 2017
    - Use exact indentation produced by the bootstrap-salt command
    - normal package installs work fine on OpenBSD
Commits on Nov 27, 2017
  1. Fix invocation of cron.file with when run with test=True

    eradman committed Nov 27, 2017
Commits on Nov 8, 2017
  1. Add integration test for (mem|swap)_total grains on OpenBSD

    eradman committed Nov 6, 2017
Commits on Nov 6, 2017
  1. Implement swap_total grain on OpenBSD

    eradman committed Nov 4, 2017
    Total swap is not reported by sysctl(8) on OpenBSD. Use swapctl(8) instead.
    Signed-off-by: Eric Radman <>
Commits on Oct 25, 2017
  1. Report 'onlyif' and 'unless' conditions as true or false

    eradman committed Oct 25, 2017
    Elide terminology "execution failed/succeeded" since the result of these
    conditions does not indicate a failure in state execution. Instead
    simply report the result of each condition.
Commits on Oct 21, 2017
  1. Mock open to /var/log/btmp and /var/log/wtmp

    eradman committed Oct 21, 2017
    - btmp may not exist
    - wtmp may not exist, or it may not contain ASCII data
    Unbreaks tests on OpenBSD 6.2
Commits on Oct 19, 2017
  1. Check file attributes in check_file_meta() if lsattr(1) is installed

    eradman committed Oct 12, 2017
    lsattr/chattr is not installed on many Unix-like platforms by default,
    including *BSD, Solaris, and minimal Linux distributions such as Alpine.
Commits on Oct 4, 2017
  1. Skip some vsphere tests if pyvmomi library is not installed

    eradman committed Oct 4, 2017
    Also fix up 'E127: continuation line over-indented' lint errors
Commits on Oct 2, 2017
  1. Detect OpenBSD guest running under VMM(4)

    eradman committed Sep 29, 2017
    grains.manufacturer is 'OpenBSD' when running under VMM
Commits on Sep 26, 2017
  1. Fix DeprecationWarning for use of 'salt.utils.is_windows'

    eradman committed Sep 26, 2017
  2. Only inspect file attribute if lsattr(1) is installed

    eradman committed Sep 26, 2017
    lsattr/chattr is not installed on many Unix-like platforms by default,
    including *BSD, Solaris, and minimal Linux distributions such as Alpine.
Commits on Sep 25, 2017
  1. Skip ZFS module check on OpenBSD

    eradman committed Sep 25, 2017
    Avoids the following error when running `salt-call` on OpenBSD:
    [ERROR   ] Command '/usr/sbin/rcctl get zfs-fuse' failed with return code: 2
    [ERROR   ] output: rcctl: service zfs-fuse does not exist
Commits on Apr 23, 2017
  1. Set virtual grain for OpenBSD on KVM

    eradman committed Apr 23, 2017
    None of the file system tests for /sys or /proc can succeed on OpenBSD;
    create a new branch for determining the 'virtual' grain
Commits on Apr 4, 2017
Commits on Feb 15, 2017
  1. Do not silently fail salt orchestration

    eradman committed Feb 6, 2017
    Report failures if salt-run is unable to communicate with a minion. If a target
    matches more than one host, the successful changes are reported and the rule is
    reported as a failure.
Commits on Feb 2, 2017
  1. Allow pillar environment to be specified for salt-run

    eradman committed Feb 2, 2017
      salt-run state.sls deploy saltenv=base pillarenv=dev
Commits on Jan 25, 2017
  1. Fix ssh key deployment when using minimal salt-ssh roster

    eradman committed Jan 25, 2017
    Allows this code path to succeed for a minimal roster file that does not
    specify `ssh_options`
    $ sudo salt-ssh 'login1*'
    Permission denied for host login1, do you want to deploy the salt-ssh
    key? (password required):
    [Y/n] Y
    Password for root@login1:
Commits on Jan 19, 2017
  1. Extend support for pillarenv_from_saltenv to master config

    eradman committed Jan 18, 2017
    `pillarenv_from_saltenv` is already an option for minion config, this
    change enables this feature on the master.
    If set to `true` salt will derive the pillar environment set on the
    $ salt-run pillar.show_pillar saltenv=radman
    $ sudo salt-run pillar.show_pillar saltenv=radman2
Commits on Jan 16, 2017
  1. Respect follow_symlinks when run with test=True

    eradman committed Jan 12, 2017
    Previously correctly sets the permissions of the target
    of a symlink, but it did not return the correct result during a dry run.
    This change plumbs the follow_symlinks parameter to test-only functions.
  2. Fix pylint errors C0326 and C0303

    eradman committed Jan 16, 2017
  3. Try to resolve guest IP if VMware Tools is not installed

    eradman committed Dec 30, 2016
    In some cases installation of VMware Tools is not possible. Enable
    salt-cloud to bootstrap a minion by using DNS to resolve it's IP.
Commits on Jan 4, 2017
  1. Change map and profile extends merge strategy to use recursive update

    eradman committed Dec 26, 2016
    Previously only top-level data elements could be overridden in a map or
    extended profile entry. This change adjusts map and profile evaluation
    to use a recursive merge using salt.utils.dictupdate.update().
    This is a break with compatibility, but in the common case a cloud
    profile or map is not structured to truncate configuration but to add
    further detail to the profile that it extends.
    Update map docs with an example from VMware where we chan now change a
    network parameter without having to repeat other device information such
    as disk controllers.
Commits on Dec 22, 2016
  1. Provide an example for overriding nested parameters in a map

    eradman committed Dec 22, 2016
    At first reading it appears that that any data element can be specified
    individually in a map, but this is not the case. Under the hood, the map file is
    merged with the profile configuration using dict.update().
    Employ the term 'top level data element' from
Commits on Dec 7, 2016
  1. Adjust description for param cwd

    eradman committed Dec 7, 2016
    On most Linux systems root's home directory is '/root', but this is not
    true on other platforms. On MacOS 10.12 for example, it is '/var/root'
    or '/var/private/root'.
    Also, the salt master may not be running as root, so perhaps it is best
    to avoid making any promises about the current working directory if
    ``runas`` is not specified.
Commits on Nov 23, 2016
  1. Remove repeated words in docs (#37871)

    eradman authored and rallytime committed Nov 23, 2016
    Found using
    find . -name '*.rst' | xargs igor -R -r
Commits on Nov 11, 2016
  1. Revert commit fb763d

    eradman committed Nov 11, 2016
    This commit completely breaks the salt-master on all non-Linux systems:
    _hw_data(osdata) is called before `osdata` includes the key 'kernel', resulting
    in a KeyError.  Steps to reproduce:
    (saltenv) $ salt-master -l debug
  2. vmware: optionally allow network interface MAC to be set

    eradman committed Nov 10, 2016
    Example profile:
          Network Adapter 1:
            mac: '00:16:3e:e8:19:0f'
            name: vlan25
            switch_type: standard
    This takes effect as soon as the VM is initialized, so PXE-booting can
    take advantage of this.
Commits on Nov 10, 2016
  1. Skip tests for any communication failure

    eradman committed Nov 9, 2016
    This test connects to, which may throws the following error
    on one network I manage:
    ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
    Other errors are possible, such as `socket.error`.  Since it is
    difficult to anticipate the failure mode, skip these tests if https
    communication provokes any exception.
    Also, this is not a unit test--it's more of a system test. My
    recommendation that we recategorize this as an integration test where
    global IPv4 routing can more reasonably expected.
Commits on Nov 9, 2016
  1. Fixes to unit tests (#37586)

    eradman authored and rallytime committed Nov 9, 2016
    Add skipIf pyvmomi is not installed
        NameError: global name 'vmodl' is not defined
        NameError: global name 'vim' is not defined
    Fix skipIf typo for OpenBSD
        >>> import sys
        >>> sys.platform
    Avoid warning from
        Use specific 'len(elem)' or 'elem is not None' test
    Enable boto_secgroup_test tests that work now:
        test skipped due to error in moto return - fixed in
Commits on Nov 8, 2016
  1. Use 'driver' instead of 'provider' in test cloud configs (#37547)

    eradman authored and rallytime committed Nov 8, 2016
    Running the tests currently provokes a warning from
    salt/config/│2275 ("'provider' will be
    deprecated in the Nitrogen release")
Commits on Nov 1, 2016
  1. dev_python*.txt: use current SaltTesting and SaltPyLint modules

    eradman committed Nov 1, 2016
    Pinning SaltTesting to 2015.2.16 is not right--integration tests will
    not run with this version. Let pip install the latest minimum version
    Include SaltPyLint since anyone doing development work will also want to
    run pylint.