forked from ungleich-public/cdist
Merge branch 'scanner' into 'master'
usable cdist scan See merge request ungleich-public/cdist!993
This commit is contained in:
commit
44eeb4bbfc
6 changed files with 342 additions and 122 deletions
82
docs/src/cdist-scan.rst
Normal file
82
docs/src/cdist-scan.rst
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
Scan
|
||||
=====
|
||||
|
||||
Description
|
||||
-----------
|
||||
Runs cdist as a daemon that discover/watch on hosts and reconfigure them
|
||||
periodically. It is especially useful in netboot-based environment where hosts
|
||||
boot unconfigured, and to ensure your infrastructure stays in sync with your
|
||||
configuration.
|
||||
|
||||
This feature is still consider to be in **beta** stage, and only operate on
|
||||
IPv6 (including link-local).
|
||||
|
||||
Usage (Examples)
|
||||
----------------
|
||||
|
||||
Discover hosts on local network and configure those whose name is resolved by
|
||||
the name mapper script.
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ cdist scan --beta --interface eth0 \
|
||||
--mode scan --name-mapper path/to/script \
|
||||
--mode trigger --mode config
|
||||
|
||||
List known hosts and exit.
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ cdist scan --beta --list --name-mapper path/to/script
|
||||
|
||||
Please refer to `cdist(1)` for a detailed list of parameters.
|
||||
|
||||
Modes
|
||||
-----
|
||||
|
||||
The scanner has 3 modes that can be independently toggled. If the `--mode`
|
||||
parameter is not specified, only `tigger` and `scan` are enabled (= hosts are
|
||||
not configured).
|
||||
|
||||
trigger
|
||||
Send ICMPv6 requests to specific hosts or broadcast over IPv6 link-local to
|
||||
trigger detection by the `scan` module.
|
||||
|
||||
scan
|
||||
Watch for incoming ICMPv6 replies and optionally configure detected hosts.
|
||||
|
||||
config
|
||||
Enable configuration of hosts detected by `scan`.
|
||||
|
||||
Name Mapper Script
|
||||
------------------
|
||||
|
||||
The name mapper script takes an IPv6 address as first argument and writes the
|
||||
resolved name to stdout - if any. The script must be executable.
|
||||
|
||||
Simplest script:
|
||||
|
||||
.. code-block:: sh
|
||||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
"fe80::20d:b9ff:fe57:3524")
|
||||
printf "my-host-01"
|
||||
;;
|
||||
"fe80::7603:bdff:fe05:89bb")
|
||||
printf "my-host-02"
|
||||
;;
|
||||
esac
|
||||
|
||||
Resolving name from `PTR` DNS record:
|
||||
|
||||
.. code-block:: sh
|
||||
#!/bin/sh
|
||||
|
||||
for cmd in dig sed; do
|
||||
if ! command -v $cmd > /dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
dig +short -x "$1" | sed -e 's/.$//'
|
||||
|
|
@ -34,6 +34,7 @@ It natively supports IPv6 since the first release.
|
|||
cdist-parallelization
|
||||
cdist-inventory
|
||||
cdist-preos
|
||||
cdist-scan
|
||||
cdist-integration
|
||||
cdist-reference
|
||||
cdist-best-practice
|
||||
|
|
|
|||
|
|
@ -88,6 +88,9 @@ SYNOPSIS
|
|||
cdist info [-h] [-a] [-c CONF_DIR] [-e] [-F] [-f] [-g CONFIG_FILE] [-t]
|
||||
[pattern]
|
||||
|
||||
cdist scan -I INTERFACE [--m MODE] [--name-mapper PATH_TO_SCRIPT] [--list]
|
||||
[-d CONFIG_DELAY] [-t TRIGGER_DELAY]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
|
@ -641,6 +644,31 @@ Display information for cdist (global explorers, types).
|
|||
**-t, --types**
|
||||
Display info for types.
|
||||
|
||||
SCAN
|
||||
----
|
||||
|
||||
Runs cdist as a daemon that discover/watch on hosts and reconfigure them
|
||||
periodically.
|
||||
|
||||
**-I INTERFACE, --interfaces INTERFACE**
|
||||
Interface to listen on. Can be specified multiple times.
|
||||
|
||||
**-m MODE, --mode MODE**
|
||||
Scanner components to enable. Can be specified multiple time to enable more
|
||||
than one component. Supported modes are: scan, trigger and config. Defaults
|
||||
to tiggger and scan.
|
||||
|
||||
**--name-mapper PATH_TO_SCRIPT**
|
||||
Path to script used to resolve a remote host name from an IPv6 address.
|
||||
|
||||
**--list**
|
||||
List known hosts and exit.
|
||||
|
||||
**-d CONFIG_DELAY, --config-delay CONFIG_DELAY**
|
||||
How long (seconds) to wait before reconfiguring after last try (config mode only).
|
||||
|
||||
**-t TRIGGER_DELAY, --tigger-delay TRIGGER_DELAY**
|
||||
How long (seconds) to wait between ICMPv6 echo requests (trigger mode only).
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue