Merge remote-tracking branch 'ungleich/master' into support-ipv6

This commit is contained in:
Darko Poljak 2016-11-28 08:00:46 +01:00
commit e663aaee08
16 changed files with 156 additions and 7 deletions

View 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

View 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

View 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.

View file

@ -0,0 +1 @@
name

View file

@ -0,0 +1 @@
state

View file

@ -0,0 +1 @@
695240564 24003648 consul

View file

@ -0,0 +1 @@
https://releases.hashicorp.com/consul/0.7.0/consul_0.7.0_linux_amd64.zip

View file

@ -0,0 +1 @@
3128343188 28402769 consul

View file

@ -0,0 +1 @@
https://releases.hashicorp.com/consul/0.7.1/consul_0.7.1_linux_amd64.zip

View file

@ -24,6 +24,10 @@
type="$__object/parameter/type"
apt_clean="$__object/parameter/apt-clean"
apt_dist_upgrade="$__object/parameter/apt-dist-upgrade"
if [ -f "$type" ]; then
type="$(cat "$type")"
else
@ -48,8 +52,15 @@ case "$type" in
echo "yum --quiet clean all"
;;
apt)
echo $aptget dist-upgrade
echo "apt-get --quiet autoclean"
if [ -f "$apt_dist_upgrade" ]
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)
echo "pacman --noprogressbar --noconfirm --sync --sysupgrade"

View file

@ -28,6 +28,15 @@ type
* 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
--------

View file

@ -0,0 +1,2 @@
apt-clean
apt-dist-upgrade

View file

@ -104,7 +104,7 @@ if [ "$state" = "present" ]; then
if [ $# -gt 0 ]; then
echo mod >> "$__messages_out"
if [ "$os" = "freebsd" ]; then
echo pw usermod "$@" "$name"
echo pw usermod "$@" -n "$name"
else
echo usermod "$@" "$name"
fi
@ -125,7 +125,7 @@ if [ "$state" = "present" ]; then
done
if [ "$os" = "freebsd" ]; then
echo pw useradd "$@" "$name"
echo pw useradd "$@" -n "$name"
else
echo useradd "$@" "$name"
fi

View file

@ -285,6 +285,7 @@ class Config(object):
host_fqdn = ''
target_host = (host, host_name, host_fqdn)
log.debug("target_host: {}".format(target_host))
local = cdist.exec.local.Local(
target_host=target_host,

View file

@ -100,9 +100,7 @@ class Code(object):
"""
# target_host is tuple (target_host, target_hostname, target_fqdn)
def __init__(self, target_host, local, remote):
self.target_host = target_host[0]
self.target_hostname = target_host[1]
self.target_fqdn = target_host[2]
self.target_host = target_host
self.local = local
self.remote = remote
self.env = {

View file

@ -2,6 +2,11 @@ Changelog
---------
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)
4.3.2: 2016-10-13