forked from ungleich-public/cdist
Merge remote-tracking branch 'ungleich/master' into support-ipv6
This commit is contained in:
commit
e663aaee08
16 changed files with 156 additions and 7 deletions
27
cdist/conf/type/__apt_mark/explorer/state
Normal file
27
cdist/conf/type/__apt_mark/explorer/state
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# 2016 Ander Punnar (cdist at kvlt.ee)
|
||||||
|
#
|
||||||
|
# This file is part of cdist.
|
||||||
|
#
|
||||||
|
# cdist is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# cdist is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ -f "$__object/parameter/name" ]; then
|
||||||
|
name="$(cat "$__object/parameter/name")"
|
||||||
|
else
|
||||||
|
name="$__object_id"
|
||||||
|
fi
|
||||||
|
|
||||||
|
apt-mark showhold | grep -q $name && echo hold || echo unhold
|
43
cdist/conf/type/__apt_mark/gencode-remote
Normal file
43
cdist/conf/type/__apt_mark/gencode-remote
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# 2016 Ander Punnar (cdist at kvlt.ee)
|
||||||
|
#
|
||||||
|
# This file is part of cdist.
|
||||||
|
#
|
||||||
|
# cdist is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# cdist is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ -f "$__object/parameter/name" ]; then
|
||||||
|
name="$(cat "$__object/parameter/name")"
|
||||||
|
else
|
||||||
|
name="$__object_id"
|
||||||
|
fi
|
||||||
|
|
||||||
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
|
state_is="$(cat "$__object/explorer/state")"
|
||||||
|
|
||||||
|
if [ "$state_should" = "$state_is" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$state_should" in
|
||||||
|
hold|unhold)
|
||||||
|
echo "apt-mark $state_should $name > /dev/null"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown state: $state_should" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
47
cdist/conf/type/__apt_mark/man.rst
Normal file
47
cdist/conf/type/__apt_mark/man.rst
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
cdist-type__apt_mark(7)
|
||||||
|
=======================
|
||||||
|
|
||||||
|
NAME
|
||||||
|
----
|
||||||
|
cdist-type__apt_mark - set package state as 'hold' or 'unhold'
|
||||||
|
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
-----------
|
||||||
|
See apt-mark(8) for details.
|
||||||
|
|
||||||
|
|
||||||
|
REQUIRED PARAMETERS
|
||||||
|
-------------------
|
||||||
|
state
|
||||||
|
Either "hold" or "unhold".
|
||||||
|
|
||||||
|
|
||||||
|
OPTIONAL PARAMETERS
|
||||||
|
-------------------
|
||||||
|
name
|
||||||
|
If supplied, use the name and not the object id as the package name.
|
||||||
|
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
--------
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
# hold package
|
||||||
|
__apt_mark quagga --state hold
|
||||||
|
# unhold package
|
||||||
|
__apt_mark quagga --state unhold
|
||||||
|
|
||||||
|
|
||||||
|
AUTHORS
|
||||||
|
-------
|
||||||
|
Ander Punnar <cdist--@--kvlt.ee>
|
||||||
|
|
||||||
|
|
||||||
|
COPYING
|
||||||
|
-------
|
||||||
|
Copyright \(C) 2016 Ander Punnar. You can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU General Public License as
|
||||||
|
published by the Free Software Foundation, either version 3 of the
|
||||||
|
License, or (at your option) any later version.
|
1
cdist/conf/type/__apt_mark/parameter/optional
Normal file
1
cdist/conf/type/__apt_mark/parameter/optional
Normal file
|
@ -0,0 +1 @@
|
||||||
|
name
|
1
cdist/conf/type/__apt_mark/parameter/required
Normal file
1
cdist/conf/type/__apt_mark/parameter/required
Normal file
|
@ -0,0 +1 @@
|
||||||
|
state
|
1
cdist/conf/type/__consul/files/versions/0.7.0/cksum
Normal file
1
cdist/conf/type/__consul/files/versions/0.7.0/cksum
Normal file
|
@ -0,0 +1 @@
|
||||||
|
695240564 24003648 consul
|
1
cdist/conf/type/__consul/files/versions/0.7.0/source
Normal file
1
cdist/conf/type/__consul/files/versions/0.7.0/source
Normal file
|
@ -0,0 +1 @@
|
||||||
|
https://releases.hashicorp.com/consul/0.7.0/consul_0.7.0_linux_amd64.zip
|
1
cdist/conf/type/__consul/files/versions/0.7.1/cksum
Normal file
1
cdist/conf/type/__consul/files/versions/0.7.1/cksum
Normal file
|
@ -0,0 +1 @@
|
||||||
|
3128343188 28402769 consul
|
1
cdist/conf/type/__consul/files/versions/0.7.1/source
Normal file
1
cdist/conf/type/__consul/files/versions/0.7.1/source
Normal file
|
@ -0,0 +1 @@
|
||||||
|
https://releases.hashicorp.com/consul/0.7.1/consul_0.7.1_linux_amd64.zip
|
|
@ -24,6 +24,10 @@
|
||||||
|
|
||||||
type="$__object/parameter/type"
|
type="$__object/parameter/type"
|
||||||
|
|
||||||
|
apt_clean="$__object/parameter/apt-clean"
|
||||||
|
|
||||||
|
apt_dist_upgrade="$__object/parameter/apt-dist-upgrade"
|
||||||
|
|
||||||
if [ -f "$type" ]; then
|
if [ -f "$type" ]; then
|
||||||
type="$(cat "$type")"
|
type="$(cat "$type")"
|
||||||
else
|
else
|
||||||
|
@ -48,8 +52,15 @@ case "$type" in
|
||||||
echo "yum --quiet clean all"
|
echo "yum --quiet clean all"
|
||||||
;;
|
;;
|
||||||
apt)
|
apt)
|
||||||
echo $aptget dist-upgrade
|
if [ -f "$apt_dist_upgrade" ]
|
||||||
echo "apt-get --quiet autoclean"
|
then echo $aptget dist-upgrade
|
||||||
|
else echo $aptget upgrade
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$apt_clean" ]
|
||||||
|
then echo "apt-get --quiet clean"
|
||||||
|
else echo "apt-get --quiet autoclean"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
pacman)
|
pacman)
|
||||||
echo "pacman --noprogressbar --noconfirm --sync --sysupgrade"
|
echo "pacman --noprogressbar --noconfirm --sync --sysupgrade"
|
||||||
|
|
|
@ -28,6 +28,15 @@ type
|
||||||
* pacman for Arch Linux
|
* pacman for Arch Linux
|
||||||
|
|
||||||
|
|
||||||
|
BOOLEAN PARAMETERS
|
||||||
|
------------------
|
||||||
|
apt-dist-upgrade
|
||||||
|
Do dist-upgrade instead of upgrade.
|
||||||
|
|
||||||
|
apt-clean
|
||||||
|
Clean out the local repository of retrieved package files.
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
--------
|
--------
|
||||||
|
|
||||||
|
|
2
cdist/conf/type/__package_upgrade_all/parameter/boolean
Normal file
2
cdist/conf/type/__package_upgrade_all/parameter/boolean
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
apt-clean
|
||||||
|
apt-dist-upgrade
|
|
@ -104,7 +104,7 @@ if [ "$state" = "present" ]; then
|
||||||
if [ $# -gt 0 ]; then
|
if [ $# -gt 0 ]; then
|
||||||
echo mod >> "$__messages_out"
|
echo mod >> "$__messages_out"
|
||||||
if [ "$os" = "freebsd" ]; then
|
if [ "$os" = "freebsd" ]; then
|
||||||
echo pw usermod "$@" "$name"
|
echo pw usermod "$@" -n "$name"
|
||||||
else
|
else
|
||||||
echo usermod "$@" "$name"
|
echo usermod "$@" "$name"
|
||||||
fi
|
fi
|
||||||
|
@ -125,7 +125,7 @@ if [ "$state" = "present" ]; then
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$os" = "freebsd" ]; then
|
if [ "$os" = "freebsd" ]; then
|
||||||
echo pw useradd "$@" "$name"
|
echo pw useradd "$@" -n "$name"
|
||||||
else
|
else
|
||||||
echo useradd "$@" "$name"
|
echo useradd "$@" "$name"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -285,6 +285,7 @@ class Config(object):
|
||||||
host_fqdn = ''
|
host_fqdn = ''
|
||||||
|
|
||||||
target_host = (host, host_name, host_fqdn)
|
target_host = (host, host_name, host_fqdn)
|
||||||
|
log.debug("target_host: {}".format(target_host))
|
||||||
|
|
||||||
local = cdist.exec.local.Local(
|
local = cdist.exec.local.Local(
|
||||||
target_host=target_host,
|
target_host=target_host,
|
||||||
|
|
|
@ -100,9 +100,7 @@ class Code(object):
|
||||||
"""
|
"""
|
||||||
# target_host is tuple (target_host, target_hostname, target_fqdn)
|
# target_host is tuple (target_host, target_hostname, target_fqdn)
|
||||||
def __init__(self, target_host, local, remote):
|
def __init__(self, target_host, local, remote):
|
||||||
self.target_host = target_host[0]
|
self.target_host = target_host
|
||||||
self.target_hostname = target_host[1]
|
|
||||||
self.target_fqdn = target_host[2]
|
|
||||||
self.local = local
|
self.local = local
|
||||||
self.remote = remote
|
self.remote = remote
|
||||||
self.env = {
|
self.env = {
|
||||||
|
|
|
@ -2,6 +2,11 @@ Changelog
|
||||||
---------
|
---------
|
||||||
|
|
||||||
next:
|
next:
|
||||||
|
* Type __consul: add source and cksum files for Consul 0.7.0 and 0.7.1 (Carlos Ortigoza)
|
||||||
|
* Type __user: FreeBSD fix (Kamila Součková)
|
||||||
|
* New type: __apt_mark (Ander Punnar)
|
||||||
|
* Type __package_upgrade_all: do not dist-upgrade by default, add apt-clean and apt-dist-upgrade options (Ander Punnar)
|
||||||
|
* Core: fix target_host vars (Darko Poljak)
|
||||||
* All: Merge install feature from 4.0-pre-not-stable (Darko Poljak)
|
* All: Merge install feature from 4.0-pre-not-stable (Darko Poljak)
|
||||||
|
|
||||||
4.3.2: 2016-10-13
|
4.3.2: 2016-10-13
|
||||||
|
|
Loading…
Reference in a new issue