Merge branch 'master' of github.com:ungleich/cdist

This commit is contained in:
Darko Poljak 2017-06-01 09:01:18 +02:00
commit 9687cb4517
12 changed files with 51 additions and 12 deletions

View file

@ -0,0 +1 @@
283033689 36101209 consul

View file

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

View file

@ -23,7 +23,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
scientific|centos|redhat|ubuntu|debian|archlinux|gentoo)
scientific|centos|redhat|ubuntu|debian|devuan|archlinux|gentoo)
# any linux should work
:
;;

View file

@ -23,7 +23,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
scientific|centos|debian|redhat|ubuntu)
scientific|centos|debian|devuan|redhat|ubuntu)
# whitelist safeguard
:
;;
@ -215,7 +215,11 @@ case "$os" in
esac
;;
ubuntu)
init_upstart
;;
devuan)
init_sysvinit debian
;;
ubuntu)
init_upstart
;;
esac

View file

@ -24,6 +24,9 @@ OPTIONAL PARAMETERS
check-interval
the interval in which the script given with --check-script should be run
check-http
the URL to check for HTTP 200-ish status every --check-interval
check-script
the shell command to run every --check-interval

View file

@ -32,6 +32,10 @@ if [ -f "$__object/parameter/check-script" -a ! -f "$__object/parameter/check-in
echo "When using --check-script you must also define --check-interval" >&2
exit 1
fi
if [ -f "$__object/parameter/check-http" -a ! -f "$__object/parameter/check-interval" ]; then
echo "When using --check-http you must also define --check-interval" >&2
exit 1
fi
# Generate json config file
(
@ -52,6 +56,12 @@ for param in $(ls "$__object/parameter/"); do
printf ' "ttl": "%s"\n' "$(cat "$__object/parameter/check-ttl")"
printf ' }\n'
;;
check-http)
printf ' ,"check": {\n'
printf ' "http": "%s"\n' "$(cat "$__object/parameter/check-http")"
printf ' ,"interval": "%s"\n' "$(cat "$__object/parameter/check-interval")"
printf ' }\n'
;;
tag)
# create json array from newline delimited file
tags="$(awk '{printf "\""$1"\","}' "$__object/parameter/tag")"

View file

@ -1,3 +1,4 @@
check-http
check-interval
check-script
check-ttl

View file

@ -1,5 +1,5 @@
cdist-type__golang_from_vendor(7)
=====================
=================================
NAME
----

View file

@ -22,7 +22,7 @@
os=$(cat "$__global/explorer/os")
case "$os" in
redhat|centos|ubuntu|debian|archlinux)
redhat|centos|ubuntu|debian|devuan|archlinux)
:
;;
*)

View file

@ -27,6 +27,8 @@ import time
import itertools
import tempfile
import socket
import atexit
import shutil
import cdist
import cdist.hostsource
@ -92,7 +94,6 @@ class Config(object):
"failed: %s" % e))
args.manifest = initial_manifest_temp_path
import atexit
atexit.register(lambda: os.remove(initial_manifest_temp_path))
# default remote cmd patterns
@ -176,8 +177,15 @@ class Config(object):
" ".join(failed_hosts))
@classmethod
def _resolve_remote_cmds(cls, args, host_base_path):
control_path = os.path.join(host_base_path, "ssh-control-path")
def _resolve_ssh_control_path(cls):
base_path = tempfile.mkdtemp()
control_path = os.path.join(base_path, "s")
atexit.register(lambda: shutil.rmtree(base_path))
return control_path
@classmethod
def _resolve_remote_cmds(cls, args):
control_path = cls._resolve_ssh_control_path()
# If we constructed patterns for remote commands then there is
# placeholder for ssh ControlPath, format it and we have unique
# ControlPath for each host.
@ -200,8 +208,7 @@ class Config(object):
log = logging.getLogger(host)
try:
remote_exec, remote_copy = cls._resolve_remote_cmds(
args, host_base_path)
remote_exec, remote_copy = cls._resolve_remote_cmds(args)
log.debug("remote_exec for host \"{}\": {}".format(
host, remote_exec))
log.debug("remote_copy for host \"{}\": {}".format(

View file

@ -1,6 +1,13 @@
Changelog
---------
next:
* Type __golang_from_vendor: Install golang from https://golang.org/dl/ (Kamila Součková)
* Type __go_get: Install go packages using go get (Kamila Součková)
* Explorer kernel_name: uname -s (Kamila Součková)
* Type __sysctl: Add devuan support (Nico Schottelius)
* Core: Shorten ssh control path (Darko Poljak)
4.4.2: 2017-03-08
* Core: Fix suppression of manifests' outputs (Darko Poljak)
* Type __user_groups: Support FreeBSD (Andres Erbsen)

View file

@ -0,0 +1,5 @@
* After constructs don't exist
Flow as implemented on 2013-04-12 has the problem of not allowing
*after* constructs.
* "Type explorer & manifests only" is broken
Doesn't catch external dependencies