Skip to content

Commit

Permalink
Merge pull request #17 from jrha/17.8.0
Browse files Browse the repository at this point in the history
Add 17.8.0 documentation
  • Loading branch information
jrha authored Nov 27, 2017
2 parents ce61360 + bcef212 commit 1547a56
Show file tree
Hide file tree
Showing 16 changed files with 346 additions and 517 deletions.
3 changes: 3 additions & 0 deletions docs/components/accounts::functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
### Functions

- is_user_or_group
- Arguments:
- the type ('user' or 'group')
- the name(s). Can be more than one argument or a single list of names. All arguments have to be defined.
- create_group
- create_user
- create_accounts_from_db
Expand Down
3 changes: 0 additions & 3 deletions docs/components/authconfig::schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -551,9 +551,6 @@
- Optional
- Type: boolean
- Default value: false
- `/software/authconfig/authconfig_component/startstop`
- Optional
- Type: boolean
- `/software/authconfig/authconfig_component/usemd5`
- Description: Enable the use of MD5 hashed password.
- Optional
Expand Down
151 changes: 27 additions & 124 deletions docs/components/cron.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

### NAME

cron -- NCM component to control cron entries for Linux and Solaris.
`ncm-cron` -- NCM component to control cron entries for Linux and Solaris.

### DESCRIPTION

Expand All @@ -10,138 +10,41 @@ and the `/var/spool/cron/crontabs` directory on Solaris.

#### Linux

> Files managed by ncm-cron will have the ncm-cron.cron suffix. Other files in
> the directory are not affected by this component. The name of each file will be
> taken from the nlist `name`.
Files managed by `ncm-cron` will have the `.ncm-cron.cron` suffix. Other files in
the directory are not affected by this component. The name of each file will be
taken from the `name` attribute.

#### Solaris

> Solaris uses an older version of cron that does not make use of a cron.d
> directory for crontabs. Ncm-cron **shares** the crontab with each user. To make
> this work ncm-cron uses the concept of separate file **sections** within the
> crontab. Each **section** is identified by the use of the tags `NCM-CRON BEGIN:`
> and `NCM-CRON END:`. Entries either side of these section identifiers are not
> modified.
>
> Solaris **does** have a `/etc/cron.d` directory, however it uses this directory
> for control files such as `cron.allow` and `cron.deny`.
Solaris uses an older version of cron that does not make use of a cron.d
directory for crontabs. `ncm-cron` **shares** the crontab with each user. To make
this work `ncm-cron` uses the concept of separate file **sections** within the
crontab. Each **section** is identified by the use of the tags `NCM-CRON BEGIN:`
and `NCM-CRON END:`. Entries either side of these section identifiers are not
modified.

### MAIN RESOURCES

#### `/software/components/cron/entries`

A list containing cron structures (described above).

### ENTRY RESOURCES

Each cron entry in the `/software/components/cron/entries` list may
contain the properties and resources described below. One of `frequency`
or `timing` must be specified.

- **command** : string (required)

Command line to execute, including all its options.

Default : None

- **comment** : string (optional)

An optional comment to add at the beginning of the cron file.

Default : None

- **env** : nlist (optional)

An optional nlist containing environment variable that must be
defined before executing the command. Key is
the variable name, value is variable value.

Default : None

- **frequency** : string (optional)

Execution frequency for the command, using standard cron syntax.
Minutes field can be `AUTO :` in this case,
a random value between 0 and 59 inclusive is generated.
This can be used to avoid too many machines executing the same
cron at the same time. See also the `timing` element.

Default : None

- **group** : string (optional)

Group to use to run the command. Defaults to user's primary group.

Default : user's primary group

- **log** : nlist (optional)

A nlist allowing to define specific attributes for cron log file.
Supported attributes are :

- name

Name of the log file. If the name is not an absolute file name, file is created in `/var/log`.
Default name is the cron file name with .log extension in `/var/log`.

- owner

Owner/group of the log file, using `owner:group` format. group can be ommitted.

- mode

Permissions of log file specified as a string interpreted as an octal number.

- disabled

A boolean value disabling the redirection of script output/error to a log file

- **name** : string (required)

Name of the cron entry file to create.

Default : None

- **timing** : nlist (optional)

