diff --git a/NEWS b/NEWS index b59f96060484be7979964df4140df3a17c1ca0f6..776d81ec9d7678cfb946c1906dc984fd7b5f2a79 100644 --- a/NEWS +++ b/NEWS @@ -1,63 +1,68 @@ +release/005.001 (2016-12-07) + + Add "path" attributes to several exec resources. This will be required + in the next version of Puppet [adamhl]. + release/005.000 (2016-11-21) This release has a number of breaking changes. - [duo] base::duo has been completely reworked into a type plus a common - class. Clients which use Duo for their own purposes should create an - instance of base::duo::config, which will create a Duo PAM config file for + [duo] base::duo has been completely reworked into a type plus a common + class. Clients which use Duo for their own purposes should create an + instance of base::duo::config, which will create a Duo PAM config file for them to use. See README.duo for more information. - [ipmi] A complete rework of base::ipmi. The base::noipmi class no - longer exists. Instead, IPMI support should be disabled by setting - base::ipmi::ensure to "absent". IPMI kernel modules, and ipmievd, should + [ipmi] A complete rework of base::ipmi. The base::noipmi class no + longer exists. Instead, IPMI support should be disabled by setting + base::ipmi::ensure to "absent". IPMI kernel modules, and ipmievd, should still be automatically disabled on virtual systems, even when - "ensure => present"; in those cases, the IPMI client tools will still be + "ensure => present"; in those cases, the IPMI client tools will still be installed. Code has been updated for Debian 8 and Ubuntu 16.04. - [os/debian] All aptitude operations are now performed in a new phase, - called "aptitude". The "aptitude" phase is configured to run before + [os/debian] All aptitude operations are now performed in a new phase, + called "aptitude". The "aptitude" phase is configured to run before "main". Clients which rely on aptitude being up-to-date must no longer - "require => Exec['aptitude update']". The nature of Puppet phases will + "require => Exec['aptitude update']". The nature of Puppet phases will ensure that aptitude is already updated. - Clients installing their own custom sources are advised to move all of that - into separate classes, and to put those classes into a new phase of their + Clients installing their own custom sources are advised to move all of that + into separate classes, and to put those classes into a new phase of their own. This new phase should "require => Phase['aptitude']" and "before => Phase['main']", to ensure proper execution sequencing. [os/debian] Add two Hiera-configurable parameters to base::os::debian::apt: - * apt_cache_notin_tmp. If true, use a different directory to store package + * apt_cache_notin_tmp. If true, use a different directory to store package scripts that need to be run during package install/upgrade. - * apt_cache_tmp_dir. When apt_cache_notin_tmp is true, this is the + * apt_cache_tmp_dir. When apt_cache_notin_tmp is true, this is the directory to use for package scripts. [postfix/sender] A new type: base::postfix::sender. This is similar to - base::postfix::recipient, except it is used to rewrite sender addresses + base::postfix::recipient, except it is used to rewrite sender addresses instead of recipient addresses. - It is suggested that clients use base::postfix::sender to ensure that - emails sent 'from' "root@stanford.edu" or "root@hostname.stanford.edu" are - instead being sent 'from' either "noreply@stanford.edu" or + It is suggested that clients use base::postfix::sender to ensure that + emails sent 'from' "root@stanford.edu" or "root@hostname.stanford.edu" are + instead being sent 'from' either "noreply@stanford.edu" or "shared-mailbox@stanford.edu". - [ssh] A fairly large rework of SSH code. Support has been added for - treating "alternate accounts" (.root, .admin, root., and admin.) the same - as root. Code has also been updated to account for changes to base::duo. - Support has also been added to completely disable password authentication. - Support for Ed25519 keys is also included (though disabled by default). - Finally, pam_afs is now configurable: It can be disabled on systems that do + [ssh] A fairly large rework of SSH code. Support has been added for + treating "alternate accounts" (.root, .admin, root., and admin.) the same + as root. Code has also been updated to account for changes to base::duo. + Support has also been added to completely disable password authentication. + Support for Ed25519 keys is also included (though disabled by default). + Finally, pam_afs is now configurable: It can be disabled on systems that do not use AFS. See README.ssh for more information on how to use the code. - [sudo] Complete rework of base::sudo, including configurable support for - Duo. Anyone in the "sudo" or "wheel" group gets sudo access. If Duo is - enabled, anyone on a specified list is able to sudo without a password, but - with a two-step run. Fail-secure is supported, as is using the GECOS field + [sudo] Complete rework of base::sudo, including configurable support for + Duo. Anyone in the "sudo" or "wheel" group gets sudo access. If Duo is + enabled, anyone on a specified list is able to sudo without a password, but + with a two-step run. Fail-secure is supported, as is using the GECOS field to specify the username that Puppet should actually use. See README.sudo for more information on how to use the code. @@ -71,20 +76,20 @@ release/005.000 (2016-11-21) release/004.063 (2016-10-17) [ipmi] EL package requires (like EL6, EL7 only has available OpenIPMI, - and not OpenIPMI-tools. (jlent) Fix ipmievd configuration for Ubuntu. + and not OpenIPMI-tools. (jlent) Fix ipmievd configuration for Ubuntu. (akkornel) - [os] Update the Ubuntu-to-Debian mapping. (akkornel) Enable the - debian-stanford backports for Unbuntu distros based on Wheezy and Jessie. + [os] Update the Ubuntu-to-Debian mapping. (akkornel) Enable the + debian-stanford backports for Unbuntu distros based on Wheezy and Jessie. (akkornel) Also add additional Ubuntu-specific backports. (akkornel) Also remove daemontools as a default install on systemd Ubuntu. (akkornel) - [ntp] Add the SRCF time server, make sure NTP is installed, and disable + [ntp] Add the SRCF time server, make sure NTP is installed, and disable systemd-timesyncd on RHEL 8. [xinetd] Make sure inetd is removed before xinetd is installed. (akkornel) - [wallet] Make sure the base::wallet::client class is included when + [wallet] Make sure the base::wallet::client class is included when required. (akkornel) release/004.062 (2016-06-03) diff --git a/manifests/postfix/map.pp b/manifests/postfix/map.pp index 77cf40a37b574aecddaeeb03c62d415bd9b4af48..a67d850465fdbc3b5e999662976b64a73635d4c0 100644 --- a/manifests/postfix/map.pp +++ b/manifests/postfix/map.pp @@ -50,6 +50,7 @@ define base::postfix::map( # both because a command with a creates stanza won't run even if notified # if that file already exists. exec { "${command} ${type}:${name} initial": + path => '/bin:/usr/sbin:/usr/bin', command => "${command} ${type}:${name}", creates => "${name}.db", require => [ File[$name], File['/etc/postfix/main.cf'], @@ -57,6 +58,7 @@ define base::postfix::map( } exec { "${command} ${type}:${name}": refreshonly => true, + path => '/bin:/usr/sbin:/usr/bin', command => "${command} ${type}:${name}", require => [ File['/etc/postfix/main.cf'], Package['postfix'] ], } diff --git a/manifests/postfix/recipient.pp b/manifests/postfix/recipient.pp index 4d1ef798d55764346c6ff5302c2b05647fda9564..eac2bcd38786ac9e8f1a841ab4169ed8094d9f29 100644 --- a/manifests/postfix/recipient.pp +++ b/manifests/postfix/recipient.pp @@ -25,6 +25,7 @@ define base::postfix::recipient( case $ensure { 'absent': { exec { "rm-recipient-${name}": + path => '/bin:/usr/sbin:/usr/bin', command => "sed -i -e '/^${name}/d' ${file}", onlyif => "grep ${pattern} ${file}", notify => Exec["postmap hash:${file}"] @@ -33,12 +34,14 @@ define base::postfix::recipient( default: { $line = "${name} ${ensure}" exec { "add-recipient-${name}": + path => '/bin:/usr/sbin:/usr/bin', command => "echo '${line}' >> ${file}", unless => "grep ${pattern} ${file}", require => Package['postfix'], notify => Exec["postmap hash:${file}"], } exec { "fix-recipient-${name}": + path => '/bin:/usr/sbin:/usr/bin', command => "sed -i -e 's/^${name}..*\$/${line}/' ${file}", unless => "grep '^${line}\$' ${file}", require => Exec["add-recipient-${name}"], diff --git a/manifests/sysctl.pp b/manifests/sysctl.pp index fe9b40197599a41892f6bf966af04b6bd0c09ff3..fe3ba39a964ba8f2cf6bf2c15c5609a208f5de60 100644 --- a/manifests/sysctl.pp +++ b/manifests/sysctl.pp @@ -19,6 +19,7 @@ define base::sysctl($ensure) { case $ensure { absent: { exec { "rm-sysctl-$name": + path => '/bin:/usr/sbin:/usr/bin', command => "sed -i -e '/^$name/d' $filename", onlyif => "grep '^[^#]' $filename | grep ^$name" } @@ -26,11 +27,13 @@ define base::sysctl($ensure) { default: { $line = "$name = $ensure" exec { "add-sysctl-$name": + path => '/bin:/usr/sbin:/usr/bin', command => "echo '$line' >> $filename", unless => "grep '^$name' $filename", notify => Exec["reload sysctl.conf"] } exec { "fix-sysctl-$name": + path => '/bin:/usr/sbin:/usr/bin', command => "sed -i -e '/^$name/d' $filename; echo '$line' >> $filename", unless => "grep '^$name[[:space:]]*=[[:space:]]*$ensure' $filename", require => Exec["add-sysctl-$name"], @@ -63,4 +66,4 @@ class base::sysctl::tcp_keepalive { "net.ipv4.tcp_keepalive_probes": ensure => 20; "net.ipv4.tcp_keepalive_time": ensure => 600; } -} \ No newline at end of file +}