Merge inventory from beta branch.
This commit is contained in:
parent
2b6177c9f7
commit
e2a1519332
28 changed files with 1769 additions and 36 deletions
|
|
@ -11,21 +11,46 @@ SYNOPSIS
|
|||
|
||||
::
|
||||
|
||||
cdist [-h] [-q] [-v] [-V] {banner,config,shell,install} ...
|
||||
cdist [-h] [-q] [-v] [-V] {banner,config,install,inventory,shell} ...
|
||||
|
||||
cdist banner [-h] [-q] [-v]
|
||||
|
||||
cdist config [-h] [-q] [-v] [-b] [-C CACHE_PATH_PATTERN] [-c CONF_DIR]
|
||||
[-i MANIFEST] [-j [JOBS]] [-n] [-o OUT_PATH]
|
||||
[--remote-copy REMOTE_COPY] [--remote-exec REMOTE_EXEC]
|
||||
[-f HOSTFILE] [-p] [-r REMOTE_OUT_PATH] [-s]
|
||||
[host [host ...]]
|
||||
[-r REMOTE_OUT_DIR] [--remote-copy REMOTE_COPY]
|
||||
[--remote-exec REMOTE_EXEC] [-I INVENTORY_DIR] [-A] [-a]
|
||||
[-f HOSTFILE] [-p] [-s] [-t]
|
||||
[host [host ...]]
|
||||
|
||||
cdist install [-h] [-q] [-v] [-b] [-C CACHE_PATH_PATTERN] [-c CONF_DIR]
|
||||
[-i MANIFEST] [-j [JOBS]] [-n] [-o OUT_PATH]
|
||||
[--remote-copy REMOTE_COPY] [--remote-exec REMOTE_EXEC]
|
||||
[-f HOSTFILE] [-p] [-r REMOTE_OUT_PATH] [-s]
|
||||
[host [host ...]]
|
||||
[-r REMOTE_OUT_DIR] [--remote-copy REMOTE_COPY]
|
||||
[--remote-exec REMOTE_EXEC] [-I INVENTORY_DIR] [-A] [-a]
|
||||
[-f HOSTFILE] [-p] [-s] [-t]
|
||||
[host [host ...]]
|
||||
|
||||
cdist inventory [-h] [-q] [-v] [-b] [-I INVENTORY_DIR]
|
||||
{add-host,add-tag,del-host,del-tag,list} ...
|
||||
|
||||
cdist inventory add-host [-h] [-q] [-v] [-b] [-I INVENTORY_DIR]
|
||||
[-f HOSTFILE]
|
||||
[host [host ...]]
|
||||
|
||||
cdist inventory add-tag [-h] [-q] [-v] [-b] [-I INVENTORY_DIR]
|
||||
[-f HOSTFILE] [-T TAGFILE] [-t TAGLIST]
|
||||
[host [host ...]]
|
||||
|
||||
cdist inventory del-host [-h] [-q] [-v] [-b] [-I INVENTORY_DIR] [-a]
|
||||
[-f HOSTFILE]
|
||||
[host [host ...]]
|
||||
|
||||
cdist inventory del-tag [-h] [-q] [-v] [-b] [-I INVENTORY_DIR] [-a]
|
||||
[-f HOSTFILE] [-T TAGFILE] [-t TAGLIST]
|
||||
[host [host ...]]
|
||||
|
||||
cdist inventory list [-h] [-q] [-v] [-b] [-I INVENTORY_DIR] [-a]
|
||||
[-f HOSTFILE] [-H] [-t]
|
||||
[host [host ...]]
|
||||
|
||||
cdist shell [-h] [-q] [-v] [-s SHELL]
|
||||
|
||||
|
|
@ -72,6 +97,15 @@ CONFIG/INSTALL
|
|||
--------------
|
||||
Configure/install one or more hosts.
|
||||
|
||||
.. option:: -A, --all-tagged
|
||||
|
||||
use all hosts present in tags db
|
||||
|
||||
.. option:: -a, --all
|
||||
|
||||
list hosts that have all specified tags, if -t/--tag
|
||||
is specified
|
||||
|
||||
.. option:: -b, --beta
|
||||
|
||||
Enable beta functionality.
|
||||
|
|
@ -103,6 +137,16 @@ Configure/install one or more hosts.
|
|||
read hosts from stdin. For the file format see
|
||||
:strong:`HOSTFILE FORMAT` below.
|
||||
|
||||
.. option:: -I INVENTORY_DIR, --inventory INVENTORY_DIR
|
||||
|
||||
Use specified custom inventory directory. Inventory
|
||||
directory is set up by the following rules: if this
|
||||
argument is set then specified directory is used, if
|
||||
CDIST_INVENTORY_DIR env var is set then its value is
|
||||
used, if HOME env var is set then ~/.cdit/inventory is
|
||||
used, otherwise distribution inventory directory is
|
||||
used.
|
||||
|
||||
.. option:: -i MANIFEST, --initial-manifest MANIFEST
|
||||
|
||||
Path to a cdist manifest or - to read from stdin
|
||||
|
|
@ -141,6 +185,10 @@ Configure/install one or more hosts.
|
|||
|
||||
Command to use for remote execution (should behave like ssh)
|
||||
|
||||
.. option:: -t, --tag
|
||||
|
||||
host is specified by tag, not hostname/address; list
|
||||
all hosts that contain any of specified tags
|
||||
|
||||
HOSTFILE FORMAT
|
||||
~~~~~~~~~~~~~~~
|
||||
|
|
@ -174,6 +222,246 @@ Resulting path is used to specify cache path subdirectory under which
|
|||
current host cache data are saved.
|
||||
|
||||
|
||||
INVENTORY
|
||||
---------
|
||||
Manage inventory database.
|
||||
Currently in beta with all sub-commands.
|
||||
|
||||
|
||||
INVENTORY ADD-HOST
|
||||
------------------
|
||||
Add host(s) to inventory database.
|
||||
|
||||
.. option:: host
|
||||
|
||||
host(s) to add
|
||||
|
||||
.. option:: -b, --beta
|
||||
|
||||
Enable beta functionalities. Beta functionalities
|
||||
include inventory command with all sub-commands and
|
||||
all options; config sub-command options: -j/--jobs,
|
||||
-t/--tag, -a/--all.
|
||||
|
||||
Can also be enabled using CDIST_BETA env var.
|
||||
|
||||
.. option:: -f HOSTFILE, --file HOSTFILE
|
||||
|
||||
Read additional hosts to add from specified file or
|
||||
from stdin if '-' (each host on separate line). If no
|
||||
host or host file is specified then, by default, read
|
||||
from stdin. Hostfile format is the same as config hostfile format.
|
||||
|
||||
.. option:: -h, --help
|
||||
|
||||
show this help message and exit
|
||||
|
||||
.. option:: -I INVENTORY_DIR, --inventory INVENTORY_DIR
|
||||
|
||||
Use specified custom inventory directory. Inventory
|
||||
directory is set up by the following rules: if this
|
||||
argument is set then specified directory is used, if
|
||||
CDIST_INVENTORY_DIR env var is set then its value is
|
||||
used, if HOME env var is set then ~/.cdist/inventory is
|
||||
used, otherwise distribution inventory directory is
|
||||
used.
|
||||
|
||||
|
||||
INVENTORY ADD-TAG
|
||||
-----------------
|
||||
Add tag(s) to inventory database.
|
||||
|
||||
.. option:: host
|
||||
|
||||
list of host(s) for which tags are added
|
||||
|
||||
.. option:: -b, --beta
|
||||
|
||||
Enable beta functionalities. Beta functionalities
|
||||
include inventory command with all sub-commands and
|
||||
all options; config sub-command options: -j/--jobs,
|
||||
-t/--tag, -a/--all.
|
||||
|
||||
Can also be enabled using CDIST_BETA env var.
|
||||
|
||||
.. option:: -f HOSTFILE, --file HOSTFILE
|
||||
|
||||
Read additional hosts to add tags from specified file
|
||||
or from stdin if '-' (each host on separate line). If
|
||||
no host or host file is specified then, by default,
|
||||
read from stdin. If no tags/tagfile nor hosts/hostfile
|
||||
are specified then tags are read from stdin and are
|
||||
added to all hosts. Hostfile format is the same as config hostfile format.
|
||||
|
||||
.. option:: -I INVENTORY_DIR, --inventory INVENTORY_DIR
|
||||
|
||||
Use specified custom inventory directory. Inventory
|
||||
directory is set up by the following rules: if this
|
||||
argument is set then specified directory is used, if
|
||||
CDIST_INVENTORY_DIR env var is set then its value is
|
||||
used, if HOME env var is set then ~/.cdist/inventory is
|
||||
used, otherwise distribution inventory directory is
|
||||
used.
|
||||
|
||||
.. option:: -T TAGFILE, --tag-file TAGFILE
|
||||
|
||||
Read additional tags to add from specified file or
|
||||
from stdin if '-' (each tag on separate line). If no
|
||||
tag or tag file is specified then, by default, read
|
||||
from stdin. If no tags/tagfile nor hosts/hostfile are
|
||||
specified then tags are read from stdin and are added
|
||||
to all hosts. Tagfile format is the same as config hostfile format.
|
||||
|
||||
.. option:: -t TAGLIST, --taglist TAGLIST
|
||||
|
||||
Tag list to be added for specified host(s), comma
|
||||
separated values
|
||||
|
||||
|
||||
INVENTORY DEL-HOST
|
||||
------------------
|
||||
Delete host(s) from inventory database.
|
||||
|
||||
.. option:: host
|
||||
|
||||
host(s) to delete
|
||||
|
||||
.. option:: -a, --all
|
||||
|
||||
Delete all hosts
|
||||
|
||||
.. option:: -b, --beta
|
||||
|
||||
Enable beta functionalities. Beta functionalities
|
||||
include inventory command with all sub-commands and
|
||||
all options; config sub-command options: -j/--jobs,
|
||||
-t/--tag, -a/--all.
|
||||
|
||||
Can also be enabled using CDIST_BETA env var.
|
||||
|
||||
.. option:: -f HOSTFILE, --file HOSTFILE
|
||||
|
||||
Read additional hosts to delete from specified file or
|
||||
from stdin if '-' (each host on separate line). If no
|
||||
host or host file is specified then, by default, read
|
||||
from stdin. Hostfile format is the same as config hostfile format.
|
||||
|
||||
.. option:: -I INVENTORY_DIR, --inventory INVENTORY_DIR
|
||||
|
||||
Use specified custom inventory directory. Inventory
|
||||
directory is set up by the following rules: if this
|
||||
argument is set then specified directory is used, if
|
||||
CDIST_INVENTORY_DIR env var is set then its value is
|
||||
used, if HOME env var is set then ~/.cdist/inventory is
|
||||
used, otherwise distribution inventory directory is
|
||||
used.
|
||||
|
||||
|
||||
INVENTORY DEL-TAG
|
||||
-----------------
|
||||
Delete tag(s) from inventory database.
|
||||
|
||||
.. option:: host
|
||||
|
||||
list of host(s) for which tags are deleted
|
||||
|
||||
.. option:: -a, --all
|
||||
|
||||
Delete all tags for specified host(s)
|
||||
|
||||
.. option:: -b, --beta
|
||||
|
||||
Enable beta functionalities. Beta functionalities
|
||||
include inventory command with all sub-commands and
|
||||
all options; config sub-command options: -j/--jobs,
|
||||
-t/--tag, -a/--all.
|
||||
|
||||
Can also be enabled using CDIST_BETA env var.
|
||||
|
||||
.. option:: -f HOSTFILE, --file HOSTFILE
|
||||
|
||||
Read additional hosts to delete tags for from
|
||||
specified file or from stdin if '-' (each host on
|
||||
separate line). If no host or host file is specified
|
||||
then, by default, read from stdin. If no tags/tagfile
|
||||
nor hosts/hostfile are specified then tags are read
|
||||
from stdin and are deleted from all hosts. Hostfile
|
||||
format is the same as config hostfile format.
|
||||
|
||||
.. option:: -I INVENTORY_DIR, --inventory INVENTORY_DIR
|
||||
|
||||
Use specified custom inventory directory. Inventory
|
||||
directory is set up by the following rules: if this
|
||||
argument is set then specified directory is used, if
|
||||
CDIST_INVENTORY_DIR env var is set then its value is
|
||||
used, if HOME env var is set then ~/.cdist/inventory is
|
||||
used, otherwise distribution inventory directory is
|
||||
used.
|
||||
|
||||
.. option:: -T TAGFILE, --tag-file TAGFILE
|
||||
|
||||
Read additional tags from specified file or from stdin
|
||||
if '-' (each tag on separate line). If no tag or tag
|
||||
file is specified then, by default, read from stdin.
|
||||
If no tags/tagfile nor hosts/hostfile are specified
|
||||
then tags are read from stdin and are added to all
|
||||
hosts. Tagfile format is the same as config hostfile format.
|
||||
|
||||
.. option:: -t TAGLIST, --taglist TAGLIST
|
||||
|
||||
Tag list to be deleted for specified host(s), comma
|
||||
separated values
|
||||
|
||||
|
||||
INVENTORY LIST
|
||||
--------------
|
||||
List inventory database.
|
||||
|
||||
.. option:: host
|
||||
|
||||
host(s) to list
|
||||
|
||||
.. option:: -a, --all
|
||||
|
||||
list hosts that have all specified tags, if -t/--tag
|
||||
is specified
|
||||
|
||||
.. option:: -b, --beta
|
||||
|
||||
Enable beta functionalities. Beta functionalities
|
||||
include inventory command with all sub-commands and
|
||||
all options; config sub-command options: -j/--jobs,
|
||||
-t/--tag, -a/--all.
|
||||
|
||||
Can also be enabled using CDIST_BETA env var.
|
||||
|
||||
.. option:: -f HOSTFILE, --file HOSTFILE
|
||||
|
||||
Read additional hosts to list from specified file or
|
||||
from stdin if '-' (each host on separate line). If no
|
||||
host or host file is specified then, by default, list
|
||||
all. Hostfile format is the same as config hostfile format.
|
||||
|
||||
.. option:: -H, --host-only
|
||||
|
||||
Suppress tags listing
|
||||
|
||||
.. option:: -I INVENTORY_DIR, --inventory INVENTORY_DIR
|
||||
|
||||
Use specified custom inventory directory. Inventory
|
||||
directory is set up by the following rules: if this
|
||||
argument is set then specified directory is used, if
|
||||
CDIST_INVENTORY_DIR env var is set then its value is
|
||||
used, if HOME env var is set then ~/.cdist/inventory is
|
||||
used, otherwise distribution inventory directory is
|
||||
used.
|
||||
|
||||
.. option:: -t, --tag
|
||||
|
||||
host is specified by tag, not hostname/address; list
|
||||
all hosts that contain any of specified tags
|
||||
|
||||
|
||||
SHELL
|
||||
-----
|
||||
This command allows you to spawn a shell that enables access
|
||||
|
|
@ -186,14 +474,21 @@ usage. Its primary use is for debugging type parameters.
|
|||
Select shell to use, defaults to current shell. Used shell should
|
||||
be POSIX compatible shell.
|
||||
|
||||
|
||||
FILES
|
||||
-----
|
||||
~/.cdist
|
||||
Your personal cdist config directory. If exists it will be
|
||||
automatically used.
|
||||
~/.cdist/inventory
|
||||
The home inventory directory. If ~/.cdist exists it will be used as
|
||||
default inventory directory.
|
||||
cdist/conf
|
||||
The distribution configuration directory. It contains official types and
|
||||
explorers. This path is relative to cdist installation directory.
|
||||
cdist/inventory
|
||||
The distribution inventory directory.
|
||||
This path is relative to cdist installation directory.
|
||||
|
||||
NOTES
|
||||
-----
|
||||
|
|
@ -243,6 +538,43 @@ EXAMPLES
|
|||
# Install ikq05.ethz.ch with debug enabled
|
||||
% cdist install -vvv ikq05.ethz.ch
|
||||
|
||||
# List inventory content
|
||||
% cdist inventory list -b
|
||||
|
||||
# List inventory for specified host localhost
|
||||
% cdist inventory list -b localhost
|
||||
|
||||
# List inventory for specified tag loadbalancer
|
||||
% cdist inventory list -b -t loadbalancer
|
||||
|
||||
# Add hosts to inventory
|
||||
% cdist inventory add-host -b web1 web2 web3
|
||||
|
||||
# Delete hosts from file old-hosts from inventory
|
||||
% cdist inventory del-host -b -f old-hosts
|
||||
|
||||
# Add tags to specifed hosts
|
||||
% cdist inventory add-tag -b -t europe,croatia,web,static web1 web2
|
||||
|
||||
# Add tag to all hosts in inventory
|
||||
% cdist inventory add-tag -b -t vm
|
||||
|
||||
# Delete all tags from specified host
|
||||
% cdist inventory del-tag -b -a localhost
|
||||
|
||||
# Delete tags read from stdin from hosts specified by file hosts
|
||||
% cdist inventory del-tag -b -T - -f hosts
|
||||
|
||||
# Configure hosts from inventory with any of specified tags
|
||||
% cdist config -b -t web dynamic
|
||||
|
||||
# Configure hosts from inventory with all specified tags
|
||||
% cdist config -b -t -a web dynamic
|
||||
|
||||
# Configure all hosts from inventory db
|
||||
$ cdist config -b -A
|
||||
|
||||
|
||||
ENVIRONMENT
|
||||
-----------
|
||||
TMPDIR, TEMP, TMP
|
||||
|
|
@ -272,6 +604,9 @@ CDIST_REMOTE_EXEC
|
|||
CDIST_REMOTE_COPY
|
||||
Use this command for remote copy (should behave like scp).
|
||||
|
||||
CDIST_INVENTORY_DIR
|
||||
Use this directory as inventory directory.
|
||||
|
||||
CDIST_BETA
|
||||
Enable beta functionality.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue