- added automatic set up of Emacs & VIM support for editing Puppet
  files on the Puppet master.
- improved report string: "Always up to date system info:" instead of
  "Max 1 min old system info available", it's easier to understand the
  first one :)
Merge branch 'master' of github.com:skybert/ece-scripts
- small bug fix in get_publication_short_name_list when installing
  from EAR files. Before, the user would get an error printed in the
  installation console when generating the deployment white list
  because $assembly_tool_home/publications couldn't be found.

  This has now been fixed.
- new feature: when installing using FAI mode, the user can specify a
  new parameter in ece-install.conf:

  fai_publication_deploy_white_list="mypub escenic-admin"

  which ece-install will heed.

  This parameter is especially useful when using EAR based
  installation as ece-install then doesn't have any good way of
  determining which web applications it should deploy.

  When using non-EAR deployment (the default if you will), ece-install
  will select the webapps to deploy out from the kind of profile
  you're installing. Most of the times, this will work fine, but you
  can then still use this new parameter to to specify the webapps you
  want to be deployed.
Made it compatible with puppet 2.6.14. Use hostname instead of fqdn.
- added "installed packages" to OS module, supp ported OSs:
  * RPM based ones
  * DEB based ones
- added an option to create per module based output files, e.g:

  $ system-info -m

  will create the following files in the current directory:

  11-list-ece-overview.sh.org
  44-db-info.sh.org
  44-java-info.sh.org
  55-list-services.sh.org
  66-list-hw-info.sh.org
  66-list-os-info.sh.org

  The output directory can be controlled by the -d parameter:

  $ system-info -m -d /var/www/system-info

  The aggregated summary will still be printed to standard out.
- added diagram showing how everything is thought to work together:

  1) The build server creates a new build (which it has been told by
     something to do.

  2) It creates a deployment descriptor for that matches the current
     build and copies this over to each of the ECE instances. In this
     example, this is "pres1".

  3) The deployment descriptor lands in the spool directory (used for
      e.g. imports), default wise this will be:
      /var/spool/escenic/deploy.<instance>

  4a) The puppet agent on the pres1 server checks for the presence of
      such a file, and if there, triggers a new-deploy of ECE.

  4b) The "ece start" checks if there is such a deployment descriptor
      and, if yes, triggers a new-deployment of ECE before it starts
      itself.

  5) "ece deploy" will then fetch the EAR from the build server,
     deploy the downloaded EAR and update deploy-pres1.state file,
     default wise in:
     /var/lib/escenic/deploy-dev1.state

  6) Whenever "ece info" is called, it will look for the presence of
     this file and present the deployment information contained therein.

     This information will also be available on overview pages like
     /escenic-admin
Merge branch 'master' of github.com:skybert/ece-scripts
- added
- added data dir
- new feature to "ece deploy": it now accepts a URI with the EAR to be
  deployed, e.g.:

  $ ece deploy -f http://localhost:5678/builds/engine-ap.no-1.2.3.ear
  [ece#engine-cohen] Deploying http://localhost:5678/builds/engine-ap.no-1.2.3.ear on cohen ...
  [ece#engine-cohen] Downloading EAR http://localhost:5678/builds/engine-ap.no-1.2.3.ear ...
  [ece#engine-cohen] Deploying /var/cache/escenic/engine-ap.no-1.2.3.ear on tomcat ...
  [ece#engine-cohen] Deployment white list active, only deploying: escenic-admin
  [ece#engine-cohen] Deployment state file updated: /var/lib/escenic/cohen.state

  "ece deploy" accepts the following URIs in the -f/--file parameter:
  * http://my.buildserver.com/engine-mysite.com-1.2.3.ear
  * https://my.buildserver.com/engine-mysite.com-1.2.3.ear
  * file:///tmp/engine-mysite.com-1.2.3.ear
  * /tmp/engine-mysite.com-1.2.3.ear

  This change closes issue #52

- "ece deploy" also updates a new deployment state file for the
  instance, this is written to <data_dir>/<instance>.state, default
  wise in /var/lib/escenic/<instance>.state

  The contents of this file looks like this:

  ear_used=http://localhost:5678/builds/engine-ap.no-1.2.3.ear
  version=ap.no-1.2.3
  md5_sum=5881d1895c09c7b35a032806c6249433
  deployed_date=Wed Mar 28 17:16:19 CST 2012

  "ece deploy" will remove the "engine-" in the EAR file name and make
  the rest before the .ear suffix into the version of the deployment:

     engine-mysite.com-1.2.3.ear -> version: mysite.com-1.2.3

- ece is now made modular, it can now use its own modules from
  /usr/share/escenic/ece-scripts/ece.d/.

- deployment code has been moved from ece to its own ece.d module.

- removed code from ece which is present in the common-bashing &
  common-os modules.

- added hardening to common-bashing, testing if the pid file is set,
  if it's readable and so on.

- made common-bashing's use of ID (used for user messages) more
  flexible.

- added feature to print() (taken from the ece script), that it checks
  if the user has asked for quiet operation (with the -q/--quiet
  parameter) and based on that only outputs the messages without an ID
  preceding them, e.g.:

  $ ece status
  DOWN

  instead of the normal one with ID:
  $ ece status
  [ece#engine-myinstance] DOWN

- made data_dir a necessary pre-requisite in ece.conf

- more flexible loading of common libraries in common-os (which needs
  common-bashing), also removed the loading of the common-pulse
  library from common-os as it's not used right now.

- added data_dir / /var/lib/escenic to the directories inti.d/ece
  takes care of.
- moved info related code to its own module
- new feature to "ece info": it now lists the deployment state of the
  instance:

  $ ece info
  [ece#engine-cohen] Current instance: cohen
  [..]
  [ece#engine-cohen] Deployment state:
  [ece#engine-cohen] |-> Version: ap.no-1.2.3
  [ece#engine-cohen] |-> EAR used: http://localhost:5678/builds/engine-ap.no-1.2.3.ear
  [ece#engine-cohen] |-> MD5 sum: 5881d1895c09c7b35a032806c6249433
  [ece#engine-cohen] |-> Deployment date: Wed Mar 28 18:03:56 CST 2012

  This closes #53
- "ece deploy": added --uri as a synonym for -f/--file, it feels
  better to write:

  $ ece deploy --uri http://server/engine.ear

- added BASH auto completion of -f, --file and --uri
- added useful fallback version string for cases were simply
  "engine.ear" is used in the file name (or indeed on the assembly
  host).
- ece-install now sets the data_dir inside the ece.conf, this is
  needed now that "ece deploy" updates a file in the data directory
  (the deployment state file).

  This is related to issue #52.
- added diagram definition to reflect:

  0) Puppet master has it in its .pp that the puppet agent should
    deploy the EAR from the build server if it's different from the
    one mentioned in the <instance>state file

  1) Build server builds a new EAR

  2) Puppet agent discovers that this is an updated EAR

  3) Calls "ece deploy -i <instance> --uri
  http://build/engien-1.2.3.ear

  4) "ece deploy " deploys the EAR and update the state file

  5) "ece info" uses this state file for reporting the new deployment
     state, which may also wander to other places like:

     * http://localhost:5678/
     * http://localhost:8080/escenic-admin/
- change from escenic to vizrt email address