README for vm-support plugins

New manifests should be added via a .vib.  Manifests manually added via cp
will not persist across reboots.

Manifest file format:

   # Manifest name: <foo>
   # Manifest group: <bar>
   # Manifest default: Enabled/Disabled
   # action Options file/command
   copy   -               /etc/vmware/*
   run    -               vmware -v
   run    TIMEOUT=10      /sbin/esxcfg-info -a
   ...


Manifest name:
   Friendly, user visible name for this manifest.  Displayed in ViClient and
   via the cmdline vm-support. Must be a-zA-Z only, spaces and punctuation
   are not supported.

Manifest group:
   Used to organize manifests into logic groups.  e.g. System, VM, etc.
   Same charater restrictions as in the manifest name.  Extra groups
   can be added at will, and multiple manifests can be part of a single
   group.

Manifest Default
   Specifies whether or not to gather this data by default (used to exclude
   slow, and uncommon data groups).

Supported Manifest commands
   copy
      Adds the specified files into the bundle. Supports only the '*' wildcard
      (not full regular expressions).  It will not recursively descend
      directories unless RECURSE option is specified.

   safecopy
      like copy, but internally uses 'cat <filename>'. This prevents tar from
      erroring out on files (like proc nodes) that incorrectly report length
      info.  Timestamps will not be preserved on these files.

   run
      Runs the specified command and puts the output into the bundle. Output
      must be to stdout. Both stdout and stderr are redirected to the same file.

   vmfile
      Adds the specified file from the VM directory of all VMs into the bundle.
      Supports the same wildcards as the 'copy' command.  (ie *.log would add
      all vmware.log files from a vm to the bundle.)

   vmcmd
      Runs the specified command against all registered vms, substituting any
      instances of '{VMDIR}' and '{VMCFG}' for the paths to the vm's directory
      and config file.

   vmfscmd
      Runs the specified command against all volumes under /vmfs/volumes. Any
      instances of '{VMFS}' will be replaced with the full path to the vmfs
      volume.

   prune
      Ensures the specified file doesn't end up in the final vm-support.tgz.
      The prune command is global across all enabled manifests.  Wildcards
      are not supported.

Manifest Command Options
   TIMEOUT=<timeout in seconds>
      This command will be terminated if there is not at least some output
      generated at least every TIMEOUT seconds.

   IGNORE_ERROR
      Do not print an error if command exits with non-zero error code.

   IGNORE_MISSING
      Do not print an error if file missing.

   MAXSIZE=<size in bytes>
      Gather at most <size in bytes> of the specified file/command.  The file/cmd output
      will be truncated in vm-support.

   RECURSE
      recursively copy directories.

   RELOCATE=<new path in tar file>
      Put the output of this command at the specified location in the tar

   DUMP_JSON
      causes the command to be automatically run a 2nd time with the
      '--formatter=json" parameter added.  Output will be directed to th 'json'
      subdirectory of the tarball.  In the future, plain text output for
      these commands may be removed.  This command will work with all
      'localcli' commands.

