- change from puppet-agent to openvox-agent - upgrade version from 7.34 to 7.36 - ensure workflow of: Yumrepo -> dnf-makecache -> Package
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
# this is the base class, which will be used by all servers
|
||||
class profiles::base (
|
||||
Array $puppet_servers,
|
||||
) {
|
||||
class profiles::base () {
|
||||
|
||||
# run a limited set of classes on the first run aimed at bootstrapping the new node
|
||||
if $facts['firstrun'] {
|
||||
@@ -13,11 +11,7 @@ class profiles::base (
|
||||
|
||||
# manage the puppet agent
|
||||
include profiles::puppet::agent
|
||||
|
||||
# manage puppet clients
|
||||
if ! member($puppet_servers, $trusted['certname']) {
|
||||
include profiles::puppet::client
|
||||
}
|
||||
include profiles::puppet::client
|
||||
|
||||
# include the base profiles
|
||||
include profiles::base::repos
|
||||
|
||||
@@ -11,6 +11,7 @@ class profiles::defaults {
|
||||
ensure => present,
|
||||
require => [
|
||||
Class['profiles::base::repos'],
|
||||
Exec['dnf_makecache'],
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@@ -1,37 +1,68 @@
|
||||
# profiles::puppet::agent
|
||||
# This class manages Puppet agent package and service.
|
||||
class profiles::puppet::agent (
|
||||
String $puppet_version = 'latest',
|
||||
String $version = 'latest',
|
||||
Boolean $openvox_enable = false,
|
||||
) {
|
||||
|
||||
# if puppet-version is anything other than latest, set a versionlock
|
||||
$puppet_versionlock_ensure = $puppet_version ? {
|
||||
# set openvox package, yumrepo, service
|
||||
if $openvox_enable {
|
||||
$use_package = 'openvox-agent'
|
||||
$use_yumrepo = 'openvox'
|
||||
$use_service = 'puppet'
|
||||
}else{
|
||||
$use_package = 'puppet-agent'
|
||||
$use_yumrepo = 'puppet'
|
||||
$use_service = 'puppet'
|
||||
}
|
||||
|
||||
# manage the yumrepo for the given package
|
||||
if $openvox_enable and $facts['os']['family'] == 'RedHat' {
|
||||
yumrepo { 'openvox':
|
||||
ensure => 'present',
|
||||
baseurl => "https://packagerepo.service.consul/openvox7/el/${facts['os']['release']['major']}-daily/${facts['os']['architecture']}/os/",
|
||||
descr => 'openvox repository',
|
||||
gpgkey => "https://packagerepo.service.consul/openvox7/el/${facts['os']['release']['major']}-daily/${facts['os']['architecture']}/os/GPG-KEY-openvox.pub",
|
||||
notify => Exec['dnf_makecache'],
|
||||
}
|
||||
}else{
|
||||
yumrepo { 'puppet':
|
||||
ensure => 'present',
|
||||
baseurl => "https://packagerepo.service.consul/puppet7/el/${facts['os']['release']['major']}-daily/${facts['os']['architecture']}/os/",
|
||||
descr => 'puppet repository',
|
||||
gpgkey => "https://packagerepo.service.consul/puppet7/el/${facts['os']['release']['major']}-daily/${facts['os']['architecture']}/os/RPM-GPG-KEY-puppet-20250406",
|
||||
notify => Exec['dnf_makecache'],
|
||||
}
|
||||
}
|
||||
|
||||
# if agent-version is anything other than latest, set a versionlock
|
||||
$agent_versionlock_ensure = $version ? {
|
||||
'latest' => 'absent',
|
||||
default => 'present',
|
||||
}
|
||||
$puppet_versionlock_version = $puppet_version ? {
|
||||
$agent_versionlock_version = $version ? {
|
||||
'latest' => undef,
|
||||
default => $puppet_version,
|
||||
default => $version,
|
||||
}
|
||||
|
||||
case $facts['os']['family'] {
|
||||
'RedHat': {
|
||||
# Ensure the puppet-agent package is installed and locked to a specific version
|
||||
package { 'puppet-agent':
|
||||
ensure => $puppet_version,
|
||||
require => Yumrepo['puppet'],
|
||||
# Ensure the agent package is installed and locked to a specific version
|
||||
package { $use_package:
|
||||
ensure => $version,
|
||||
require => Yumrepo[$use_yumrepo],
|
||||
}
|
||||
|
||||
# versionlock puppet-agent
|
||||
yum::versionlock{'puppet-agent':
|
||||
ensure => $puppet_versionlock_ensure,
|
||||
version => $puppet_versionlock_version,
|
||||
yum::versionlock{$use_package:
|
||||
ensure => $agent_versionlock_ensure,
|
||||
version => $agent_versionlock_version,
|
||||
}
|
||||
}
|
||||
'Debian': {
|
||||
# Ensure the puppet-agent package is installed and locked to a specific version
|
||||
package { 'puppet-agent':
|
||||
ensure => $puppet_version,
|
||||
package { $use_package:
|
||||
ensure => $version,
|
||||
require => Class['profiles::apt::puppet7'],
|
||||
}
|
||||
}
|
||||
@@ -39,12 +70,11 @@ class profiles::puppet::agent (
|
||||
}
|
||||
|
||||
# Ensure the puppet service is running
|
||||
service { 'puppet':
|
||||
service { $use_service:
|
||||
ensure => 'running',
|
||||
enable => true,
|
||||
hasrestart => true,
|
||||
require => Package['puppet-agent'],
|
||||
require => Package[$use_package],
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -55,4 +55,7 @@ class profiles::yum::global (
|
||||
# setup dnf-autoupdate
|
||||
include profiles::yum::autoupdater
|
||||
|
||||
# ensure dnf makecache runs before packages
|
||||
Yumrepo <| |> -> Exec['dnf_makecache'] -> Package <| |>
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user