November, 2010



ctys-vdbgen - generates databases of VMs and PMs




   [-d <debug-level>]
   [-H <help-options>]


ctys-vdbgen generates databases containing inventory data and static generic address mapping for VMs and PMs. The data is collectred from configuration files with additional data from prorietary vendor interfaces and stored for usage by ctys-vhosts (Address-Resolution). The collection of the inventory data is perfomed by scanning local and remote machines. The scan could be applied with by pre-defined constraints for scope and performance variation such as the operational states of the VMs and the specific assigned hypervisors, or restrictions on the search scope for filesystem locations limited to specific partitions or directory-subtrees. The scan once started is executed fully automated, just an operational installation of the UnifiedSessionsManager and access privileges for the scan-operator has to be pre-assured. The scanned database could be shared and utilized by numerous runtime components, e.g. virtual nameservices and graphical starters. The facilities scale up to thousands of entries even by the usage of a spreadsheet compatible file database.

Dynamic entities without persistent data are not scanned into the database and are handled by their dynamic data only. Dynamic entities are for now CLI, RDP, VNC, and X11 instances.

The whole automated initial creation of the cacheDB takes some Minutes for scanning filesystems and presents than the actually available stock of VMs and PMs. The contained entities could be addressed from than on by various attributes. The call interfaces of all components provide for the option '-p' for the selection of alternative databases, e.g. for specific views or pre-validation of test-scans without influence on the production environment. The common database is shared by the whole set of utilities including commandline tools and graphical applications.

Database creation and application

The database contains the hypervisors KVM, QEMU, VBOX, VMW, and XEN, additionally PMs. For each entry also default login desktops or commandline applications are stored for automation of console interconnection as well as native logins - based on CLI, X11, VNC, and RDP.

ctys-vdbgen itself is a wrapper for ctys -a ENUMERATE=machine....

The output of the ENUMERATE action for a given list is stored into one file contained in the given <output-db-directory-path>, or "$HOME/.ctys/db/default" respectively.

The mapping contains available VMs for a given list of PMs as well as the PMs. Multiple databases could be generated as specific access-groups which could be selected by the standard parameter -p for all ctys utilities with "cacheDB" access.

The scanned entities rely either on proprietary vendor files or interfaces, and/or on ctys specific configuration files containing extended GuestOS information. These documented ctys configuration files could be created by the utility ctys-createConfVM automatic, or interactive. Alternatively manual creation could be proceeded. These stored configuration could be in general imported into the UnifiedSessionsManager by the ENUMERATE action for dynamic runtime purposes as well as for storage within the database.


Due to the defaults described in the following subsection for options, the call

  ctys-vdbgen <host1> <host2> ...

leads to the default call

  ${HOME}/bin/ctys -a enumerate=machine,b:\$HOME >\
    ${HOME}/.ctys/db/default/enum.fdb <host1> <host2> ...

Where the PM plugin by default additionaly checks for the PM configuration which is located in


For additional information refer to GENMCONF.

A special append-mode is supported for addition of data. This mode does a pure concatenation only, redundancy of added data is not tested. Therefore the user should be aware, when calling append mode, whether he already updated the data of that node.

The deletion of data has to be performed manually for now, a simple ASC-II editor, MS-Excel, or the spreadsheet application of OpenOffice could be used for this task. The data format is described in the appendix of the ctys manual.


When debian is accessed with an automounted filesystem the internal call of 'find' command does not force the mount including recognition of the complete contained filesystem, even worse, does this different call-by-call! So the work-around for now is either a fixed mount, or a 'ls -R' before the scan.




The following options are case sensitive, thus are required literally. If not printed properly, word-options have 2 leading hyphens '-'+'-'="--".


This activates the append mode, just appending data to present fdb or creating a new if missing. The modes append, replace, and stdio are exclusive and could not be combined.

This is foreseen for addition of minor changes and avoiding a long running recollection of each data set from each target.


Background mode, refer to common options -b


A <base-path-list> to be scanned exclusively. This can be combined with multiple targets and the "--append" mode for quick addition of specific new VMs. The path could be the contianing directory for a single VM only.


Nameservice caching mode, refer to common options -c


Result data caching mode, refer to common options -C


Pathname for directory containing DB file to be created. This file stores the mapping records generated from ctys-ENUMERATE literally.

The evaluation order priority and predefined default values for the directory is defined as follows:


This switches off several defaults and assumes that a configuration file with a complete CONTEXT is provided.

The explicit suppression of defaults is required, due to the addition of chained context options for dialogue based entries from right to left. The evaluation of superposing options is proceeded from-left-to-right. Thus the last wins, so the last dialogue entries have the highest priority.


