Available Checkers

path

This checker will copy the file or folder in the path specified into the configuration folder. It will also create a listing file next to the copied path containing a recursive listing of the copied file or folder containing as much ownership and permission information is available from the operating system on which Checker is running.

For example, the following configuration lines:

path:/some/folder
path:/another/file.cfg

results in the following files and folders being present in the configuration folder:

checker.txt
another/file.cfg
another/file.cfg.listing
some/folder.listing
some/folder/afile.cfg
some/folder/bfile.cfg

The listing files will contain information in the following style on unix systems:

/some/folder:
drwxr-xr-x root root .
-rw-r--r-- root root afile.cfg
-rw-r--r-- root root bfile.cfg

On Windows, they will look more like:

Directory of C:\some\folder

DOMAIN\User .
DOMAIN\User afile.cfg
DOMAIN\User bfile.cfg

This means that the implicit checker run on the configuration folder will show up any changes in the contents, ownership or permissions of any file or folder specified in a path checker.

command

This checker allows any command to be run and its output written to the file specified.

For example, the following configuration line:

command:services:chkconfig --list

Will result in the following commands being executed:

chkconfig --list

It will also result in the following being present in the configuration folder:

checker.txt
services

The services file will contain the output of running the commands, which in this case is likely to look something like:

cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off
sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
snmptrapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off

svn

This checker will perform an svn update -q followed by an svn status in the path specified. The output will be filtered to remove any information that doesn’t indicate a changed file or folder, such as subversion externals that are present in the checkout being examined.

For example, the following configuration line:

svn:/some/folder

Will result in the following commands being executed:

svn up -q /some/folder
svn status /some/folder

This means if there are any unknown files or files that have been changed in the checkout but not committed, they will be included in the output from checker.

Note

This checker requires the svn subversion client to be installed.

buildout

This checker will execute a buildout -o -q in the specified path. If the specified path is also a subversion checkout, it makes sense to preceed the buildout line with a svn line.

For example, the following configuration line:

svn:/some/folder
buildout:/some/folder

Will result in the following commands being executed:

svn up -q /some/folder
svn status /some/folder
chdir /some/folder
bin/buildout -o -q

This will effectively keep your buildout up to date and make sure that if any packages required by your buildout are not present, you will be notified.

crontab

This checker executes a crontab -l -u for the user supplied in the configuration and stores the output in a file in the configuration folder.

For example, the following configuration line:

crontab:root

Will result in the following being present in the configuration folder:

checker.txt
crontabs/root

The root file is likely to contain something like the following:

# A comment
* * * * * /your/cron/job
0 0 * * * /your/other/cron job

Warning

For the crontab checker to work, Checker must be run as the root user.

os_packages

This checker attempts to list the names and versions of the current packages installed by the operating system’s package manager.

The following commands will be tried in the order shown, with the first command that exists being used:

  • dpkg -l
  • yum list
  • up2date –showall

The resulting output will be placed in a file called os_packages in the configuration folder.

For example, the following configuration line:

os_packages:

Will result in the following files being present in the configuration folder:

checker.txt
os_packages

The contents of the file will depend on which command ends up being used.

If dpkg is used, os_packages will contain something like:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                      Version                   Description
+++-=========================-=========================-==================================================================
ii  ack-grep                  1.80-1                    A grep-like program specifically for large source trees
ii  adduser                   3.105ubuntu1              add and remove users and groups
ii  apache2                   2.2.8-1ubuntu0.10         Next generation, scalable, extendable web server

If yum is used, os_packages will contain something like:

Loaded plugins: rhnplugin, security
Excluding Packages in global exclude list
Finished
Installed Packages
MAKEDEV.x86_64                3.23-1.2            installed
OpenIPMI.x86_64               2.0.16-5.el5_4.1    installed
OpenIPMI-libs.x86_64          2.0.16-5.el5_4.1    installed
SysVinit.x86_64               2.86-15.el5         installed

If up2date is used, os_packages will contain something like:

4Suite-1.0-3.el4_8.1.i386
Canna-3.7p3-9.el4.i386
Canna-devel-3.7p3-9.el4.i386
Canna-libs-3.7p3-9.el4.i386
ElectricFence-2.2.2-19.i386

init

This checker records the run levels and priorities for the daemon named in the parameter on Debian and Ubuntu systems.

It does this by executing update-rc.d -n -f remove for the daemon specified in the configuration and stores the output in a file in the configuration folder.

For example, the following configuration line:

init:mysql

Will result in the following being present in the configuration folder:

checker.txt
init/mysql

The mysql file is likely to contain something like the following:

/etc/rc0.d/K21mysql
/etc/rc1.d/K21mysql
/etc/rc2.d/S19mysql
/etc/rc3.d/S19mysql
/etc/rc4.d/S19mysql
/etc/rc5.d/S19mysql
/etc/rc6.d/K21mysql

jenkins

This checker will copy the xml files from a Jenkins or Hudson home directory into the configuration folder. The tree structure of the home directory will be maintained. A text file called plugin-versions.txt will also be created that contains a list of all the plugin names installed along with their version.

For example, the following configuration line:

jenkins:/home/users/jenkins

Will result in something like the following being present in the configuration folder:

checker.txt
home/users/jenkins/hudson.model.UpdateCenter.xml
home/users/jenkins/jobs/some_job/config.xml
home/users/jenkins/nodeMonitors.xml
home/users/jenkins/plugin-versions.txt

Table Of Contents

Previous topic

Using Checker

Next topic

Development

This Page