Add packagekit module.
This module supports automatic upgrades on RHEL/Centos slaves. It works by installing PackageKit-cron and updating the config file to enable automatic updates. PackageKit-cron runs once a day via cron. Fixes LP Bug #1180948. Change-Id: I901ebf5f48fabee9456333ade0c141beacac62e6 Reviewed-on: https://review.openstack.org/29422 Reviewed-by: James E. Blair <corvus@inaugust.com> Approved: Jeremy Stanley <fungi@yuggoth.org> Reviewed-by: Jeremy Stanley <fungi@yuggoth.org> Tested-by: Jenkins
This commit is contained in:
parent
fff4eb63d2
commit
80684069b6
41
modules/packagekit/manifests/cron.pp
Normal file
41
modules/packagekit/manifests/cron.pp
Normal file
@ -0,0 +1,41 @@
|
||||
# Copyright 2013 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Class: packagekit::cron
|
||||
#
|
||||
class packagekit::cron(
|
||||
$package_ensure = present,
|
||||
$enabled = 'yes',
|
||||
$check_only = 'no',
|
||||
$mailto = false,
|
||||
$system_name = false
|
||||
) inherits packagekit {
|
||||
|
||||
include packagekit::params
|
||||
|
||||
package { $::packagekit::params::cron_package:
|
||||
ensure => $package_ensure,
|
||||
}
|
||||
|
||||
file { $::packagekit::params::cron_config_file:
|
||||
ensure => present,
|
||||
content => template("${module_name}/packagekit-background.erb"),
|
||||
mode => '0644',
|
||||
group => 'root',
|
||||
owner => 'root',
|
||||
replace => true,
|
||||
require => Package[$::packagekit::params::cron_package],
|
||||
}
|
||||
|
||||
}
|
27
modules/packagekit/manifests/init.pp
Normal file
27
modules/packagekit/manifests/init.pp
Normal file
@ -0,0 +1,27 @@
|
||||
# Copyright 2013 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Class: packagekit
|
||||
#
|
||||
class packagekit(
|
||||
$package_ensure = present
|
||||
) {
|
||||
|
||||
include packagekit::params
|
||||
|
||||
package { $::packagekit::params::package:
|
||||
ensure => $package_ensure,
|
||||
}
|
||||
|
||||
}
|
27
modules/packagekit/manifests/params.pp
Normal file
27
modules/packagekit/manifests/params.pp
Normal file
@ -0,0 +1,27 @@
|
||||
# Copyright 2013 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
# Class: packagekit::params
|
||||
class packagekit::params {
|
||||
case $::osfamily {
|
||||
'RedHat': {
|
||||
$package = 'PackageKit'
|
||||
$cron_package = 'PackageKit-cron'
|
||||
$cron_config_file = '/etc/sysconfig/packagekit-background'
|
||||
}
|
||||
default: {
|
||||
fail("Unsupported osfamily: ${::osfamily} The 'packagekit' module only supports osfamily RedHat.")
|
||||
}
|
||||
}
|
||||
}
|
17
modules/packagekit/templates/packagekit-background.erb
Normal file
17
modules/packagekit/templates/packagekit-background.erb
Normal file
@ -0,0 +1,17 @@
|
||||
# should we attempt to do this? (valid: yes|no)
|
||||
ENABLED=<%= enabled %>
|
||||
|
||||
# don't install, just check (valid: yes|no)
|
||||
CHECK_ONLY=<%= check_only %>
|
||||
|
||||
# if MAILTO is set, the mail command is used to deliver PackageKit output
|
||||
# by default MAILTO is unset, so crond mails the output by itself
|
||||
<% if mailto then %>
|
||||
MAILTO=<%= mailto %>
|
||||
<% end %>
|
||||
|
||||
# you may set SYSTEMNAME if you want your PackageKit emails tagged differently
|
||||
# default is output of hostname command
|
||||
<% if system_name then %>
|
||||
SYSTEM_NAME=<%= system_name %>
|
||||
<% end %>
|
Loading…
Reference in New Issue
Block a user