Print help, refer to "-H" for additional information.

-H <help-option>

The extended help option is based on system interfaces for display of manpages, PDF and HTML documents. This comprises the man pages and installed manuals.

For additional help refer to the documents or type ctys -H help.


This deactivates the splitted mode and passes the whole parallel operations control to ctys controlled by the parameter -b


This activates the formatted table output, therefore some traces are filtered and displayed in a compact overview, indicating the progress and required processing time.

For the application of the "--progress" option additionally the appropriate trace switches for the target has to be set. This is due to the required activation of the appropriate trace output for post-filtering on local machine. In case of usage of MACROS or GROUPS these could be stored permanenetly as required.

E.g. the following -d context options for the target of enumeration required to be present.

  ctys-vdbgen \
  --cacheDB=/home/tstusr/.ctys/db/tmp \
  --append \
  --base=qemu \
  -- \
  lab00'(-d 2,s:16,w:0,p)'

When "progress" choosen the data for each displayed instance is a post-result, calculated as a sumup after finished processing. For continuous display refer to "progressall".


This activates the formatted table output with continuous display, where the data is filtered as well, but any relevant entity with an intermidiate result is displayed. The final sum-up data is additionally displayed as soon as the somplete set of results for the current entity is available.


This activates the explicit replace mode, which is required when a "enum.fdb" alread exists. Choosing this will delete the present "enum.fdb", when the data has to be kept, make a backup before activating this option. The modes append, replace, and stdio are exclusive and could not be combined.


This option ignores the actual avaiability of an appropriate hypervisor and scans all present configurations. This is particularly helpful for test environments, where the hypervisor on a machine might be changed frequently.


This provides for the by-target-and-by-session splitted parallel operations. This option utilizes the -b seq,ser option and establishes it's own background and parallel operations control. The number of parallel tasks is controlled by the environment variable CTYS_VDBGEN_PARTARGETS which is set to DEFAULT=10. In addition for each task a temporary cache file is created within the cacheDB directory and kept for later analysis. Thus e.g. in case of machine and plugin specific bug-tracing the specific results are availabel for fast analysis.


Keeps temporary files when in 'splitted' mode. These have to be removed manually once kept.


Writes it's output to STDOUT only. The modes append, replace, and stdio are exclusive and could not be combined.


Number of tasks to be scanned in parallel, applicable for 'splitted' mode only. Default is CTYS_VDBGEN_PARTARGETS=10.


Session type, refer to common options -t .


Preload of session type plugins, refer to common options -T




Terse output format, effects "-V" when set left-of.



Any target to be enumerated, could be hosts and nested groups. Additional context arguments are supported, but should be added carefully, e.g. a non-applicable action like '-a CREATE' will lead to misfunction.

Current version supports lists of one or more intermixed host and groups without suboptions. Suboptions are provided as pre-positioned common options for all, or within group files as CONTEXT. The default scan options for the '--progress' indicator are set implicitly, when the option is selected.



0: OK:
Result is valid.

1: NOK:
Erroneous parameters.

2: NOK:
Missing an environment element like files or databases.


ctys manuals
ctys-user-manual-online, ctys-howto-online, ctys-command-reference-online, or ctys-user-manual-print, ctys-howto-print, ctys-command-reference-print,

ctys configuration
ctys-configuration-PM(7), ctys-configuration-QEMU(7), ctys-configuration-VBOX(7), ctys-configuration-VMW(7), ctys-configuration-XEN(7)

ctys use-cases
ctys-uc-PM(7), ctys-uc-QEMU(7), ctys-uc-VBOX(7), ctys-uc-VMW(7), ctys-uc-XEN(7)

ctys plugins
ctys-KVM(7), ctys-QEMU(7), ctys-VMV(7), ctys-XEN(7), ctys-VBOX(7)

ctys-CLI(1), ctys-PM(1), ctys-RDP(1), ctys-VNC(1), ctys-X11(1)

ctys executables
ctys-distribute(1), ctys-genmconf(1), ctys-vping(1), ctys-plugins(1), ctys-vhost(1)

system executables


Written and maintained by Arno-Can Uestuensoez:

Maintenance: <<acue_sf1 (a) users sourceforge net>>
Homepage: <http://www.UnifiedSessionsManager.org>
Sourceforge.net: <http://sourceforge.net/projects/ctys>
Berlios.de: <http://ctys.berlios.de>
Commercial: <http://www.i4p.com>


Copyright (C) 2008, 2009, 2010, 2011 Ingenieurbuero Arno-Can Uestuensoez

For BASE package following licenses apply,

This document is part of the DOC package,

For additional information refer to enclosed Releasenotes and License files.