If the `timing` nlist is used to specify the time, it can contain any of the
keys: `minute`, `hour`, `day`, `month` and `weekday`. An unspecified key will
have a value of `*`. A further key of 'smear' can be used to specify (in
minutes) a maximum interval for smearing the start time, which can be as much
as a day. When a smeared job is created, a random increment between zero and
the smear time is applied to the start time of the job. If the start time
results in the job running on the following day, then all other fields (day,
weekday, etc) will be suitably modified. When smearing is specified, then the
start minute (and possibly hour, if smear is more than one hour) must be
specified as a simple absolute (e.g. '2') and cannot be variations such as
lists or ranges. Time specifications such as ranges, lists and steps are
supported except for named values (e.g. "1" must be used instead of "mon").

- **user** : string (optional)

User to use to run the command.

Default : root
Solaris **does** have a `/etc/cron.d` directory, however it uses this directory
for control files such as `cron.allow` and `cron.deny`.

### EXAMPLE

"/software/components/cron/entries" = list(
nlist(
"name","ls",
"user","root",
"group","root",
dict(
"name", "ls",
"user", "root",
"group", "root",
"frequency", "*/2 * * * *",
"command", "/bin/ls"),
nlist(
"name","hostname",
dict(
"name", "hostname",
"comment", "some interesting text",
"frequency", "*/2 * * * *",
"command", "/bin/hostname"),
"env", nlist("MAILTO", "[email protected]"),
nlist(
"env", dict("MAILTO", "[email protected]"),
dict(
"name", "date",
"comment", "runs the date sometime within a 3 hour period",
"timing", nlist(
"timing", dict(
"minute", "0",
"hour", "1",
"smear", 180),
Expand All @@ -158,9 +61,9 @@ On Solaris three extra entries will be added to the root crontab.

### Solaris

> Editing the `NCM-CRON BEGIN:` and/or the `NCM-CRON END:` tag within a crontab will
> cause unpredictable behaviour. Possible behavours are duplicate entries or
> entries being removed altogether.
>
> Editing BETWEEN the tags will cause the edits to be overwritten the next time
> ncm-cron runs.
Editing the `NCM-CRON BEGIN:` and/or the `NCM-CRON END:` tag within a crontab will
cause unpredictable behaviour. Possible behavours are duplicate entries or
entries being removed altogether.

Editing BETWEEN the tags will cause the edits to be overwritten the next time
ncm-cron runs.
47 changes: 42 additions & 5 deletions docs/components/cron::schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,24 @@
- Optional
- Type: string
- `/software/cron/structure_cron_log`
- Description:
Define specific attributes for cron log file.

- `/software/cron/structure_cron_log/disabled`
- Description: A boolean disabling the redirection of script output/error to a log file
- Optional
- Type: boolean
- `/software/cron/structure_cron_log/name`
- Description: Name of the log file. If the name is not an absolute file name, file is created in /var/log.
Default name is the cron filename with .log extension in /var/log.
- Optional
- Type: string
- `/software/cron/structure_cron_log/owner`
- Description: Owner/group of the log file, using owner[:group] format. Group can be ommitted.
- Optional
- Type: string
- `/software/cron/structure_cron_log/mode`
- Description: Permissions of log file specified as a string interpreted as an octal number.
- Optional
- Type: string
- `/software/cron/structure_cron_timing`
Expand All @@ -52,27 +60,52 @@
- Range: 0..1440
- `/software/cron/structure_cron`
- `/software/cron/structure_cron/name`
- Description: Filename (without suffix) of the cron entry file to create.
- Optional
- Type: string
- `/software/cron/structure_cron/user`
- Description: User to use to run the command. Defaults to root if none defined
- Optional
- Type: string
- `/software/cron/structure_cron/group`
- Description: Group to use to run the command. Defaults to user's primary group.
- Optional
- Type: string
- `/software/cron/structure_cron/frequency`
- Description: Execution frequency for the command, using standard cron syntax.
Minutes field can be 'AUTO :' in which case,
a random value between 0 and 59 inclusive is generated.
This can be used to avoid too many machines executing the same
cron at the same time. See also the C<timing> element.
- Optional
- Type: string
- `/software/cron/structure_cron/timing`
- Description: If the 'timing' dict is used to specify the time, it can contain any of the
keys: 'minute', 'hour', 'day', 'month' and 'weekday'. An unspecified key will
have a value of '*'. A further key of 'smear' can be used to specify (in
minutes) a maximum interval for smearing the start time, which can be as much
as a day. When a smeared job is created, a random increment between zero and
the smear time is applied to the start time of the job. If the start time
results in the job running on the following day, then all other fields (day,
weekday, etc) will be suitably modified. When smearing is specified, then the
start minute (and possibly hour, if smear is more than one hour) must be
specified as a simple absolute (e.g. '2') and cannot be variations such as
lists or ranges. Time specifications such as ranges, lists and steps are
supported except for named values (e.g. "1" must be used instead of "mon").
- Optional
- Type: structure_cron_timing
- `/software/cron/structure_cron/command`
- Description: Command line to execute, including all its options.
- Optional
- Type: string
- `/software/cron/structure_cron/comment`
- Description: An optional comment to add at the beginning of the cron file.
- Optional
- Type: string
- `/software/cron/structure_cron/env`
- Description: An optional dict containing environment variable that must be
defined before executing the command. Key is
the variable name, value is variable value.
- Optional
- Type: string
- `/software/cron/structure_cron/log`
Expand All @@ -81,21 +114,25 @@
- `/software/cron/structure_cron/syslog`
- Optional
- Type: structure_cron_syslog
- `/software/cron/component_cron`
- `/software/cron/component_cron/entries`
- `/software/cron/cron_component`
- `/software/cron/cron_component/entries`
- Description: A list containing cron structures (described above).
- Optional
- Type: structure_cron
- `/software/cron/component_cron/deny`
- `/software/cron/cron_component/deny`
- Optional
- Type: string
- `/software/cron/component_cron/allow`
- `/software/cron/cron_component/allow`
- Optional
- Type: string
- `/software/cron/component_cron/securitypath`
- `/software/cron/cron_component/securitypath`
- Optional
- Type: string
- Default value: /etc

### Functions

- structure_cron_log_valid
- Description:
Function to check that other log properties are not present when disabled is true

15 changes: 0 additions & 15 deletions docs/components/directoryservices.md

This file was deleted.

11 changes: 0 additions & 11 deletions docs/components/directoryservices::schema.md

This file was deleted.

55 changes: 0 additions & 55 deletions docs/components/gmond.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,58 +4,3 @@
The _gmond_ component manages Ganglia's gmond daemon.
This daemon collects information at a node and uses multicast to distribute it
over the network.

#### GMOND

The organization of the schema is very similar to the layout of the resulting configuration file.
Please read Ganglia's documentation on the configuration of gmond for details.

- `/software/components/gmond/file` : string

The location of the configuration file. The correct value differs between
Ganglia 3.0 (`/etc/gmond.conf`) and Ganglia 3.1 (`/etc/ganglia/gmond.conf`).
There is no default value.

- `/software/components/gmond/cluster`

Cluster configuration with attributes name, owner, latlong and url.

- `/software/components/gmond/host`

Host configuration with attribute location.

- `/software/components/gmond/globals`

Configuration of gmond, with attributes daemonize, setuid, user, debug\_level,
mute, deaf, host\_dmax, cleanup\_threshold, gexec, send\_metadata\_interval and module\_dir.

- `/software/components/gmond/udp_send_channel`

List of UDP channels to send information to.
Per channel the attributes mcast\_join, mcast\_if, host, port and ttl may be configured.

- `/software/components/gmond/udp_recv_channel`

List of UDP channels to receive information from.
Per channel the attributes mcast\_join, mcast\_if, bind, port, family and an acl may be configured.

- `/software/components/gmond/tcp_accept_channel`

List of TCP channels from which information is accepted.
Per channel the attributes bind, port, family, timeout and an acl may be configured.

- `/software/components/gmond/collection_group`

List of collection groups.
Per collection group the attributes collect\_once, collect\_every, time\_threshold and a list of
metric descriptions can be specified.
For each metric, the attributes name, title and value\_threshold can be given.

- `/software/components/gmond/module`

List of modules.
Per module the attributes name, language, path, params and param can be specified.

- `/software/components/gmond/include`

Optional list of additional files to include.
Loading

0 comments on commit 1547a56

Please sign in to comment.