<font size=2 face="sans-serif">Thanks to work by several colleagues, I
can share a non-trivial Heat template for a system that we have been using
as an example to work.  It is in the TAR archive here:</font>
<br>
<br><a href="https://drive.google.com/file/d/0BypF9OutGsW3Z2JqVTcxaW1BeXc/edit?usp=sharing"><font size=2 face="sans-serif">https://drive.google.com/file/d/0BypF9OutGsW3Z2JqVTcxaW1BeXc/edit?usp=sharing</font></a>
<br>
<br><font size=2 face="sans-serif">Start at connections.yaml.  Also
in the archive are other files referenced from that template.</font>
<br>
<br><font size=2 face="sans-serif">The system described is a non-trival
J2EE application, IBM Connections.  It is a suite of collaboration
applications, including things like wiki, file sharing, blogs, and directory
of people.  It is deployed into a system of WebSphere application
servers.  The servers are organized into four "clusters"
of four servers each; each server is a VM with a single application server.
 The applications are partitioned among the four clusters.  There
is also a "deployment manager", a VM and process used to manage
the application servers.  There is also a pair of HTTP servers ---
the "IBM Http Server" (IHS), basically the Apache httpd.  There
is also a database server, running DB2.  This system makes reference
to an external (not deployed by the template) NFS server and an extenal
LDAP server.  The template describes both the VMs and the configuration
of the software on them.  The images used have the IBM software installed
but not configured.</font>
<br>
<br><font size=2 face="sans-serif">This template (and the referenced files)
were produced by automatic translation from sources expressed in Weaver
into a Heat template that is ready to run.  Weaver is a system for
describing both infrastructure and software configuration (based on Chef).
 A Weaver description is a modular Ruby program that computes a model
of the infrastructure and software; Weaver includes certain constructs
tailored to this job, you may think of this as a DSL embedded in Ruby.
 The cross-machine dependencies are described abstractly in the source,
connected to things in the Chef.  Weaver uses an implementation that
is different from the one being implemented now; Weaver's is based on communication
through Zookeeper.  You will see in the Heat the convolution of the
user's input and Weaver's implementation (as Heat has no built in support
for this mechanism).  (I say these things not as a sales pitch, but
to explain what you will see.)</font>
<br>
<br><font size=2 face="sans-serif">You will not be able to instantiate
this template, as it has several references to external servers that are
part of our environment, including those mentioned above.  In fact,
I have edited the external references to remove some private details.  This
template is presented as an example to look at.</font>
<br>
<br><font size=2 face="sans-serif">Regards,</font>
<br><font size=2 face="sans-serif">Mike</font>