← Back to team overview

orchestra team mailing list archive

[Merge] lp:~gandelman-a/orchestra/850892 into lp:orchestra

 

Adam Gandelman has proposed merging lp:~gandelman-a/orchestra/850892 into lp:orchestra.

Requested reviews:
  orchestra (orchestra)
Related bugs:
  Bug #850892 in orchestra (Ubuntu): "orchestra-import-isos does not update"
  https://bugs.launchpad.net/ubuntu/+source/orchestra/+bug/850892

For more details, see:
https://code.launchpad.net/~gandelman-a/orchestra/850892/+merge/83696

This sets the default behavior of the script to import_isos if no arguments are passed (current cron job expects this behavior).

Also, adds a check for updates (via cobbler-ubuntu-import) of remote ISOs and updates existing distros with the more recent ISOs (also via cobbler-ubuntu-import).  Existing profiles and systems that are descendants of the updated distro are preserved.

-- 
https://code.launchpad.net/~gandelman-a/orchestra/850892/+merge/83696
Your team orchestra is requested to review the proposed merge of lp:~gandelman-a/orchestra/850892 into lp:orchestra.
=== added file 'COPYING'
--- COPYING	1970-01-01 00:00:00 +0000
+++ COPYING	2011-11-28 21:48:20 +0000
@@ -0,0 +1,661 @@
+                    GNU AFFERO GENERAL PUBLIC LICENSE
+                       Version 3, 19 November 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU Affero General Public License is a free, copyleft license for
+software and other kinds of works, specifically designed to ensure
+cooperation with the community in the case of network server software.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+our General Public Licenses are intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  Developers that use our General Public Licenses protect your rights
+with two steps: (1) assert copyright on the software, and (2) offer
+you this License which gives you legal permission to copy, distribute
+and/or modify the software.
+
+  A secondary benefit of defending all users' freedom is that
+improvements made in alternate versions of the program, if they
+receive widespread use, become available for other developers to
+incorporate.  Many developers of free software are heartened and
+encouraged by the resulting cooperation.  However, in the case of
+software used on network servers, this result may fail to come about.
+The GNU General Public License permits making a modified version and
+letting the public access it on a server without ever releasing its
+source code to the public.
+
+  The GNU Affero General Public License is designed specifically to
+ensure that, in such cases, the modified source code becomes available
+to the community.  It requires the operator of a network server to
+provide the source code of the modified version running there to the
+users of that server.  Therefore, public use of a modified version, on
+a publicly accessible server, gives the public access to the source
+code of the modified version.
+
+  An older license, called the Affero General Public License and
+published by Affero, was designed to accomplish similar goals.  This is
+a different license, not a version of the Affero GPL, but Affero has
+released a new version of the Affero GPL which permits relicensing under
+this license.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU Affero General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Remote Network Interaction; Use with the GNU General Public License.
+
+  Notwithstanding any other provision of this License, if you modify the
+Program, your modified version must prominently offer all users
+interacting with it remotely through a computer network (if your version
+supports such interaction) an opportunity to receive the Corresponding
+Source of your version by providing access to the Corresponding Source
+from a network server at no charge, through some standard or customary
+means of facilitating copying of software.  This Corresponding Source
+shall include the Corresponding Source for any work covered by version 3
+of the GNU General Public License that is incorporated pursuant to the
+following paragraph.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the work with which it is combined will remain governed by version
+3 of the GNU General Public License.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU Affero General Public License from time to time.  Such new versions
+will be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU Affero General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU Affero General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU Affero General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU Affero General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If your software can interact with users remotely through a computer
+network, you should also make sure that it provides a way for users to
+get its source.  For example, if your program is a web application, its
+interface could display a "Source" link that leads users to an archive
+of the code.  There are many ways you could offer source, and different
+solutions will be better for different programs; see section 13 for the
+specific requirements.
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU AGPL, see
+<http://www.gnu.org/licenses/>.

=== renamed file 'COPYING' => 'COPYING.moved'
=== added file 'ChangeLog'
--- ChangeLog	1970-01-01 00:00:00 +0000
+++ ChangeLog	2011-11-28 21:48:20 +0000
@@ -0,0 +1,818 @@
+orchestra (2.24) unreleased; urgency=low
+
+  * debian/control:
+    - Fix orchestra-client-juju package description. (LP: #893658)
+  * orchestra-import-isos: Add --update-profiles to update all the profiles
+    based on modified etc/orchestra/import_isos config file. (LP: #891950)
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Tue, 22 Nov 2011 15:22:22 -0500
+
+orchestra (2.23-0ubuntu1) precise; urgency=low
+
+  [ Andres Rodriguez ]
+  * Install preseeds in var/lib/cobbler/kickstarts to make them editable
+    in cobbler's webui. Do not create symlinks. (LP: #882943)
+  * orchestra-import-isos: Change KSDIR default to /var/lib/cobbler/kickstarts
+    instead of /var/lib/orchestra/kickstarts.
+  * orchestra/utils/keys.py: Return "true" for preseed not to fail if keys
+    are not found or empty. (LP: #891915)
+  * debconf question to select whether to run orchestra-import-isos on
+    installation. (LP: #892328)
+
+  [ Dustin Kirkland ]
+  * debian/control:
+    - recommend ccze for log monitoring, it's awesome!
+    - package arrangement per UDS-Orlando live session
+
+  [ Adam Gandelman ]
+  * Update references to squid directories and config files to point to
+    squid3 equivalent
+  * squid.conf: Update for squid3 compat. Removed: 'acl all src all' (now
+    built-into squid3), broken_vary_encoding (not supported in squid3),
+    upgrade_http0.9 + extension_methods (deprecated, no longer necessary)
+  * debian/ubuntu-orchestra-provisioning-server.postinst: Backup original
+    squid.conf if it exists.  Stop squid3 before populating directory structure
+    as it won't happen if squid3 is already running, later restart will fail.
+    (LP: #892330)
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 18 Nov 2011 16:41:46 -0500
+
+orchestra (2.22-0ubuntu1) precise; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-provisioning-server.postinst, provisioning-
+    server/usr/share/orchestra/conf/squid.conf:
+    - raise maximum squid object size to 750MB (to handle caching ISOs)
+    - split squid spools in big and small file caches
+    - ensure squid swap directories get created
+  * debian/control:
+    - add a binary meta package 'orchestra', short for
+      'ubuntu-orchestra--server'
+
+  [ Andres Rodriguez ]
+  * debian/ubuntu-orchestra-provisioning-server.links: Add orchestra.pressed
+  * provisioning-server/usr/sbin/orchestra-import-isos: Use orchestra.preseed
+    in both newly imported ISO's and already existent.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 27 Oct 2011 15:10:48 -0400
+
+orchestra (2.21-0ubuntu1) oneiric; urgency=low
+
+  [ Marc Cluet ]
+  * debian/ubuntu-orchestra-logging-server.postinst
+    - Make sure we create the base log directory and apply proper permissions
+  
+  * logging-server/etc/cron.d/remote_syslog_compress (LP: #869134)
+    - Change the target compress directory from remote to orchestra
+    - Change the compression time to 48 hours instead of 24 hours
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 06 Oct 2011 12:54:57 -0400
+
+orchestra (2.20-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - fix dpkg reconfigure test, LP: #868029
+  * provisioning-server/var/lib/orchestra/kickstarts/juju.preseed,
+    provisioning-server/var/lib/orchestra/kickstarts/orchestra.preseed,
+    provisioning-server/var/lib/orchestra/kickstarts/ubuntu-natty-
+    x86_64.seed: LP: #868037
+    - deprecate old preseed
+    - resurrect inadvertently deleted preseed
+    - ensure iscsi question doesn't block automated installs
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 05 Oct 2011 17:01:29 -0400
+
+orchestra (2.19-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/control: LP: #862778
+    - put /etc under revision control on orchestra clients; particularly
+      necessary when systems are handled by JuJu
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 29 Sep 2011 17:11:31 -0400
+
+orchestra (2.18-0ubuntu1) oneiric; urgency=low
+
+  * provisioning-server/usr/share/orchestra/conf/squid.conf: LP: #860944
+    - cleaner fix for not caching Packages|Release|Sources
+  * provisioning-server/usr/sbin/orchestra-import-isos: LP: #855921
+    - default to choosing 'auto' interface, allow overrides; required
+      for orchestra to work with multiple NIC systems
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 29 Sep 2011 09:40:42 -0400
+
+orchestra (2.17-0ubuntu1) oneiric; urgency=low
+
+  * provisioning-server/usr/share/orchestra/conf/squid.conf: LP: #860944
+    - Fix bugs in squid.conf, which are failing network installs
+    - Do *not* cache [Releases|Packages|Sources] lists for Ubuntu archives
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 28 Sep 2011 17:30:35 -0400
+
+orchestra (2.16-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-logging-server.dirs, logging-
+    server/etc/rsyslog.d/99-orchestra.conf:
+    - fix logging directories, use Year-Month-Day, add an rsyslog subdir
+  * logging-server/etc/rsyslog.d/99-orchestra.conf:
+    - enable udp syslog for Ubuntu installation logging
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - add installation syslogging config to kopts
+  * provisioning-server/etc/orchestra/import_isos, provisioning-
+    server/usr/sbin/orchestra-import-isos: LP: #855921
+    - default to choosing eth0 interface, allow overrides; required
+      for orchestra to work with multiple NIC systems
+
+  [ Andres Rodriguez ]
+  * Only install ubuntu-orchestra-client when deploying oneiric or above.
+    Manually grab packages for lucid, maverick, natty. (LP: #855956)
+    - orchestra_client_package: Snippet added.
+    - juju.preseed: Modified preseed to use new snippet
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Tue, 27 Sep 2011 14:34:36 -0400
+
+orchestra (2.15-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * provisioning-server/etc/cron.d/orchestra-import-isos:
+    - must have user in cron.d job
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Tue, 27 Sep 2011 08:27:52 -0400
+
+orchestra (2.14-0ubuntu1) oneiric; urgency=low
+
+  [ Adam Gandelman ]
+  * Use correct formula dir for juju's webdav storage. Now formulas are
+    called  charms (LP: #852250)
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 16 Sep 2011 20:55:42 -0400
+
+orchestra (2.13-0ubuntu1) oneiric; urgency=low
+
+  * Handle generation of cloud-init's meta-data and late_command for
+    user-data and meta-data from the orchestra side. So that this is not
+    done from the juju/ensemble. (LP: #850260)
+  * Change any reference for 'ensemble' to 'juju' (LP: #851967).
+  * Move etc/orchestra/ubuntu-orchestra-client.seed to examples.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 16 Sep 2011 11:16:08 -0400
+
+orchestra (2.12-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.postinst: Fix bashism. 
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Wed, 14 Sep 2011 13:00:29 -0400
+
+orchestra (2.11-0ubuntu1) oneiric; urgency=low
+
+  * Set the DHCP range if DNS/DHCP is managed by orchestra (LP: #844082):
+    - debian/ubuntu-orchestra-provisioning-server.templates: Add question.
+    - debian/ubuntu-orchestra-provisioning-server.config: Obtain configured
+      range.
+    - debian/ubuntu-orchestra-provisioning-server.postinst: Handle the
+      change in the configuration.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Wed, 07 Sep 2011 17:13:31 -0400
+
+orchestra (2.10-0ubuntu1) oneiric; urgency=low
+
+  * Fix late_command to import client keys (LP: #837541):
+    - orchestra/utils/keys.py.
+    - provisioning-server: modify orchestra_rsyslog_client_config snippet;
+      add orchestra_rsyslog_obtain_keys.
+    - ensemble.preseed: use orchestra_rsyslog_obtain_keys snippet;
+      additionally, set password for default user.
+  * orchestra/utils/keys.py: Encode late command not template.
+  * Set the default GW if DNS/DHCP is managed by orchestra (LP: #838243):
+    - debian/ubuntu-orchestra-provisioning-server.postinst: Handle the GW
+      configuration. Ask debconf question only after DHCP/DNS question is
+      answered.
+    - debian/ubuntu-orchestra-provisioning-server.templates: Add debconf
+      question.
+  * Set the domain name for DHCP when managed by orchestra (LP: #834172):
+    - debian/ubuntu-orchestra-provisioning-server.postinst: Add logic to
+      set/unset hostname.
+    - debian/ubuntu-orchestra-provisioning-server.templates: Add
+      dnsmasq-domain-name template.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 01 Sep 2011 20:24:09 -0400
+
+orchestra (2.9-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.postinst: Re-enable
+    orchestra-import-isos.
+  * provisioning-server/usr/share/orchestra/conf/squid.conf: Change
+    to better settings
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Wed, 24 Aug 2011 14:13:16 -0400
+
+orchestra (2.8-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/control: LP: #825406
+    - recommend ntp on both clients and server; arguably, we could point
+      orchestra clients at the orchestra server, but if we go that route,
+      we'd need to ensure we satisfy #104525
+  * === added directory client/etc, === added directory
+    client/etc/sudoers.d, client/etc/sudoers.d/orchestra, debian/ubuntu-
+    orchestra-client.postinst:
+    - add the orchestra user to the client, give sudo access to power
+      management administrative utilities
+
+  [ Andres Rodriguez ]
+  * debian/ubuntu-orchestra-logging-server.postinst: Fix $home path;
+    Fix path to certtool cfg file. change ownership of ssl files to
+    syslog. (LP: #832335)
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - Do not comment at end of changed modules settings in
+      cobbler. (LP: #828288)
+    - Only create ensemble-dav.conf symlink when necessary.
+    - Use apache2ctl to restart otherwise it never returns from
+      configure. (LP: #832331)
+  * debian/ubuntu-orchestra-provisioning-server.postrm:
+    - Use apache2ctl to restart otherwise it never returns from purge
+      step. (LP: #832337)
+  * Change logging server to use TLS instead (LP: #832341):
+    - logging-server/etc/rsyslog.d/99-orchestra.conf: Update config file
+      to use TLS instead.
+    - logging-server/usr/share/orchestra/rsyslog/orchestra-server.conf:
+      Update with sample config for TLS.
+    - debian/control: Depends/Recommends on rsyslog-gnutls.
+  * debian/ubuntu-orchestra-client.postinst: Correctly set server for
+    rsyslog and add missing 'fi'.
+  * client/etc/rsyslog.d/99-orchestra.conf: Add based on file installed in
+    usr/share. This way it will not "cat" a file on postinst. (LP: #832344)
+  * orchestra/utils/keys.py: Add util to handle zip and encode key to be
+    used by rsyslog's cobbler snippet to install keys on client
+    machine. (LP: #832347)
+    - debian/{control,rules}: Use dh_python2.
+    - debian/ubuntu-orchestra-common.install: Add and Install files.
+    - provisioning-server/var/lib/cobbler/snippets:
+      + orchestra_rsyslog_client_config: Import orchestra python module.
+  * Fix some lintian warnings
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Tue, 23 Aug 2011 17:03:54 -0400
+
+orchestra (2.7-0ubuntu1) oneiric; urgency=low
+
+  * Move installation and configuration of webdav for ensemble to the
+    provisioning server.
+    - debian/ubuntu-orchestra-management-server.{postinst,postrm}: remove
+  * provisioning-server/var/lib/
+    - cobbler/snippets/orchestra_rsyslog_client_config: Add rsyslog
+      client config to set the syslog server automatically.
+    - orchestra/kickstarts/ensemble.preseed: Load above snippet
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 12 Aug 2011 15:01:17 -0400
+
+orchestra (2.6-0ubuntu1) oneiric; urgency=low
+
+  [ Andres Rodriguez ]
+
+  [ Dustin Kirkland ]
+  * debian/control, debian/ubuntu-orchestra-logging-server.postinst,
+    debian/ubuntu-orchestra-provisioning-server.postinst, logging-
+    server/usr/share/orchestra/rsyslog/certtool.cfg:
+    - re-add ssl/ssh key generation
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 11 Aug 2011 16:52:40 -0500
+
+orchestra (2.5-0ubuntu1) oneiric; urgency=low
+
+  * debian/control:
+    - ubuntu-orchestra-client Depends on python-software-properties.
+    - remove Depends on ensemble.
+  * provisioning-server/var/lib/orchestra/kickstarts/ensemble.preseed:
+    - Install ubuntu-orchestra-client instead of manually specifying packages.
+  * provisioning-server/usr/share/orchestra/examples/ensemble/environments.yaml
+    - Install sample ensemble environments.yaml file for orchestra.
+  * Remove dotdee:
+    - debian/control: Drop Depends on dotdee.
+    - management-server/etc: Removed.
+  * debian/ubuntu-orchestra-provisioning-server.templates: Change template
+    name to dnsmasq-enabled
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 11 Aug 2011 15:30:08 -0400
+
+orchestra (2.4-0ubuntu1) oneiric; urgency=low
+
+  [ Andres Rodriguez ]
+  * Remove puppet dotdee config, orchestra pupppet.conf.d/ files, manifests,
+    and cloud-init stuff.
+  * debian/
+    - control: Drop Recommends on ubuntu-orchestra-modules, Recommends on
+      dnsmasq.
+    - ubuntu-orchestra-provisioning-server.links: Symlink ensemble preseed
+      into cobbler kickstarts path.
+  * provisioning-server/usr/sbing/orchestra-import-isos,
+    provisioning-server/etc/orchestra/import_isos:
+    - Add logic to create ensemble sub-profile and add ksopts.
+
+  [ Dustin Kirkland ]
+  * debian/control, provisioning-server/etc/orchestra/import_isos,
+    provisioning-server/usr/sbin/orchestra-import-isos:
+    - the common logic for importing iso's have been moved over to the
+      cobbler-ubuntu-import tool in cobbler
+  * debian/control, debian/ubuntu-orchestra-management-server.postinst,
+    debian/ubuntu-orchestra-provisioning-server.postinst:
+    - fix the squid configuration, move it to provisioning server
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - debconf not needed here
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - remove unneeded imports and profile additions
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 11 Aug 2011 14:05:20 -0400
+
+orchestra (2.3-0ubuntu1) oneiric; urgency=low
+
+  [ Juan L. Negron ]
+  * debian/control:
+    - Added facter and facter-customfacts-plugin dependencies.
+      (LP: #814042).
+
+  [ Dustin Kirkland ]
+  * debian/control:
+    - And then removed facter dependencies, LP: #821608
+  * debian/ubuntu-orchestra-client.postinst, debian/ubuntu-orchestra-
+    management-server.config, debian/ubuntu-orchestra-management-
+    server.postinst, debian/ubuntu-orchestra-management-server.postrm,
+    debian/ubuntu-orchestra-management-server.templates, debian/ubuntu-
+    orchestra-management-server.upstart, debian/ubuntu-orchestra-
+    provisioning-server.postinst:
+    - deprecate some puppet and fact specific code
+  * debian/ubuntu-orchestra-provisioning-server.config, debian/ubuntu-
+    orchestra-provisioning-server.postinst, debian/ubuntu-orchestra-
+    provisioning-server.templates:
+    - add dnsmasq debconf/configuration
+  * debian/control, debian/ubuntu-orchestra-management-server.postinst,
+    debian/ubuntu-orchestra-provisioning-server.preinst, provisioning-
+    server/usr/share/man/man8/orchestra-import-isos.8, provisioning-
+    server/usr/share/orchestra/conf/squid.conf, provisioning-
+    server/var/lib/cobbler/snippets/orchestra_proxy, provisioning-
+    server/var/lib/orchestra/kickstarts/ensemble.preseed, provisioning-
+    server/var/lib/orchestra/kickstarts/ubuntu-natty-x86_64.seed:
+    - replace squid-deb-proxy with just basic squid, configured to
+      our needs (s-d-q turned out to be fragile quite often)
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - avoid errors overwriting existing distros
+    - set mem to 512MB, disk to 40G
+
+  [ Andres Rodriguez and Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - enable/config webdav
+  * === added directory management-server/etc/apache2, === added
+    directory management-server/etc/apache2/conf.d, management-
+    server/etc/apache2/conf.d/dav.conf, management-
+    server/etc/apache2/conf.d/ensemble-dav.conf, provisioning-
+    server/var/lib/cobbler/snippets/orchestra_disable_pxe, provisioning-
+    server/var/lib/cobbler/snippets/orchestra_ensemble_late_command,
+    provisioning-server/var/lib/orchestra/kickstarts/ensemble.preseed:
+    - ensemble preseed and webdav configuration files
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 10 Aug 2011 14:29:20 -0500
+
+orchestra (2.1-0ubuntu1) oneiric; urgency=low
+
+  * debian/control, provisioning-server/etc/orchestra/ubuntu-orchestra-
+    client.preseed:
+    - move the packages needed in the client to the client meta package
+  * docs/build.sh, docs/buildtool/Apache.xml,
+    docs/buildtool/buildtool.xml, docs/buildtool/Capistrano.xml,
+    docs/buildtool/DistCC.xml, docs/buildtool/Gearman.xml,
+    docs/buildtool/GlusterFS.xml, docs/buildtool/Hadoop.xml,
+    docs/buildtool/HAProxy.xml, docs/buildtool/Introduction.xml,
+    docs/buildtool/MongoDB.xml, docs/buildtool/MPI.xml,
+    docs/buildtool/MySQLEBS.xml, docs/buildtool/Provisioner.xml,
+    docs/buildtool/Recipes.xml, docs/buildtool/Roles.xml,
+    docs/buildtool/Tomcat.xml, docs/buildtool/Workload.xml,
+    docs/libs/admon/caution.png, docs/libs/admon/important.png,
+    docs/libs/admon/note.png, docs/libs/admon/tip.png,
+    docs/libs/admon/warning.png, docs/libs/authors/edubuntu-
+    documentation-project.xml, docs/libs/authors/ubuntu-documentation-
+    project.xml, docs/libs/callouts/10.png, docs/libs/callouts/1.png,
+    docs/libs/callouts/2.png, docs/libs/callouts/3.png,
+    docs/libs/callouts/4.png, docs/libs/callouts/5.png,
+    docs/libs/callouts/6.png, docs/libs/callouts/7.png,
+    docs/libs/callouts/8.png, docs/libs/callouts/9.png,
+    docs/libs/C/ccbysa.xml, docs/libs/C/contributors.xml,
+    docs/libs/C/legalnotice.xml, docs/libs/draft-watermark-
+    customisation.xsl, docs/libs/fo-cust.xsl, docs/libs/global.ent,
+    docs/libs/gnome-menus-C.ent, docs/libs/img/applications-office.svg,
+    docs/libs/img/bg-content.png, docs/libs/img/bg-page.png,
+    docs/libs/img/cap-bottom.png, docs/libs/img/cap-top.png,
+    docs/libs/img/dialog-password.png, docs/libs/img/distributor-
+    logo.svg, docs/libs/img/empathy.png, docs/libs/img/evolution.svg,
+    docs/libs/img/firefox-3.5.png, docs/libs/img/f-spot.png,
+    docs/libs/img/gnome-apt.svg, docs/libs/img/gnome-help.svg,
+    docs/libs/img/gnome-netstatus-disconn.svg, docs/libs/img/gnome-
+    volume-control.svg, docs/libs/img/headerlogo.png,
+    docs/libs/img/header.png, docs/libs/img/help-about.png,
+    docs/libs/img/network-wired.svg, docs/libs/img/network-wireless.svg,
+    docs/libs/img/rhythmbox.png, docs/libs/img/tab_off_ns1.png,
+    docs/libs/img/tab_off_ns2.png, docs/libs/img/tab_on_ns1.png,
+    docs/libs/img/tab_on_ns2.png, docs/libs/img/ubuntuheader.png,
+    docs/libs/img/ubuntuone-client.png, docs/libs/img/u-header.png,
+    docs/libs/img/update-manager.svg, docs/libs/index.css,
+    docs/libs/navig/home.png, docs/libs/navig/next.png,
+    docs/libs/navig/prev.png, docs/libs/navig/toc-blank.png,
+    docs/libs/navig/toc-minus.png, docs/libs/navig/toc-plus.png,
+    docs/libs/navig/up.png, docs/libs/shipped-docs, docs/libs/ubuntu-
+    banner.xsl, docs/libs/ubuntu-book.css, docs/libs/ubuntu.css,
+    docs/libs/ubuntu-html-chunk-cust.xsl, docs/libs/ubuntu-html-single-
+    cust.xsl, docs/libs/ubuntu-installguide-html-chunk-cust.xsl,
+    docs/libs/ubuntu-pdf.xsl, docs/libs/udp-pdf.xsl,
+    docs/libs/writeOwnerStatus.xsl, docs/libs/xinclude.mod, docs/README,
+    === removed directory docs/buildtool, === removed directory
+    docs/libs, === removed directory docs/libs/admon, === removed
+    directory docs/libs/authors, === removed directory docs/libs/C, ===
+    removed directory docs/libs/callouts, === removed directory
+    docs/libs/img, === removed directory docs/libs/navig:
+    - removed all of this documentation from trunk
+    - it is now available in lp:orchestra/1.x where it's actually
+      pertinent
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 15 Jul 2011 14:26:32 -0500
+
+orchestra (2.0-0ubuntu1) oneiric; urgency=low
+
+  * debian/control:
+    - migrating from the config management approach to the service
+      orchestration approach of Orchestra
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 30 Jun 2011 16:06:23 +0000
+
+orchestra (1.10-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.preinst:
+    - fix invalid debconf values, LP: #803461
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 30 Jun 2011 15:38:41 +0000
+
+orchestra (1.9-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - background an ISO import at postinst
+  * provisioning-server/etc/orchestra/import_isos:
+    - import all supported Ubuntu isos
+  * provisioning-server/etc/orchestra/ubuntu-server.preseed =>
+    provisioning-server/etc/orchestra/ubuntu-orchestra-client.preseed,
+    === removed symlink provisioning-
+    server/var/lib/cobbler/kickstarts/ubuntu-server.preseed, === target
+    was u../../../../etc/orchestra/ubuntu-server.preseed:
+    - add a default preseed as a config file, such that admins can modify
+      locally
+    - this file should probably be managed by dotdee
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 29 Jun 2011 12:50:41 +0000
+
+orchestra (1.8-0ubuntu1) oneiric; urgency=low
+
+  [ Marc Cluet ]
+  * debian/control
+    - Removed predepend packages for monitoring and management server
+  * Readded preinst for management server
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Tue, 28 Jun 2011 00:28:09 +0000
+
+orchestra (1.7-0ubuntu1) oneiric; urgency=low
+
+  [ Marc Cluet ]
+  * Created predepend packages for monitoring and management server
+    - Moved preinst scripts to predepend packages
+  * Modified fact population in provisioner to use fact-add
+  * Added install of mcollective nrpe plugins on orchestra-common
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Mon, 27 Jun 2011 11:31:51 +0000
+
+orchestra (1.6-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - fix syntax error
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Wed, 08 Jun 2011 21:43:39 -0700
+
+orchestra (1.5-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/dotdee/etc/puppet/manifests/node.pp.d/10-header,
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d/10-
+    header:
+    - use dotdee's comment character support to add the header
+  * debian/control, provisioning-server/etc/cron.d/orchestra-import-
+    isos:
+    - use run-one for the import iso cronjob
+  * debian/control:
+    - orchestra client recommends powernap, for automatic power management
+    - management server recommends modules
+
+  [ Juan L. Negron ]
+  * debian/ubuntu-orchestra-management-server.postrm:
+    - undo the dotdee config management on remove
+  * management-server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+    - empty config files should be done in postinst so dotdee and
+      dpkg play nice.
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Fixed syntax error.
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/site.pp, === renamed directory
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d =>
+    management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d:
+    - Due to puppet bug 650, restructuring config files
+  * management-server/etc/puppet/manifests/site.pp => management-
+    server/etc/puppet/manifests/modules.pp:
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Creating the file to satisfy dotdee.
+  * management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d/10-
+    header, management-
+    server/etc/dotdee/etc/puppet/manifests/modules.pp.d/90-footer:
+    - removing config files no longer needed
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 08 Jun 2011 15:26:38 -0400
+
+orchestra (1.5-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/dotdee/etc/puppet/manifests/node.pp.d/10-header,
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d/10-
+    header:
+    - use dotdee's comment character support to add the header
+  * debian/control, provisioning-server/etc/cron.d/orchestra-import-
+    isos:
+    - use run-one for the import iso cronjob
+  * debian/control:
+    - orchestra client recommends powernap, for automatic power management
+    - management server recommends modules
+
+  [ Juan L. Negron ]
+  * debian/ubuntu-orchestra-management-server.postrm:
+    - undo the dotdee config management on remove
+  * management-server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+    - empty config files should be done in postinst so dotdee and
+      dpkg play nice.
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Fixed syntax error.
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/site.pp, === renamed directory
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d =>
+    management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d:
+    - Due to puppet bug 650, restructuring config files
+  * management-server/etc/puppet/manifests/site.pp => management-
+    server/etc/puppet/manifests/modules.pp:
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Creating the file to satisfy dotdee.
+  * management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d/10-
+    header, management-
+    server/etc/dotdee/etc/puppet/manifests/modules.pp.d/90-footer:
+    - removing config files no longer needed
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 15:52:51 -0700
+
+orchestra (1.4-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - actually, use --defaults-extra-file instead, per docs
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 27 May 2011 16:50:59 -0500
+
+orchestra (1.4-0ubuntu1~natty19) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Wed, 08 Jun 2011 12:04:18 -0700
+
+orchestra (1.4-0ubuntu1~natty18) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 15:55:47 -0700
+
+orchestra (1.4-0ubuntu1~natty17) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 14:56:34 -0700
+
+orchestra (1.4-0ubuntu1~natty16) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 14:03:58 -0700
+
+orchestra (1.4-0ubuntu1~natty15) natty; urgency=low
+
+  * Development build.
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 09:54:32 -0700
+
+orchestra (1.3-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - fix security issue
+    - we should NOT pass passwords on the command line, as these are
+      visible in ps output
+    - instead:
+      + use debian.cnf for user/password info
+      + use dash's builtin echo for piping the puppet password to mysql
+        on stdin
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 27 May 2011 16:42:25 -0500
+
+orchestra (1.2-0ubuntu1) oneiric; urgency=low
+
+  [ Juan L. Negron ]
+  * debian/ubuntu-orchestra-management-server.config, debian/ubuntu-
+    orchestra-management-server.postinst, debian/ubuntu-orchestra-
+    management-server.postrm, debian/ubuntu-orchestra-management-
+    server.templates:
+   - Removed puppetmaster configuration from orchestra-puppet-recipes
+     and added it to ubuntu-orchestra-management-server.
+  * Rebuilding new packages
+  * debian/ubuntu-orchestra-management-server.postinst, debian/ubuntu-
+    orchestra-management-server.postrm, debian/ubuntu-orchestra-
+    management-server.templates:
+   - Fixed lintian issues
+  * : Rebuilding orchestra packages after fixing lintian issues
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 27 May 2011 10:11:33 -0500
+
+orchestra (1.1-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * === added directory debian, === added directory debian/source,
+    COPYING, debian/compat, debian/control, debian/copyright,
+    debian/rules, debian/source/format: initial packaging
+  * debian/control:
+    - have client recommend squid-deb-proxy-client
+  * debian/control:
+    - updated packaging to include the sitoolchain work
+  * debian/control, debian/ubuntu-orchestra-common.dirs, debian/ubuntu-
+    orchestra-common.postinst:
+    - add orchestra user, create ssh-keys, depend on tools needed
+  * debian/control, debian/ubuntu-orchestra-common.postinst:
+    - make sure user's homedir is there
+  * debian/control, debian/ubuntu-orchestra-common.links, debian/ubuntu-
+    orchestra-common.postinst:
+    - generate ssl certs, link them into /etc, make the ssh public key
+      visible by other users (such as cobbler)
+  * debian/control:
+    - comment out mcollective plugins that don't yet build in this ppa
+  * debian/ubuntu-orchestra-common.postinst => debian/ubuntu-orchestra-
+    provisioning-server.postinst:
+    - move the user generation from common to provisioning
+  * debian/ubuntu-orchestra-provisioning-server.install, debian/ubuntu-
+    orchestra-provisioning-server.postinst, debian/ubuntu-orchestra-
+    provisioning-server.links:
+    - install provisioning server files
+    - enable site, and rewrite module
+  * debian/ubuntu-orchestra-management-server.install, debian/ubuntu-
+    orchestra-provisioning-server.install:
+    - install management server files
+  * provisioning-server/usr/bin/orchestra-cobbler-profiles =>
+    provisioning-server/usr/sbin/orchestra-import-isos, === renamed
+    directory provisioning-server/usr/bin => provisioning-
+    server/usr/sbin:
+    - update Marc's iso importer, move to sbin, rework a bit
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - get this working with cobbler
+  * debian/ubuntu-orchestra-common.links, debian/ubuntu-orchestra-
+    provisioning-server.postinst:
+    - hard link the public key
+    - fix ownerships of the SSL private key
+  * debian/copyright:
+    - added Juan + Marc to copyright file
+  * debian/control:
+    - adjust control for
+      a) config management mode, and
+      b) service orchestration mode
+    - fix lintian warnings about articles in description
+  * debian/ubuntu-orchestra-monitoring-server.install:
+    - drop for now; nagios coming soon!
+  * debian/control, debian/ubuntu-orchestra-client.preinst,
+    debian/ubuntu-orchestra-management-server.preinst, debian/ubuntu-
+    orchestra-provisioning-server.preinst:
+    - fix lintian errors, add debhelper tokens and misc depends
+  * === added directory debian/po, debian/control,
+    debian/po/POTFILES.in, debian/po/templates.pot, debian/rules,
+    debian/ubuntu-orchestra-client.templates:
+    - make the debconf stuff translatable, fix lintian errors
+  * debian/ubuntu-orchestra-client.postinst, debian/ubuntu-orchestra-
+    provisioning-server.preinst:
+    - drop full paths to common utilities
+  * debian/ubuntu-orchestra-client.templates:
+    - fix linitian issues with the debconf text
+  * debian/control, debian/ubuntu-orchestra-monitoring-server.postinst:
+    - clean up some of the empty package lintian warnings
+  * debian/ubuntu-orchestra-client.postinst, debian/ubuntu-orchestra-
+    client.preinst, debian/ubuntu-orchestra-client.templates,
+    debian/ubuntu-orchestra-logging-server.postinst, debian/ubuntu-
+    orchestra-management-server.preinst, debian/ubuntu-orchestra-
+    provisioning-server.preinst:
+    - don't ignore pre/post inst errors, fix verbiage
+  * debian/control, debian/ubuntu-orchestra-client.postinst:
+    - fix lintian error about python depends, fix bashism
+  * === added directory provisioning-server/usr/share/man, === added
+    directory provisioning-server/usr/share/man/man8, provisioning-
+    server/usr/share/man/man8/orchestra-generate-cloud-init.8,
+    provisioning-server/usr/share/man/man8/orchestra-import-isos.8:
+    - add manpage documentation for provisioning utilities
+  * debian/control: note the empty meta pacakges
+
+  [ Juan L. Negron ]
+  * Updating version and rebuilding packages
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - fix RegEx for default puppetmaster configuration
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - restart puppetmaster after reconfiguring
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - puppetmaster is not an upstart job 
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - change permissions on puppetmaster configuration
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - modified puppetmaster to usr the config file and
+      not a link.
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - Create the provisioner role
+  * management-server/etc/orchestra/puppet/puppet.conf.d/02_certname:
+    - Adding default certname
+  * Added ubuntu-orchestra-client postinst
+  * Modified control to reflect more dependencies on ubuntu-orchestra-common
+  * Created postinst for ubuntu-orchestra-client
+  * Modified user-data template to reflect changes
+  * debian/control:
+   - Fixed syntax error in control file
+  * Rebuilding package
+  * debian/control:
+   - Modifying monitoring server to recommend collectd.
+  * Rebuilding package
+  * Modified preinst scripts
+  * Modified postinst for orchestra-client and provisioning-server
+  * Fixed install scripts for orchestra-client and monitoring-server
+  * Rebuilding packages
+  * Updating version and rebuilding
+
+  [ Marc Cluet ]
+  * Created new ubuntu-orchestra-logging server package
+   - Moved rsyslog dependencies from monitoring to logging
+  * Added debconf preseed on provisioning server preinst
+  * Modified postinst for orchestra-client and provisioning-server
+  * Fixed install scripts for orchestra-client and monitoring-server
+  * Added rsyslog integration (client and server)
+  * Added ubuntu-orchestra-monitoring-server
+  * Modified preinst templates for hostname discovery
+  * Added monitoring.ipaddress parameter on provisioning.conf
+  * Added preinst host sanity check to handle hostname resolvableness issues in
+   - ubuntu-orchestra-client
+   - ubuntu-orchestra-management-server
+   - ubuntu-orchestra-provisioning-server
+  * Fixed problem with just commenting collectd, removed lines
+  * Changed restart order on provisioner server postinst for
+    squid-deb-proxy
+   - Added ubuntu-orchestra-provisioning-server.postinst
+    - This deals with squid-deb-proxy server configuration
+   - Removed dependency on collectd on client
+    - Filled bug LP: #773420 to readd once properly configured
+   - Modified ubuntu-orchestra-client dependencies
+    - Added dependency for mcollective-plugins-provisioner
+  * Added ubuntu-orchestra-client postinst
+  * Modified control to reflect more dependencies on ubuntu-orchestra-common
+  * Created postinst for ubuntu-orchestra-client
+  * Modified user-data template to reflect changes
+  * Fixing cloud-init templates
+   * Removed puppetca mcollective plugins from client template
+   * Added runcmd in puppetdata to force certname on client
+   * cloud-init user-data.tpl
+    * Added runcmd commands to add initial facts
+  * Fixed /var/lib/orchestra/cloud-init/user-data.tpl
+   - Now it won't try to install mcollective-middleware
+  * Added new script orchestra-generate-cloud-init
+  * Renamed cloud-init templates in /usr/share/orchestra/cloud-init
+  * Created default cloud-init template in /var/lib/orchestra/cloud-init
+  * Fixed apache config for cloud-init service
+  * Added user-data binary
+  * Moved /etc/orchestra.conf.d to /etc/orchestra/conf.d
+   - Modified meta-data.py to reflect change
+  * Created /etc/orchestra/import_isos
+   - Modified /usr/sbin/orchestra-import-isos to reflect change
+  * Added apache2 meta-data configuration
+  * Added meta-data.py for meta-data generation
+   - Added provisioning.conf for provisioning-server
+   - debian/control
+    - Added mcollective-server-provisioner and mcollective-client as
+      dependencies for provisioner
+   - provisioning-server/usr/share/orchestra/cloud-init/orchestra-management-server.txt
+    - Removed dependency from management server
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 25 May 2011 11:51:35 -0500

=== added directory 'art'
=== renamed directory 'art' => 'art.moved'
=== added file 'art/orchestra.jpg'
Binary files art/orchestra.jpg	1970-01-01 00:00:00 +0000 and art/orchestra.jpg	2011-11-28 21:48:20 +0000 differ
=== added file 'art/orchestra.xcf'
Binary files art/orchestra.xcf	1970-01-01 00:00:00 +0000 and art/orchestra.xcf	2011-11-28 21:48:20 +0000 differ
=== added file 'art/orchestra_14.jpg'
Binary files art/orchestra_14.jpg	1970-01-01 00:00:00 +0000 and art/orchestra_14.jpg	2011-11-28 21:48:20 +0000 differ
=== added file 'art/orchestra_192.jpg'
Binary files art/orchestra_192.jpg	1970-01-01 00:00:00 +0000 and art/orchestra_192.jpg	2011-11-28 21:48:20 +0000 differ
=== added file 'art/orchestra_64.jpg'
Binary files art/orchestra_64.jpg	1970-01-01 00:00:00 +0000 and art/orchestra_64.jpg	2011-11-28 21:48:20 +0000 differ
=== added directory 'bin'
=== renamed directory 'bin' => 'bin.moved'
=== added file 'bin/import-machines.py'
--- bin/import-machines.py	1970-01-01 00:00:00 +0000
+++ bin/import-machines.py	2011-11-28 21:48:20 +0000
@@ -0,0 +1,11 @@
+import os
+fp = open("machines.list")
+ip = 200
+domain = "local.domain"
+for machine in fp.readlines():
+    print "DEBUG: Importing [%s]" % machine.split()[0]
+    os.system('sudo cobbler system add --name="%s.%s" --mac-address="%s" --ip-address="172.16.16.%i" --dns-name="%s.%s" --hostname="%s.%s" --profile="oneiric-x86_64-juju" --mgmt-classes="orchestra-juju-available" --kopts="console=ttyS0,9600n8 netcfg/dhcp_timeout=120 netcfg/choose_int
+rface=eth0" --power-address=%s' % (machine.split()[0], domain, machine.split()[1], ip, machine.split()[0], domain, machine.split()[0], domain, machine.split()[1]))
+    ip = ip + 1
+fp.close
+

=== added file 'bin/remove-machines.py'
--- bin/remove-machines.py	1970-01-01 00:00:00 +0000
+++ bin/remove-machines.py	2011-11-28 21:48:20 +0000
@@ -0,0 +1,7 @@
+import os
+fp = open("machines.list")
+domain = "local.domain"
+for machine in fp.readlines():
+    print "DEBUG: Removing [%s]" % machine.split()[0]
+    os.system('sudo cobbler system remove --name="%s.%s"' % (machine.split()[0], domain))
+fp.close

=== added directory 'client'
=== renamed directory 'client' => 'client.moved'
=== added directory 'client/etc'
=== added directory 'client/etc/rsyslog.d'
=== added file 'client/etc/rsyslog.d/99-orchestra.conf'
--- client/etc/rsyslog.d/99-orchestra.conf	1970-01-01 00:00:00 +0000
+++ client/etc/rsyslog.d/99-orchestra.conf	2011-11-28 21:48:20 +0000
@@ -0,0 +1,8 @@
+# certificate files - just CA for a client
+$DefaultNetstreamDriverCAFile /var/lib/orchestra/ssl-cert-orchestra-ca.pem
+
+# set up the action
+$DefaultNetstreamDriver gtls # use gtls netstream driver
+$ActionSendStreamDriverMode 1 # require TLS for the connection
+$ActionSendStreamDriverAuthMode anon # server is NOT authenticated
+*.* @@(o)1.1.1.1:10514 # send (all) messages

=== added directory 'client/etc/sudoers.d'
=== added file 'client/etc/sudoers.d/orchestra'
--- client/etc/sudoers.d/orchestra	1970-01-01 00:00:00 +0000
+++ client/etc/sudoers.d/orchestra	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+orchestra ALL= NOPASSWD: /sbin/halt, /sbin/poweroff, /sbin/reboot, /sbin/shutdown, /usr/sbin/powernap-now

=== added directory 'client/usr'
=== added directory 'client/usr/share'
=== added directory 'client/usr/share/orchestra'
=== added directory 'client/usr/share/orchestra/rsyslog'
=== added file 'client/usr/share/orchestra/rsyslog/orchestra-client.conf'
--- client/usr/share/orchestra/rsyslog/orchestra-client.conf	1970-01-01 00:00:00 +0000
+++ client/usr/share/orchestra/rsyslog/orchestra-client.conf	2011-11-28 21:48:20 +0000
@@ -0,0 +1,8 @@
+# certificate files - just CA for a client
+$DefaultNetstreamDriverCAFile /var/lib/orchestra/ssl-cert-orchestra-ca.pem
+
+# set up the action
+$DefaultNetstreamDriver gtls # use gtls netstream driver
+$ActionSendStreamDriverMode 1 # require TLS for the connection
+$ActionSendStreamDriverAuthMode anon # server is NOT authenticated
+*.* @@(o)1.1.1.1:10514 # send (all) messages

=== added directory 'debian'
=== renamed directory 'debian' => 'debian.moved'
=== added file 'debian/changelog'
--- debian/changelog	1970-01-01 00:00:00 +0000
+++ debian/changelog	2011-11-28 21:48:20 +0000
@@ -0,0 +1,826 @@
+orchestra (2.24-0ubuntu2) UNRELEASED; urgency=low
+
+  * orchestra-import-isos: import ISOs by default if no option specified.
+    Check for updates for existing ISOs, download + update distro if necessary.
+    (LP: #850892)
+
+ -- Adam Gandelman <adamg@xxxxxxxxxxxxx>  Mon, 28 Nov 2011 13:19:17 -0800
+
+orchestra (2.24-0ubuntu1) precise; urgency=low
+
+  * debian/control:
+    - Fix orchestra-client-juju package description. (LP: #893658)
+  * orchestra-import-isos: Add --update-profiles to update all the profiles
+    based on modified etc/orchestra/import_isos config file. (LP: #891950)
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Tue, 22 Nov 2011 15:22:22 -0500
+
+orchestra (2.23-0ubuntu1) precise; urgency=low
+
+  [ Andres Rodriguez ]
+  * Install preseeds in var/lib/cobbler/kickstarts to make them editable
+    in cobbler's webui. Do not create symlinks. (LP: #882943)
+  * orchestra-import-isos: Change KSDIR default to /var/lib/cobbler/kickstarts
+    instead of /var/lib/orchestra/kickstarts.
+  * orchestra/utils/keys.py: Return "true" for preseed not to fail if keys
+    are not found or empty. (LP: #891915)
+  * debconf question to select whether to run orchestra-import-isos on
+    installation. (LP: #892328)
+
+  [ Dustin Kirkland ]
+  * debian/control:
+    - recommend ccze for log monitoring, it's awesome!
+    - package arrangement per UDS-Orlando live session
+
+  [ Adam Gandelman ]
+  * Update references to squid directories and config files to point to
+    squid3 equivalent
+  * squid.conf: Update for squid3 compat. Removed: 'acl all src all' (now
+    built-into squid3), broken_vary_encoding (not supported in squid3),
+    upgrade_http0.9 + extension_methods (deprecated, no longer necessary)
+  * debian/ubuntu-orchestra-provisioning-server.postinst: Backup original
+    squid.conf if it exists.  Stop squid3 before populating directory structure
+    as it won't happen if squid3 is already running, later restart will fail.
+    (LP: #892330)
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 18 Nov 2011 16:41:46 -0500
+
+orchestra (2.22-0ubuntu1) precise; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-provisioning-server.postinst, provisioning-
+    server/usr/share/orchestra/conf/squid.conf:
+    - raise maximum squid object size to 750MB (to handle caching ISOs)
+    - split squid spools in big and small file caches
+    - ensure squid swap directories get created
+  * debian/control:
+    - add a binary meta package 'orchestra', short for
+      'ubuntu-orchestra--server'
+
+  [ Andres Rodriguez ]
+  * debian/ubuntu-orchestra-provisioning-server.links: Add orchestra.pressed
+  * provisioning-server/usr/sbin/orchestra-import-isos: Use orchestra.preseed
+    in both newly imported ISO's and already existent.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 27 Oct 2011 15:10:48 -0400
+
+orchestra (2.21-0ubuntu1) oneiric; urgency=low
+
+  [ Marc Cluet ]
+  * debian/ubuntu-orchestra-logging-server.postinst
+    - Make sure we create the base log directory and apply proper permissions
+  
+  * logging-server/etc/cron.d/remote_syslog_compress (LP: #869134)
+    - Change the target compress directory from remote to orchestra
+    - Change the compression time to 48 hours instead of 24 hours
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 06 Oct 2011 12:54:57 -0400
+
+orchestra (2.20-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - fix dpkg reconfigure test, LP: #868029
+  * provisioning-server/var/lib/orchestra/kickstarts/juju.preseed,
+    provisioning-server/var/lib/orchestra/kickstarts/orchestra.preseed,
+    provisioning-server/var/lib/orchestra/kickstarts/ubuntu-natty-
+    x86_64.seed: LP: #868037
+    - deprecate old preseed
+    - resurrect inadvertently deleted preseed
+    - ensure iscsi question doesn't block automated installs
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 05 Oct 2011 17:01:29 -0400
+
+orchestra (2.19-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/control: LP: #862778
+    - put /etc under revision control on orchestra clients; particularly
+      necessary when systems are handled by JuJu
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 29 Sep 2011 17:11:31 -0400
+
+orchestra (2.18-0ubuntu1) oneiric; urgency=low
+
+  * provisioning-server/usr/share/orchestra/conf/squid.conf: LP: #860944
+    - cleaner fix for not caching Packages|Release|Sources
+  * provisioning-server/usr/sbin/orchestra-import-isos: LP: #855921
+    - default to choosing 'auto' interface, allow overrides; required
+      for orchestra to work with multiple NIC systems
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 29 Sep 2011 09:40:42 -0400
+
+orchestra (2.17-0ubuntu1) oneiric; urgency=low
+
+  * provisioning-server/usr/share/orchestra/conf/squid.conf: LP: #860944
+    - Fix bugs in squid.conf, which are failing network installs
+    - Do *not* cache [Releases|Packages|Sources] lists for Ubuntu archives
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 28 Sep 2011 17:30:35 -0400
+
+orchestra (2.16-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-logging-server.dirs, logging-
+    server/etc/rsyslog.d/99-orchestra.conf:
+    - fix logging directories, use Year-Month-Day, add an rsyslog subdir
+  * logging-server/etc/rsyslog.d/99-orchestra.conf:
+    - enable udp syslog for Ubuntu installation logging
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - add installation syslogging config to kopts
+  * provisioning-server/etc/orchestra/import_isos, provisioning-
+    server/usr/sbin/orchestra-import-isos: LP: #855921
+    - default to choosing eth0 interface, allow overrides; required
+      for orchestra to work with multiple NIC systems
+
+  [ Andres Rodriguez ]
+  * Only install ubuntu-orchestra-client when deploying oneiric or above.
+    Manually grab packages for lucid, maverick, natty. (LP: #855956)
+    - orchestra_client_package: Snippet added.
+    - juju.preseed: Modified preseed to use new snippet
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Tue, 27 Sep 2011 14:34:36 -0400
+
+orchestra (2.15-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * provisioning-server/etc/cron.d/orchestra-import-isos:
+    - must have user in cron.d job
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Tue, 27 Sep 2011 08:27:52 -0400
+
+orchestra (2.14-0ubuntu1) oneiric; urgency=low
+
+  [ Adam Gandelman ]
+  * Use correct formula dir for juju's webdav storage. Now formulas are
+    called  charms (LP: #852250)
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 16 Sep 2011 20:55:42 -0400
+
+orchestra (2.13-0ubuntu1) oneiric; urgency=low
+
+  * Handle generation of cloud-init's meta-data and late_command for
+    user-data and meta-data from the orchestra side. So that this is not
+    done from the juju/ensemble. (LP: #850260)
+  * Change any reference for 'ensemble' to 'juju' (LP: #851967).
+  * Move etc/orchestra/ubuntu-orchestra-client.seed to examples.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 16 Sep 2011 11:16:08 -0400
+
+orchestra (2.12-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.postinst: Fix bashism. 
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Wed, 14 Sep 2011 13:00:29 -0400
+
+orchestra (2.11-0ubuntu1) oneiric; urgency=low
+
+  * Set the DHCP range if DNS/DHCP is managed by orchestra (LP: #844082):
+    - debian/ubuntu-orchestra-provisioning-server.templates: Add question.
+    - debian/ubuntu-orchestra-provisioning-server.config: Obtain configured
+      range.
+    - debian/ubuntu-orchestra-provisioning-server.postinst: Handle the
+      change in the configuration.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Wed, 07 Sep 2011 17:13:31 -0400
+
+orchestra (2.10-0ubuntu1) oneiric; urgency=low
+
+  * Fix late_command to import client keys (LP: #837541):
+    - orchestra/utils/keys.py.
+    - provisioning-server: modify orchestra_rsyslog_client_config snippet;
+      add orchestra_rsyslog_obtain_keys.
+    - ensemble.preseed: use orchestra_rsyslog_obtain_keys snippet;
+      additionally, set password for default user.
+  * orchestra/utils/keys.py: Encode late command not template.
+  * Set the default GW if DNS/DHCP is managed by orchestra (LP: #838243):
+    - debian/ubuntu-orchestra-provisioning-server.postinst: Handle the GW
+      configuration. Ask debconf question only after DHCP/DNS question is
+      answered.
+    - debian/ubuntu-orchestra-provisioning-server.templates: Add debconf
+      question.
+  * Set the domain name for DHCP when managed by orchestra (LP: #834172):
+    - debian/ubuntu-orchestra-provisioning-server.postinst: Add logic to
+      set/unset hostname.
+    - debian/ubuntu-orchestra-provisioning-server.templates: Add
+      dnsmasq-domain-name template.
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 01 Sep 2011 20:24:09 -0400
+
+orchestra (2.9-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.postinst: Re-enable
+    orchestra-import-isos.
+  * provisioning-server/usr/share/orchestra/conf/squid.conf: Change
+    to better settings
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Wed, 24 Aug 2011 14:13:16 -0400
+
+orchestra (2.8-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/control: LP: #825406
+    - recommend ntp on both clients and server; arguably, we could point
+      orchestra clients at the orchestra server, but if we go that route,
+      we'd need to ensure we satisfy #104525
+  * === added directory client/etc, === added directory
+    client/etc/sudoers.d, client/etc/sudoers.d/orchestra, debian/ubuntu-
+    orchestra-client.postinst:
+    - add the orchestra user to the client, give sudo access to power
+      management administrative utilities
+
+  [ Andres Rodriguez ]
+  * debian/ubuntu-orchestra-logging-server.postinst: Fix $home path;
+    Fix path to certtool cfg file. change ownership of ssl files to
+    syslog. (LP: #832335)
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - Do not comment at end of changed modules settings in
+      cobbler. (LP: #828288)
+    - Only create ensemble-dav.conf symlink when necessary.
+    - Use apache2ctl to restart otherwise it never returns from
+      configure. (LP: #832331)
+  * debian/ubuntu-orchestra-provisioning-server.postrm:
+    - Use apache2ctl to restart otherwise it never returns from purge
+      step. (LP: #832337)
+  * Change logging server to use TLS instead (LP: #832341):
+    - logging-server/etc/rsyslog.d/99-orchestra.conf: Update config file
+      to use TLS instead.
+    - logging-server/usr/share/orchestra/rsyslog/orchestra-server.conf:
+      Update with sample config for TLS.
+    - debian/control: Depends/Recommends on rsyslog-gnutls.
+  * debian/ubuntu-orchestra-client.postinst: Correctly set server for
+    rsyslog and add missing 'fi'.
+  * client/etc/rsyslog.d/99-orchestra.conf: Add based on file installed in
+    usr/share. This way it will not "cat" a file on postinst. (LP: #832344)
+  * orchestra/utils/keys.py: Add util to handle zip and encode key to be
+    used by rsyslog's cobbler snippet to install keys on client
+    machine. (LP: #832347)
+    - debian/{control,rules}: Use dh_python2.
+    - debian/ubuntu-orchestra-common.install: Add and Install files.
+    - provisioning-server/var/lib/cobbler/snippets:
+      + orchestra_rsyslog_client_config: Import orchestra python module.
+  * Fix some lintian warnings
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Tue, 23 Aug 2011 17:03:54 -0400
+
+orchestra (2.7-0ubuntu1) oneiric; urgency=low
+
+  * Move installation and configuration of webdav for ensemble to the
+    provisioning server.
+    - debian/ubuntu-orchestra-management-server.{postinst,postrm}: remove
+  * provisioning-server/var/lib/
+    - cobbler/snippets/orchestra_rsyslog_client_config: Add rsyslog
+      client config to set the syslog server automatically.
+    - orchestra/kickstarts/ensemble.preseed: Load above snippet
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Fri, 12 Aug 2011 15:01:17 -0400
+
+orchestra (2.6-0ubuntu1) oneiric; urgency=low
+
+  [ Andres Rodriguez ]
+
+  [ Dustin Kirkland ]
+  * debian/control, debian/ubuntu-orchestra-logging-server.postinst,
+    debian/ubuntu-orchestra-provisioning-server.postinst, logging-
+    server/usr/share/orchestra/rsyslog/certtool.cfg:
+    - re-add ssl/ssh key generation
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 11 Aug 2011 16:52:40 -0500
+
+orchestra (2.5-0ubuntu1) oneiric; urgency=low
+
+  * debian/control:
+    - ubuntu-orchestra-client Depends on python-software-properties.
+    - remove Depends on ensemble.
+  * provisioning-server/var/lib/orchestra/kickstarts/ensemble.preseed:
+    - Install ubuntu-orchestra-client instead of manually specifying packages.
+  * provisioning-server/usr/share/orchestra/examples/ensemble/environments.yaml
+    - Install sample ensemble environments.yaml file for orchestra.
+  * Remove dotdee:
+    - debian/control: Drop Depends on dotdee.
+    - management-server/etc: Removed.
+  * debian/ubuntu-orchestra-provisioning-server.templates: Change template
+    name to dnsmasq-enabled
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 11 Aug 2011 15:30:08 -0400
+
+orchestra (2.4-0ubuntu1) oneiric; urgency=low
+
+  [ Andres Rodriguez ]
+  * Remove puppet dotdee config, orchestra pupppet.conf.d/ files, manifests,
+    and cloud-init stuff.
+  * debian/
+    - control: Drop Recommends on ubuntu-orchestra-modules, Recommends on
+      dnsmasq.
+    - ubuntu-orchestra-provisioning-server.links: Symlink ensemble preseed
+      into cobbler kickstarts path.
+  * provisioning-server/usr/sbing/orchestra-import-isos,
+    provisioning-server/etc/orchestra/import_isos:
+    - Add logic to create ensemble sub-profile and add ksopts.
+
+  [ Dustin Kirkland ]
+  * debian/control, provisioning-server/etc/orchestra/import_isos,
+    provisioning-server/usr/sbin/orchestra-import-isos:
+    - the common logic for importing iso's have been moved over to the
+      cobbler-ubuntu-import tool in cobbler
+  * debian/control, debian/ubuntu-orchestra-management-server.postinst,
+    debian/ubuntu-orchestra-provisioning-server.postinst:
+    - fix the squid configuration, move it to provisioning server
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - debconf not needed here
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - remove unneeded imports and profile additions
+
+ -- Andres Rodriguez <andreserl@xxxxxxxxxx>  Thu, 11 Aug 2011 14:05:20 -0400
+
+orchestra (2.3-0ubuntu1) oneiric; urgency=low
+
+  [ Juan L. Negron ]
+  * debian/control:
+    - Added facter and facter-customfacts-plugin dependencies.
+      (LP: #814042).
+
+  [ Dustin Kirkland ]
+  * debian/control:
+    - And then removed facter dependencies, LP: #821608
+  * debian/ubuntu-orchestra-client.postinst, debian/ubuntu-orchestra-
+    management-server.config, debian/ubuntu-orchestra-management-
+    server.postinst, debian/ubuntu-orchestra-management-server.postrm,
+    debian/ubuntu-orchestra-management-server.templates, debian/ubuntu-
+    orchestra-management-server.upstart, debian/ubuntu-orchestra-
+    provisioning-server.postinst:
+    - deprecate some puppet and fact specific code
+  * debian/ubuntu-orchestra-provisioning-server.config, debian/ubuntu-
+    orchestra-provisioning-server.postinst, debian/ubuntu-orchestra-
+    provisioning-server.templates:
+    - add dnsmasq debconf/configuration
+  * debian/control, debian/ubuntu-orchestra-management-server.postinst,
+    debian/ubuntu-orchestra-provisioning-server.preinst, provisioning-
+    server/usr/share/man/man8/orchestra-import-isos.8, provisioning-
+    server/usr/share/orchestra/conf/squid.conf, provisioning-
+    server/var/lib/cobbler/snippets/orchestra_proxy, provisioning-
+    server/var/lib/orchestra/kickstarts/ensemble.preseed, provisioning-
+    server/var/lib/orchestra/kickstarts/ubuntu-natty-x86_64.seed:
+    - replace squid-deb-proxy with just basic squid, configured to
+      our needs (s-d-q turned out to be fragile quite often)
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - avoid errors overwriting existing distros
+    - set mem to 512MB, disk to 40G
+
+  [ Andres Rodriguez and Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - enable/config webdav
+  * === added directory management-server/etc/apache2, === added
+    directory management-server/etc/apache2/conf.d, management-
+    server/etc/apache2/conf.d/dav.conf, management-
+    server/etc/apache2/conf.d/ensemble-dav.conf, provisioning-
+    server/var/lib/cobbler/snippets/orchestra_disable_pxe, provisioning-
+    server/var/lib/cobbler/snippets/orchestra_ensemble_late_command,
+    provisioning-server/var/lib/orchestra/kickstarts/ensemble.preseed:
+    - ensemble preseed and webdav configuration files
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 10 Aug 2011 14:29:20 -0500
+
+orchestra (2.1-0ubuntu1) oneiric; urgency=low
+
+  * debian/control, provisioning-server/etc/orchestra/ubuntu-orchestra-
+    client.preseed:
+    - move the packages needed in the client to the client meta package
+  * docs/build.sh, docs/buildtool/Apache.xml,
+    docs/buildtool/buildtool.xml, docs/buildtool/Capistrano.xml,
+    docs/buildtool/DistCC.xml, docs/buildtool/Gearman.xml,
+    docs/buildtool/GlusterFS.xml, docs/buildtool/Hadoop.xml,
+    docs/buildtool/HAProxy.xml, docs/buildtool/Introduction.xml,
+    docs/buildtool/MongoDB.xml, docs/buildtool/MPI.xml,
+    docs/buildtool/MySQLEBS.xml, docs/buildtool/Provisioner.xml,
+    docs/buildtool/Recipes.xml, docs/buildtool/Roles.xml,
+    docs/buildtool/Tomcat.xml, docs/buildtool/Workload.xml,
+    docs/libs/admon/caution.png, docs/libs/admon/important.png,
+    docs/libs/admon/note.png, docs/libs/admon/tip.png,
+    docs/libs/admon/warning.png, docs/libs/authors/edubuntu-
+    documentation-project.xml, docs/libs/authors/ubuntu-documentation-
+    project.xml, docs/libs/callouts/10.png, docs/libs/callouts/1.png,
+    docs/libs/callouts/2.png, docs/libs/callouts/3.png,
+    docs/libs/callouts/4.png, docs/libs/callouts/5.png,
+    docs/libs/callouts/6.png, docs/libs/callouts/7.png,
+    docs/libs/callouts/8.png, docs/libs/callouts/9.png,
+    docs/libs/C/ccbysa.xml, docs/libs/C/contributors.xml,
+    docs/libs/C/legalnotice.xml, docs/libs/draft-watermark-
+    customisation.xsl, docs/libs/fo-cust.xsl, docs/libs/global.ent,
+    docs/libs/gnome-menus-C.ent, docs/libs/img/applications-office.svg,
+    docs/libs/img/bg-content.png, docs/libs/img/bg-page.png,
+    docs/libs/img/cap-bottom.png, docs/libs/img/cap-top.png,
+    docs/libs/img/dialog-password.png, docs/libs/img/distributor-
+    logo.svg, docs/libs/img/empathy.png, docs/libs/img/evolution.svg,
+    docs/libs/img/firefox-3.5.png, docs/libs/img/f-spot.png,
+    docs/libs/img/gnome-apt.svg, docs/libs/img/gnome-help.svg,
+    docs/libs/img/gnome-netstatus-disconn.svg, docs/libs/img/gnome-
+    volume-control.svg, docs/libs/img/headerlogo.png,
+    docs/libs/img/header.png, docs/libs/img/help-about.png,
+    docs/libs/img/network-wired.svg, docs/libs/img/network-wireless.svg,
+    docs/libs/img/rhythmbox.png, docs/libs/img/tab_off_ns1.png,
+    docs/libs/img/tab_off_ns2.png, docs/libs/img/tab_on_ns1.png,
+    docs/libs/img/tab_on_ns2.png, docs/libs/img/ubuntuheader.png,
+    docs/libs/img/ubuntuone-client.png, docs/libs/img/u-header.png,
+    docs/libs/img/update-manager.svg, docs/libs/index.css,
+    docs/libs/navig/home.png, docs/libs/navig/next.png,
+    docs/libs/navig/prev.png, docs/libs/navig/toc-blank.png,
+    docs/libs/navig/toc-minus.png, docs/libs/navig/toc-plus.png,
+    docs/libs/navig/up.png, docs/libs/shipped-docs, docs/libs/ubuntu-
+    banner.xsl, docs/libs/ubuntu-book.css, docs/libs/ubuntu.css,
+    docs/libs/ubuntu-html-chunk-cust.xsl, docs/libs/ubuntu-html-single-
+    cust.xsl, docs/libs/ubuntu-installguide-html-chunk-cust.xsl,
+    docs/libs/ubuntu-pdf.xsl, docs/libs/udp-pdf.xsl,
+    docs/libs/writeOwnerStatus.xsl, docs/libs/xinclude.mod, docs/README,
+    === removed directory docs/buildtool, === removed directory
+    docs/libs, === removed directory docs/libs/admon, === removed
+    directory docs/libs/authors, === removed directory docs/libs/C, ===
+    removed directory docs/libs/callouts, === removed directory
+    docs/libs/img, === removed directory docs/libs/navig:
+    - removed all of this documentation from trunk
+    - it is now available in lp:orchestra/1.x where it's actually
+      pertinent
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 15 Jul 2011 14:26:32 -0500
+
+orchestra (2.0-0ubuntu1) oneiric; urgency=low
+
+  * debian/control:
+    - migrating from the config management approach to the service
+      orchestration approach of Orchestra
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 30 Jun 2011 16:06:23 +0000
+
+orchestra (1.10-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-provisioning-server.preinst:
+    - fix invalid debconf values, LP: #803461
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Thu, 30 Jun 2011 15:38:41 +0000
+
+orchestra (1.9-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - background an ISO import at postinst
+  * provisioning-server/etc/orchestra/import_isos:
+    - import all supported Ubuntu isos
+  * provisioning-server/etc/orchestra/ubuntu-server.preseed =>
+    provisioning-server/etc/orchestra/ubuntu-orchestra-client.preseed,
+    === removed symlink provisioning-
+    server/var/lib/cobbler/kickstarts/ubuntu-server.preseed, === target
+    was u../../../../etc/orchestra/ubuntu-server.preseed:
+    - add a default preseed as a config file, such that admins can modify
+      locally
+    - this file should probably be managed by dotdee
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 29 Jun 2011 12:50:41 +0000
+
+orchestra (1.8-0ubuntu1) oneiric; urgency=low
+
+  [ Marc Cluet ]
+  * debian/control
+    - Removed predepend packages for monitoring and management server
+  * Readded preinst for management server
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Tue, 28 Jun 2011 00:28:09 +0000
+
+orchestra (1.7-0ubuntu1) oneiric; urgency=low
+
+  [ Marc Cluet ]
+  * Created predepend packages for monitoring and management server
+    - Moved preinst scripts to predepend packages
+  * Modified fact population in provisioner to use fact-add
+  * Added install of mcollective nrpe plugins on orchestra-common
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Mon, 27 Jun 2011 11:31:51 +0000
+
+orchestra (1.6-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - fix syntax error
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Wed, 08 Jun 2011 21:43:39 -0700
+
+orchestra (1.5-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/dotdee/etc/puppet/manifests/node.pp.d/10-header,
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d/10-
+    header:
+    - use dotdee's comment character support to add the header
+  * debian/control, provisioning-server/etc/cron.d/orchestra-import-
+    isos:
+    - use run-one for the import iso cronjob
+  * debian/control:
+    - orchestra client recommends powernap, for automatic power management
+    - management server recommends modules
+
+  [ Juan L. Negron ]
+  * debian/ubuntu-orchestra-management-server.postrm:
+    - undo the dotdee config management on remove
+  * management-server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+    - empty config files should be done in postinst so dotdee and
+      dpkg play nice.
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Fixed syntax error.
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/site.pp, === renamed directory
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d =>
+    management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d:
+    - Due to puppet bug 650, restructuring config files
+  * management-server/etc/puppet/manifests/site.pp => management-
+    server/etc/puppet/manifests/modules.pp:
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Creating the file to satisfy dotdee.
+  * management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d/10-
+    header, management-
+    server/etc/dotdee/etc/puppet/manifests/modules.pp.d/90-footer:
+    - removing config files no longer needed
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 08 Jun 2011 15:26:38 -0400
+
+orchestra (1.5-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/dotdee/etc/puppet/manifests/node.pp.d/10-header,
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d/10-
+    header:
+    - use dotdee's comment character support to add the header
+  * debian/control, provisioning-server/etc/cron.d/orchestra-import-
+    isos:
+    - use run-one for the import iso cronjob
+  * debian/control:
+    - orchestra client recommends powernap, for automatic power management
+    - management server recommends modules
+
+  [ Juan L. Negron ]
+  * debian/ubuntu-orchestra-management-server.postrm:
+    - undo the dotdee config management on remove
+  * management-server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/node.pp, management-
+    server/etc/puppet/manifests/site.pp:
+    - empty config files should be done in postinst so dotdee and
+      dpkg play nice.
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Fixed syntax error.
+  * debian/ubuntu-orchestra-management-server.postinst, management-
+    server/etc/puppet/manifests/site.pp, === renamed directory
+    management-server/etc/dotdee/etc/puppet/manifests/site.pp.d =>
+    management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d:
+    - Due to puppet bug 650, restructuring config files
+  * management-server/etc/puppet/manifests/site.pp => management-
+    server/etc/puppet/manifests/modules.pp:
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - Creating the file to satisfy dotdee.
+  * management-server/etc/dotdee/etc/puppet/manifests/modules.pp.d/10-
+    header, management-
+    server/etc/dotdee/etc/puppet/manifests/modules.pp.d/90-footer:
+    - removing config files no longer needed
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 15:52:51 -0700
+
+orchestra (1.4-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - actually, use --defaults-extra-file instead, per docs
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 27 May 2011 16:50:59 -0500
+
+orchestra (1.4-0ubuntu1~natty19) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Wed, 08 Jun 2011 12:04:18 -0700
+
+orchestra (1.4-0ubuntu1~natty18) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 15:55:47 -0700
+
+orchestra (1.4-0ubuntu1~natty17) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 14:56:34 -0700
+
+orchestra (1.4-0ubuntu1~natty16) natty; urgency=low
+
+  * Development build
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 14:03:58 -0700
+
+orchestra (1.4-0ubuntu1~natty15) natty; urgency=low
+
+  * Development build.
+
+ -- Juan L. Negron <juan@xxxxxxxxxx>  Mon, 06 Jun 2011 09:54:32 -0700
+
+orchestra (1.3-0ubuntu1) oneiric; urgency=low
+
+  * debian/ubuntu-orchestra-management-server.postinst:
+    - fix security issue
+    - we should NOT pass passwords on the command line, as these are
+      visible in ps output
+    - instead:
+      + use debian.cnf for user/password info
+      + use dash's builtin echo for piping the puppet password to mysql
+        on stdin
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 27 May 2011 16:42:25 -0500
+
+orchestra (1.2-0ubuntu1) oneiric; urgency=low
+
+  [ Juan L. Negron ]
+  * debian/ubuntu-orchestra-management-server.config, debian/ubuntu-
+    orchestra-management-server.postinst, debian/ubuntu-orchestra-
+    management-server.postrm, debian/ubuntu-orchestra-management-
+    server.templates:
+   - Removed puppetmaster configuration from orchestra-puppet-recipes
+     and added it to ubuntu-orchestra-management-server.
+  * Rebuilding new packages
+  * debian/ubuntu-orchestra-management-server.postinst, debian/ubuntu-
+    orchestra-management-server.postrm, debian/ubuntu-orchestra-
+    management-server.templates:
+   - Fixed lintian issues
+  * : Rebuilding orchestra packages after fixing lintian issues
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Fri, 27 May 2011 10:11:33 -0500
+
+orchestra (1.1-0ubuntu1) oneiric; urgency=low
+
+  [ Dustin Kirkland ]
+  * === added directory debian, === added directory debian/source,
+    COPYING, debian/compat, debian/control, debian/copyright,
+    debian/rules, debian/source/format: initial packaging
+  * debian/control:
+    - have client recommend squid-deb-proxy-client
+  * debian/control:
+    - updated packaging to include the sitoolchain work
+  * debian/control, debian/ubuntu-orchestra-common.dirs, debian/ubuntu-
+    orchestra-common.postinst:
+    - add orchestra user, create ssh-keys, depend on tools needed
+  * debian/control, debian/ubuntu-orchestra-common.postinst:
+    - make sure user's homedir is there
+  * debian/control, debian/ubuntu-orchestra-common.links, debian/ubuntu-
+    orchestra-common.postinst:
+    - generate ssl certs, link them into /etc, make the ssh public key
+      visible by other users (such as cobbler)
+  * debian/control:
+    - comment out mcollective plugins that don't yet build in this ppa
+  * debian/ubuntu-orchestra-common.postinst => debian/ubuntu-orchestra-
+    provisioning-server.postinst:
+    - move the user generation from common to provisioning
+  * debian/ubuntu-orchestra-provisioning-server.install, debian/ubuntu-
+    orchestra-provisioning-server.postinst, debian/ubuntu-orchestra-
+    provisioning-server.links:
+    - install provisioning server files
+    - enable site, and rewrite module
+  * debian/ubuntu-orchestra-management-server.install, debian/ubuntu-
+    orchestra-provisioning-server.install:
+    - install management server files
+  * provisioning-server/usr/bin/orchestra-cobbler-profiles =>
+    provisioning-server/usr/sbin/orchestra-import-isos, === renamed
+    directory provisioning-server/usr/bin => provisioning-
+    server/usr/sbin:
+    - update Marc's iso importer, move to sbin, rework a bit
+  * provisioning-server/usr/sbin/orchestra-import-isos:
+    - get this working with cobbler
+  * debian/ubuntu-orchestra-common.links, debian/ubuntu-orchestra-
+    provisioning-server.postinst:
+    - hard link the public key
+    - fix ownerships of the SSL private key
+  * debian/copyright:
+    - added Juan + Marc to copyright file
+  * debian/control:
+    - adjust control for
+      a) config management mode, and
+      b) service orchestration mode
+    - fix lintian warnings about articles in description
+  * debian/ubuntu-orchestra-monitoring-server.install:
+    - drop for now; nagios coming soon!
+  * debian/control, debian/ubuntu-orchestra-client.preinst,
+    debian/ubuntu-orchestra-management-server.preinst, debian/ubuntu-
+    orchestra-provisioning-server.preinst:
+    - fix lintian errors, add debhelper tokens and misc depends
+  * === added directory debian/po, debian/control,
+    debian/po/POTFILES.in, debian/po/templates.pot, debian/rules,
+    debian/ubuntu-orchestra-client.templates:
+    - make the debconf stuff translatable, fix lintian errors
+  * debian/ubuntu-orchestra-client.postinst, debian/ubuntu-orchestra-
+    provisioning-server.preinst:
+    - drop full paths to common utilities
+  * debian/ubuntu-orchestra-client.templates:
+    - fix linitian issues with the debconf text
+  * debian/control, debian/ubuntu-orchestra-monitoring-server.postinst:
+    - clean up some of the empty package lintian warnings
+  * debian/ubuntu-orchestra-client.postinst, debian/ubuntu-orchestra-
+    client.preinst, debian/ubuntu-orchestra-client.templates,
+    debian/ubuntu-orchestra-logging-server.postinst, debian/ubuntu-
+    orchestra-management-server.preinst, debian/ubuntu-orchestra-
+    provisioning-server.preinst:
+    - don't ignore pre/post inst errors, fix verbiage
+  * debian/control, debian/ubuntu-orchestra-client.postinst:
+    - fix lintian error about python depends, fix bashism
+  * === added directory provisioning-server/usr/share/man, === added
+    directory provisioning-server/usr/share/man/man8, provisioning-
+    server/usr/share/man/man8/orchestra-generate-cloud-init.8,
+    provisioning-server/usr/share/man/man8/orchestra-import-isos.8:
+    - add manpage documentation for provisioning utilities
+  * debian/control: note the empty meta pacakges
+
+  [ Juan L. Negron ]
+  * Updating version and rebuilding packages
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - fix RegEx for default puppetmaster configuration
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - restart puppetmaster after reconfiguring
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - puppetmaster is not an upstart job 
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - change permissions on puppetmaster configuration
+  * debian/ubuntu-orchestra-management-server.upstart:
+    - modified puppetmaster to usr the config file and
+      not a link.
+  * debian/ubuntu-orchestra-provisioning-server.postinst:
+    - Create the provisioner role
+  * management-server/etc/orchestra/puppet/puppet.conf.d/02_certname:
+    - Adding default certname
+  * Added ubuntu-orchestra-client postinst
+  * Modified control to reflect more dependencies on ubuntu-orchestra-common
+  * Created postinst for ubuntu-orchestra-client
+  * Modified user-data template to reflect changes
+  * debian/control:
+   - Fixed syntax error in control file
+  * Rebuilding package
+  * debian/control:
+   - Modifying monitoring server to recommend collectd.
+  * Rebuilding package
+  * Modified preinst scripts
+  * Modified postinst for orchestra-client and provisioning-server
+  * Fixed install scripts for orchestra-client and monitoring-server
+  * Rebuilding packages
+  * Updating version and rebuilding
+
+  [ Marc Cluet ]
+  * Created new ubuntu-orchestra-logging server package
+   - Moved rsyslog dependencies from monitoring to logging
+  * Added debconf preseed on provisioning server preinst
+  * Modified postinst for orchestra-client and provisioning-server
+  * Fixed install scripts for orchestra-client and monitoring-server
+  * Added rsyslog integration (client and server)
+  * Added ubuntu-orchestra-monitoring-server
+  * Modified preinst templates for hostname discovery
+  * Added monitoring.ipaddress parameter on provisioning.conf
+  * Added preinst host sanity check to handle hostname resolvableness issues in
+   - ubuntu-orchestra-client
+   - ubuntu-orchestra-management-server
+   - ubuntu-orchestra-provisioning-server
+  * Fixed problem with just commenting collectd, removed lines
+  * Changed restart order on provisioner server postinst for
+    squid-deb-proxy
+   - Added ubuntu-orchestra-provisioning-server.postinst
+    - This deals with squid-deb-proxy server configuration
+   - Removed dependency on collectd on client
+    - Filled bug LP: #773420 to readd once properly configured
+   - Modified ubuntu-orchestra-client dependencies
+    - Added dependency for mcollective-plugins-provisioner
+  * Added ubuntu-orchestra-client postinst
+  * Modified control to reflect more dependencies on ubuntu-orchestra-common
+  * Created postinst for ubuntu-orchestra-client
+  * Modified user-data template to reflect changes
+  * Fixing cloud-init templates
+   * Removed puppetca mcollective plugins from client template
+   * Added runcmd in puppetdata to force certname on client
+   * cloud-init user-data.tpl
+    * Added runcmd commands to add initial facts
+  * Fixed /var/lib/orchestra/cloud-init/user-data.tpl
+   - Now it won't try to install mcollective-middleware
+  * Added new script orchestra-generate-cloud-init
+  * Renamed cloud-init templates in /usr/share/orchestra/cloud-init
+  * Created default cloud-init template in /var/lib/orchestra/cloud-init
+  * Fixed apache config for cloud-init service
+  * Added user-data binary
+  * Moved /etc/orchestra.conf.d to /etc/orchestra/conf.d
+   - Modified meta-data.py to reflect change
+  * Created /etc/orchestra/import_isos
+   - Modified /usr/sbin/orchestra-import-isos to reflect change
+  * Added apache2 meta-data configuration
+  * Added meta-data.py for meta-data generation
+   - Added provisioning.conf for provisioning-server
+   - debian/control
+    - Added mcollective-server-provisioner and mcollective-client as
+      dependencies for provisioner
+   - provisioning-server/usr/share/orchestra/cloud-init/orchestra-management-server.txt
+    - Removed dependency from management server
+
+ -- Dustin Kirkland <kirkland@xxxxxxxxxx>  Wed, 25 May 2011 11:51:35 -0500

=== added file 'debian/compat'
--- debian/compat	1970-01-01 00:00:00 +0000
+++ debian/compat	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+7

=== added file 'debian/control'
--- debian/control	1970-01-01 00:00:00 +0000
+++ debian/control	2011-11-28 21:48:20 +0000
@@ -0,0 +1,140 @@
+Source: orchestra
+Section: admin
+Priority: optional
+Maintainer: Ubuntu Server Team <ubuntu-server@xxxxxxxxxxxxxxxx>
+Standards-Version: 3.9.1
+Build-Depends: debhelper (>= 7), po-debconf, python (>= 2.6.6-3~)
+Homepage: http://launchpad.net/orchestra
+X-Python-Version: >= 2.6
+Vcs-Bzr: http://bazaar.launchpad.net/~orchestra/orchestra/trunk
+
+Package: ubuntu-orchestra-common
+Architecture: all
+Depends: ${misc:Depends},
+ ${python:Depends},
+ adduser,
+ openssh-client,
+ openssl,
+ gnutls-bin
+Recommends:
+ ntp
+Suggests:
+ po-debconf
+Description: Ubuntu Orchestra common files
+ This package provides the common files used by the Ubuntu Orchestra
+ Services suite.
+
+Package: orchestra
+Architecture: all
+Depends: ${misc:Depends}, ubuntu-orchestra-server
+Description: Ubuntu Orchestra Services suite
+ This virtual package installs the dependencies necessary to provision,
+ manage, and monitor an Ubuntu-based data center.
+ .
+ It also includes some configuration necessary to make this work well
+ out of the box.
+
+Package: ubuntu-orchestra-server
+Architecture: all
+Depends: ${misc:Depends},
+ ubuntu-orchestra-common
+Recommends:
+ ubuntu-orchestra-provisioning-server,
+ ubuntu-orchestra-management-server,
+ ubuntu-orchestra-monitoring-server,
+ ubuntu-orchestra-logging-server
+Description: Ubuntu Orchestra Services suite
+ This virtual package installs the dependencies necessary to provision,
+ manage, and monitor an Ubuntu-based data center.
+ .
+ It also includes some configuration necessary to make this work well
+ out of the box.
+
+Package: ubuntu-orchestra-client-juju
+Architecture: all
+Depends: ${misc:Depends},
+ cloud-init,
+ python-software-properties,
+ ubuntu-orchestra-client
+Description: Ubuntu Orchestra Juju Client
+ This virtual package installs the tools necessary for an Orchestra Client
+ to work with Juju.
+
+Package: ubuntu-orchestra-client
+Architecture: all
+Depends: ${misc:Depends},
+ openssh-server,
+ ubuntu-orchestra-common
+Recommends:
+ byobu,
+ etckeeper,
+ nagios-nrpe-server,
+ powernap,
+ rsyslog,
+ rsyslog-gnutls,
+ vim
+Description: Ubuntu Orchestra Client
+ This package installs the dependencies necessary on a client system
+ in order to be managed by the Ubuntu Orchestra Management Server.
+ .
+ It also includes some configuration necessary to make this work well
+ out of the box.
+
+Package: ubuntu-orchestra-logging-server
+Architecture: all
+Depends: ${misc:Depends},
+ rsyslog,
+ rsyslog-gnutls,
+ ubuntu-orchestra-common
+Recommends:
+ ccze
+Description: Ubuntu Orchestra Logging Server
+ This package installs the dependencies necessary to log events in
+ an Ubuntu data center.
+ .
+ It also includes some configuration necessary to make this work well
+ out of the box.
+
+Package: ubuntu-orchestra-monitoring-server
+Architecture: all
+Depends: ${misc:Depends},
+ nagios3-core,
+ ubuntu-orchestra-common
+Recommends: nagios3-cgi,
+ nagios-nrpe-server
+Description: Ubuntu Orchestra Monitoring Server
+ This virtual package installs the dependencies necessary to monitor an
+ Ubuntu data center.
+ .
+ It also includes some configuration necessary to make this work well
+ out of the box.
+
+Package: ubuntu-orchestra-provisioning-server
+Architecture: all
+Depends: ${misc:Depends}, ${python:Depends},
+ cobbler,
+ distro-info,
+ run-one,
+ squid,
+ ubuntu-orchestra-common,
+Recommends:
+ dnsmasq,
+ ccze
+Description: Ubuntu Orchestra Provisioning Services suite
+ This package installs the dependencies necessary to provision Ubuntu
+ systems over the network.
+ .
+ It also includes some configuration necessary to make this work well
+ out of the box.
+
+Package: ubuntu-orchestra-management-server
+Architecture: all
+Depends: ${misc:Depends},
+ ubuntu-orchestra-common
+Description: Ubuntu Orchestra Configuration Management Server
+ This package installs the dependencies necessary to comprehensively
+ manage and orchestrate Ubuntu data center using an Service Orchestration
+ framework.
+ .
+ It also includes some configuration necessary to make this work well
+ out of the box.

=== added file 'debian/copyright'
--- debian/copyright	1970-01-01 00:00:00 +0000
+++ debian/copyright	2011-11-28 21:48:20 +0000
@@ -0,0 +1,41 @@
+This package was debianized by Dustin Kirkland <kirkland@xxxxxxxxxxxxx>
+Wed Jan 12 12:43:20 CST 2011
+
+It was downloaded from: http://launchpad.net/orchestra
+
+Upstream Authors:
+ Chuck Short <chuck.short@xxxxxxxxxxxxx>
+ Dave Walker <dave.walker@xxxxxxxxxxxxx>
+ Dustin Kirkland <kirkland@xxxxxxxxxxxxx>
+ Juan Negron <juan.negron@xxxxxxxxxxxxx>
+ Marc Cluet <marc.cluet@xxxxxxxxxxxxx>
+
+Copyright:
+ Copyright (C) 2011 Canonical Ltd.
+
+ All rights reserved.
+
+License:
+
+    Ubuntu Orchestra Services
+    Copyright (C) 2011 Canonical Ltd.
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU Affero General Public License as
+    published by the Free Software Foundation, version 3 of the
+    License.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU Affero General Public License for more details.
+
+    You should have received a copy of the GNU Affero General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+The Ubuntu packaging:
+ Copyright (C) 2011 Canonical Ltd.
+ released under the GPL-3.
+
+On Debian systems, the complete text of the GNU General Public
+License, version 3, can be found in /usr/share/common-licenses/GPL-3.

=== added directory 'debian/po'
=== added file 'debian/po/POTFILES.in'
--- debian/po/POTFILES.in	1970-01-01 00:00:00 +0000
+++ debian/po/POTFILES.in	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+[type: gettext/rfc822deb] ubuntu-orchestra-client.templates

=== added file 'debian/po/templates.pot'
--- debian/po/templates.pot	1970-01-01 00:00:00 +0000
+++ debian/po/templates.pot	2011-11-28 21:48:20 +0000
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: orchestra@xxxxxxxxxxxxxxxxxxx\n"
+"POT-Creation-Date: 2011-05-25 11:43-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@xxxxxx>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../ubuntu-orchestra-client.templates:1001
+msgid "Hostname or IP address of the rsyslog server:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../ubuntu-orchestra-client.templates:1001
+msgid ""
+"  Ubuntu Orchestra collects all logs into a central syslog for\n"
+"  management and statistics, this host is the same one that is\n"
+"  used for monitoring where the ubuntu-orchestra-monitoring-server\n"
+"  gathers this data."
+msgstr ""

=== added file 'debian/rules'
--- debian/rules	1970-01-01 00:00:00 +0000
+++ debian/rules	2011-11-28 21:48:20 +0000
@@ -0,0 +1,5 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+%:
+	dh $@ --with python2

=== added directory 'debian/source'
=== added file 'debian/source/format'
--- debian/source/format	1970-01-01 00:00:00 +0000
+++ debian/source/format	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+1.0

=== added file 'debian/ubuntu-orchestra-client.config'
--- debian/ubuntu-orchestra-client.config	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-client.config	2011-11-28 21:48:20 +0000
@@ -0,0 +1,6 @@
+#!/bin/sh -e
+# A simplified version of debconf's own config script.
+. /usr/share/debconf/confmodule
+# Ask for the rsyslog host
+db_input critical ubuntu-orchestra-client/rsyslog_host || true
+db_go

=== added file 'debian/ubuntu-orchestra-client.install'
--- debian/ubuntu-orchestra-client.install	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-client.install	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+client/* /

=== added file 'debian/ubuntu-orchestra-client.postinst'
--- debian/ubuntu-orchestra-client.postinst	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-client.postinst	2011-11-28 21:48:20 +0000
@@ -0,0 +1,69 @@
+#!/bin/sh -e
+# postinst script for orchestra-client
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+# A simplified version of debconf's own config script.
+. /usr/share/debconf/confmodule
+
+case "$1" in
+    configure)
+    if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ "$1" = "reconfigure" ]; then
+	# Create the orchestra user
+	user=orchestra
+	home="/var/lib/$user"
+	# Add user
+	if ! getent passwd "$user" > /dev/null 2>&1; then
+		adduser --system --shell /bin/bash --home "$home" --group "$user"
+	fi
+	# Create home
+	[ -d "$home" ] || mkdir -p "$home"
+	chown -R $user:$user "$home"
+	chmod 440 /etc/sudoers.d/orchestra
+
+	# rsylog configuration
+        db_get ubuntu-orchestra-client/rsyslog_host
+        if [ "${RET}z" != "z" ]
+        then
+            if [ ! -f "/etc/rsyslog.d/99-orchestra.conf" ]
+            then
+                cat /usr/share/orchestra/rsyslog/orchestra-client.conf | sed s/1.1.1.1/$RET/ > /etc/rsyslog.d/99-orchestra.conf
+            else
+                sed -i -e "s/^*.* @@(o).*..*..*..*:10514.*$/*.* @@(o)$RET:10514/" /etc/rsyslog.d/99-orchestra.conf
+            fi
+        fi
+
+        # Make sure rsyslog reads our config
+        invoke-rc.d rsyslog restart
+    fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure|triggered)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

=== added file 'debian/ubuntu-orchestra-client.preinst'
--- debian/ubuntu-orchestra-client.preinst	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-client.preinst	2011-11-28 21:48:20 +0000
@@ -0,0 +1,19 @@
+#!/bin/sh -e
+
+if [ -s /etc/hostname ]; then
+    # hostname file exists, is not empty, read hostname
+    hostname=$(cat /etc/hostname)
+    if ! grep -qs "\W$hostname" /etc/hosts; then
+        # hostname does not exist in /etc/hosts
+        if grep -qs "127\.0\.1\.1\W" /etc/hosts; then
+            # 127.0.1.1 exists, so append to line
+            sed -i "s/\(127\.0\.1\.1.*\)/\1 $hostname/" /etc/hosts
+        else
+            # 127.0.1.1 does not exist, so add entire line
+            echo "127.0.1.1        $hostname" >> /etc/hosts
+        fi
+    fi
+fi
+
+#DEBHELPER#
+exit 0

=== added file 'debian/ubuntu-orchestra-client.templates'
--- debian/ubuntu-orchestra-client.templates	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-client.templates	2011-11-28 21:48:20 +0000
@@ -0,0 +1,8 @@
+Template: ubuntu-orchestra-client/rsyslog_host
+Type: string
+_Description: Hostname or IP address of the rsyslog server:
+   Ubuntu Orchestra collects all logs into a central syslog for
+   management and statistics, this host is the same one that is
+   used for monitoring where the ubuntu-orchestra-monitoring-server
+   gathers this data.
+

=== added file 'debian/ubuntu-orchestra-common.dirs'
--- debian/ubuntu-orchestra-common.dirs	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-common.dirs	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+/var/lib/orchestra

=== added file 'debian/ubuntu-orchestra-common.install'
--- debian/ubuntu-orchestra-common.install	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-common.install	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+orchestra /usr/share/pyshared

=== added file 'debian/ubuntu-orchestra-common.links'
--- debian/ubuntu-orchestra-common.links	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-common.links	2011-11-28 21:48:20 +0000
@@ -0,0 +1,2 @@
+var/lib/orchestra/ssl-cert-orchestra.pem etc/ssl/certs/ssl-cert-orchestra.pem
+var/lib/orchestra/ssl-cert-orchestra-pk.pem etc/ssl/private/ssl-cert-orchestra-pk.pem

=== added file 'debian/ubuntu-orchestra-logging-server.dirs'
--- debian/ubuntu-orchestra-logging-server.dirs	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-logging-server.dirs	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+/var/log/orchestra/rsyslog

=== added file 'debian/ubuntu-orchestra-logging-server.install'
--- debian/ubuntu-orchestra-logging-server.install	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-logging-server.install	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+logging-server/* /

=== added file 'debian/ubuntu-orchestra-logging-server.postinst'
--- debian/ubuntu-orchestra-logging-server.postinst	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-logging-server.postinst	2011-11-28 21:48:20 +0000
@@ -0,0 +1,41 @@
+#!/bin/sh -e
+
+case "$1" in
+    configure)
+        # Create log directory base
+        if [ ! -d "/var/log/orchestra" ]; then
+            mkdir /var/log/orchestra
+        fi
+        chown syslog:syslog /var/log/orchestra
+        # Generate SSL certificates
+        if [ ! -d "/var/lib/orchestra/.ssl" ]; then
+                user=orchestra
+                home="/var/lib/$user"
+                mkdir -m 755 -p "$home"
+                mkdir -m 700 -p "$home/.ssl"
+                cert="ssl-cert-orchestra.pem"
+                pk="ssl-cert-orchestra-pk.pem"
+                ca="ssl-cert-orchestra-ca.pem"
+                openssl req -new -nodes -x509 -out "$home/.ssl/$cert" -keyout "$home/.ssl/$pk" -days 3650 -subj "/C=US/ST=TX/L=Austin/CN=localhost/emailAddress=root@localhost"
+                certtool --generate-certificate --generate-self-signed --load-privkey "$home/.ssl/$pk" --outfile "$home/$ca" --template /usr/share/orchestra/rsyslog/certtool.cfg
+                chown -R syslog:syslog "$home/.ssl" "$home/$ca"
+        fi
+        # Make sure rsyslog reads our config
+        invoke-rc.d rsyslog restart
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure|triggered)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0

=== added file 'debian/ubuntu-orchestra-management-server.install'
--- debian/ubuntu-orchestra-management-server.install	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-management-server.install	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+management-server/* /

=== added file 'debian/ubuntu-orchestra-management-server.preinst'
--- debian/ubuntu-orchestra-management-server.preinst	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-management-server.preinst	2011-11-28 21:48:20 +0000
@@ -0,0 +1,19 @@
+#!/bin/sh -e
+
+if [ -s /etc/hostname ]; then
+    # hostname file exists, is not empty, read hostname
+    hostname=$(cat /etc/hostname)
+    if ! grep -qs "\W$hostname" /etc/hosts; then
+        # hostname does not exist in /etc/hosts
+        if grep -qs "127\.0\.1\.1\W" /etc/hosts; then
+            # 127.0.1.1 exists, so append to line
+            sed -i "s/\(127\.0\.1\.1.*\)/\1 $hostname/" /etc/hosts
+        else
+            # 127.0.1.1 does not exist, so add entire line
+            echo "127.0.1.1        $hostname" >> /etc/hosts
+        fi
+    fi
+fi
+
+#DEBHELPER#
+exit 0

=== added file 'debian/ubuntu-orchestra-provisioning-server.config'
--- debian/ubuntu-orchestra-provisioning-server.config	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-provisioning-server.config	2011-11-28 21:48:20 +0000
@@ -0,0 +1,18 @@
+#!/bin/sh -e
+
+# Only ask this question on new installs and reconfigures
+if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ "$1" = "reconfigure" ]; then
+	. /usr/share/debconf/confmodule
+	db_input high ubuntu-orchestra-provisioning-server/import-isos || true
+	db_go
+	db_input high ubuntu-orchestra-provisioning-server/dnsmasq-enabled || true
+	db_go
+
+	# Try to obtain the default range for dnsmasq-dhcp-range and set it
+	range=$(grep -s "^dhcp-range=.*$" /etc/cobbler/dnsmasq.template | awk '{split($0,array,"=")} END{print array[2]}')
+
+	if [ -n "$range" ]; then
+		db_set ubuntu-orchestra-provisioning-server/dnsmasq-dhcp-range "$range"
+	fi
+fi
+#DEBHELPER#

=== added file 'debian/ubuntu-orchestra-provisioning-server.install'
--- debian/ubuntu-orchestra-provisioning-server.install	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-provisioning-server.install	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+provisioning-server/* /

=== added file 'debian/ubuntu-orchestra-provisioning-server.links'
--- debian/ubuntu-orchestra-provisioning-server.links	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-provisioning-server.links	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+usr/share/orchestra/conf/apache_orchestra etc/apache2/sites-available/orchestra-provisioning

=== added file 'debian/ubuntu-orchestra-provisioning-server.postinst'
--- debian/ubuntu-orchestra-provisioning-server.postinst	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-provisioning-server.postinst	2011-11-28 21:48:20 +0000
@@ -0,0 +1,140 @@
+#!/bin/sh -e
+
+# Background an ISO import immediately
+. /usr/share/debconf/confmodule
+db_version 2.0
+
+db_get ubuntu-orchestra-provisioning-server/import-isos || true
+if [ "$RET" = "true" ]; then
+	run-one orchestra-import-isos -i >/dev/null 2>&1 &
+fi
+
+if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
+	user=orchestra
+	home="/var/lib/$user"
+	# Add user
+	if ! getent passwd "$user" > /dev/null 2>&1; then
+		adduser --system --shell /bin/bash --home "$home" --group "$user"
+	fi
+	# Create home
+	[ -d "$home" ] || mkdir -p "$home"
+	chown -R $user:$user "$home"
+	if ! [ -f "$home/.ssh/id_rsa" ]; then
+		# Generate SSH keys
+		if [ ! -f "$home/.ssh/id_rsa" ]; then
+			su "$user" -c "ssh-keygen -N '' -t rsa -f $home/.ssh/id_rsa"
+		fi
+	fi
+	# Only update dnsmasq on new installs and reconfigures
+	db_get ubuntu-orchestra-provisioning-server/dnsmasq-enabled || true
+	if [ "$RET" = "true" ]; then
+
+		# Ask debconf questions
+		db_input high ubuntu-orchestra-provisioning-server/dnsmasq-dhcp-range || true
+		db_go
+		db_input high ubuntu-orchestra-provisioning-server/default-gateway || true
+		db_go
+		db_input high ubuntu-orchestra-provisioning-server/dnsmasq-domain-name || true
+		db_go
+
+		# Setup dnsmasq
+		sed -i -e "s/^manage_dns:.*$/manage_dns: 1/" \
+		       -e "s/^manage_dhcp:.*$/manage_dhcp: 1/" /etc/cobbler/settings
+		sed -i -e "s/^module = manage_bind/module = manage_dnsmasq/" \
+		       -e "s/^module = manage_isc/module = manage_dnsmasq/" /etc/cobbler/modules.conf
+
+		# Set the DHCP range
+		db_get ubuntu-orchestra-provisioning-server/dnsmasq-dhcp-range || true
+		range="$RET"
+		if [ -n "$range" ]; then
+			sed -i -e "s/^dhcp-range=.*$/dhcp-range=$range/" /etc/cobbler/dnsmasq.template
+		fi
+
+		# Setup Default Gateway
+		db_get ubuntu-orchestra-provisioning-server/default-gateway || true
+		ipaddr="$RET"
+		if [ -n "$ipaddr" ]; then
+			# If template has $next_server as default gateway, set it to $ipaddr
+			if grep -qs "^dhcp-option=3,\$next_server$" /etc/cobbler/dnsmasq.template; then
+				sed -i -e "s/^dhcp-option=3,\$next_server/dhcp-option=3,$ipaddr/" /etc/cobbler/dnsmasq.template
+			# If template already has an IP as default gateway, change it to $ipaddr
+			elif grep -qs "^dhcp-option=3,.*..*..*..*$" /etc/cobbler/dnsmasq.template; then
+				sed -i -e "s/^dhcp-option=3,.*..*..*..*/dhcp-option=3,$ipaddr/" /etc/cobbler/dnsmasq.template
+			fi
+		fi
+		#TODO: If nothing is given should we assume that we should set it back to default?
+
+		# Setup Domain Name
+		db_get ubuntu-orchestra-provisioning-server/dnsmasq-domain-name || true
+		domain="$RET"
+		if [ -n "$domain" ]; then
+			# if the domain hasn't been set, set it to $domain
+			if grep -qs "^#domain=.*$" /etc/cobbler/dnsmasq.template; then
+				sed -i -e "s/^#domain=.*/domain=$domain/" /etc/cobbler/dnsmasq.template
+			# if the domain has been set, change it to $domain
+			elif grep -qs "^domain=.*$" /etc/cobbler/dnsmasq.template; then
+				sed -i -e "s/^domain=.*$/domain=$domain/" /etc/cobbler/dnsmasq.template
+			fi
+		fi
+
+	else
+		# Undo dnsmasq setup
+		sed -i -e "s/^manage_dns:.*$/manage_dns: 0/" \
+		       -e "s/^manage_dhcp:.*$/manage_dhcp: 0/" /etc/cobbler/settings
+		#sed -i -e "s/^module = manage_dnsmasq.*# dns$/module = manage_bind/" \
+		#       -e "s/^module = manage_dnsmasq.*# dhcp$/module = manage_isc/" /etc/cobbler/modules.conf
+
+		# Undo DHCP range
+		sed -i -e "s/^dhcp-range=.*$/dhcp-range=192.168.1.5,192.168.1.200/" /etc/cobbler/dnsmasq.template
+
+		# Undo default gateway setup. If template has an IP addr, change it back to $next_server
+		if grep -qs "^dhcp-option=3,.*..*..*..*$" /etc/cobbler/dnsmasq.template; then
+			sed -i -e "s/^dhcp-option=3,.*..*..*..*/dhcp-option=3,\$next_server/" /etc/cobbler/dnsmasq.template
+		fi
+
+		# Undo domain.
+		if grep -qs "^domain=.*$" /etc/cobbler/dnsmasq.template; then
+			sed -i -e "s/^domain=.*$/#domain=/" /etc/cobbler/dnsmasq.template
+		fi
+	fi
+	invoke-rc.d cobbler restart || true
+
+	# symlink the config file
+	if [ -e /usr/share/orchestra/apache2/conf.d/juju-dav.conf -a \
+		! -e /etc/apache2/conf.d/juju_webdav.conf ]; then
+		ln -s /usr/share/orchestra/apache2/conf.d/juju-dav.conf /etc/apache2/conf.d/juju_webdav.conf
+	fi
+
+	# Enable and configure webdav
+	a2enmod dav_fs
+	a2enmod dav
+	mkdir -p /var/lib/webdav/charms
+	chown -R www-data:www-data /var/lib/webdav/
+	# Need to restart apache to pickup web configs
+	if [ -f /usr/sbin/apache2ctl ]; then
+		# Do this otherwise will not return from configure step
+		apache2ctl restart || true
+	elif [ -f /etc/init.d/apache2 ]; then
+		if [ -x /usr/sbin/invoke-rc.d ]; then
+			invoke-rc.d apache2 restart || true
+		else
+			/etc/init.d/apache2 restart || true
+		fi
+	fi
+
+	# Configure Squid
+	if [ -e /etc/squid3/squid.conf ] ; then
+		cp /etc/squid3/squid.conf /etc/squid3/squid.conf.orig
+	fi
+	ln -sf /usr/share/orchestra/conf/squid.conf /etc/squid3/squid.conf
+
+	# stop squid3 if its running else dir structrue will not be created
+	# per new config file, and later restart will fail if cache_dir is
+	# not populated 
+	invoke-rc.d squid3 stop
+	squid3 -z
+	invoke-rc.d squid3 restart
+fi
+
+#DEBHELPER#
+exit 0

=== added file 'debian/ubuntu-orchestra-provisioning-server.postrm'
--- debian/ubuntu-orchestra-provisioning-server.postrm	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-provisioning-server.postrm	2011-11-28 21:48:20 +0000
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+if [ "$1" = "purge" ] ; then
+
+	# Remove juju storage configuration
+	rm -f /etc/apache2/conf.d/juju_webdav.conf
+	rm -rf /var/lib/webdav/charms
+
+	# Need to restart apache to pickup web configs
+	if [ -f /usr/sbin/apache2ctl ]; then
+		# Do this otherwise will not return from configure step
+		apache2ctl restart || true
+	elif [ -f /etc/init.d/apache2 ]; then
+		if [ -x /usr/sbin/invoke-rc.d ]; then
+			invoke-rc.d apache2 restart || true
+		else
+			/etc/init.d/apache2 restart || true
+		fi
+	fi
+
+fi
+
+#DEBHELPER#
+exit 0

=== added file 'debian/ubuntu-orchestra-provisioning-server.preinst'
--- debian/ubuntu-orchestra-provisioning-server.preinst	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-provisioning-server.preinst	2011-11-28 21:48:20 +0000
@@ -0,0 +1,19 @@
+#!/bin/sh -e
+
+if [ -s /etc/hostname ]; then
+    # hostname file exists, is not empty, read hostname
+    hostname=$(cat /etc/hostname)
+    if ! grep -qs "\W$hostname" /etc/hosts; then
+        # hostname does not exist in /etc/hosts
+        if grep -qs "127\.0\.1\.1\W" /etc/hosts; then
+            # 127.0.1.1 exists, so append to line
+            sed -i "s/\(127\.0\.1\.1.*\)/\1 $hostname/" /etc/hosts
+        else
+            # 127.0.1.1 does not exist, so add entire line
+            echo "127.0.1.1        $hostname" >> /etc/hosts
+        fi
+    fi
+fi
+
+#DEBHELPER#
+exit 0

=== added file 'debian/ubuntu-orchestra-provisioning-server.templates'
--- debian/ubuntu-orchestra-provisioning-server.templates	1970-01-01 00:00:00 +0000
+++ debian/ubuntu-orchestra-provisioning-server.templates	2011-11-28 21:48:20 +0000
@@ -0,0 +1,47 @@
+Template: ubuntu-orchestra-provisioning-server/import-isos
+Type: boolean
+Default: true
+_Description: Download and import Ubuntu mini ISOs:
+ Ubuntu Orchestra Provisioning Server can automatically download
+ and import all the latest Ubuntu mini ISOs. Additionally, it
+ will also create profiles for juju.
+ .
+ This process requires Internet access and might impact your
+ network during and post-installation of the provisioning server.
+
+Template: ubuntu-orchestra-provisioning-server/dnsmasq-enabled
+Type: boolean
+Default: true
+_Description: Enable Orchestra managed DNS/DHCP:
+ Ubuntu Orchestra Provisioning Server can manage address and name
+ allocation for provisioned systems.  If you manage your DNS and
+ DHCP elsewhere, you should disable this option.
+
+Template: ubuntu-orchestra-provisioning-server/dnsmasq-dhcp-range
+Type: string
+_Description: Set the network range for DHCP Clients:
+ Ubuntu Orchestra Provisioning Server manages DHCP for address
+ allocation for the provisioned systems.  If the network range
+ for the DHCP clients is different from the default
+ (192.168.1.5,192.168.1.200), you should set it here.
+ .
+ An example of how a network range should be specified is as
+ follows:
+ .
+ 10.10.10.2,10.10.10.254
+
+Template: ubuntu-orchestra-provisioning-server/default-gateway
+Type: string
+_Description: Set default Gateway for DHCP Clients:
+ Ubuntu Orchestra Provisioning Server manages DHCP for address
+ allocation for the provisioned systems.  If the Provisioning
+ Server is NOT the default Gateway for the provisioned systems, 
+ you should set the default Gateway here, otherwise leave this
+ blank.
+
+Template: ubuntu-orchestra-provisioning-server/dnsmasq-domain-name
+Type: string
+_Description: Set the domain name for DHCP Clients:
+ Ubuntu Orchestra Provisioning Server manages DHCP for address
+ allocation for the provisioned systems. If these systems are
+ required to be under a domain, you should enter it here.

=== added directory 'docs'
=== renamed directory 'docs' => 'docs.moved'
=== added directory 'logging-server'
=== renamed directory 'logging-server' => 'logging-server.moved'
=== added directory 'logging-server/etc'
=== added directory 'logging-server/etc/cron.d'
=== added file 'logging-server/etc/cron.d/remote_syslog_compress'
--- logging-server/etc/cron.d/remote_syslog_compress	1970-01-01 00:00:00 +0000
+++ logging-server/etc/cron.d/remote_syslog_compress	2011-11-28 21:48:20 +0000
@@ -0,0 +1,2 @@
+# Compress log files not changed in more than 48 hours:
+30 4 * * * root find /var/log/orchestra/ -type f -mtime +2 -exec bzip2 '{}' \;

=== added directory 'logging-server/etc/rsyslog.d'
=== added file 'logging-server/etc/rsyslog.d/99-orchestra.conf'
--- logging-server/etc/rsyslog.d/99-orchestra.conf	1970-01-01 00:00:00 +0000
+++ logging-server/etc/rsyslog.d/99-orchestra.conf	2011-11-28 21:48:20 +0000
@@ -0,0 +1,86 @@
+# Enable the udp server for installation logging
+$ModLoad imudp
+$UDPServerRun 514
+
+# make gtls driver the default
+$DefaultNetstreamDriver gtls
+
+# certificate files
+$DefaultNetstreamDriverCAFile /var/lib/orchestra/ssl-cert-orchestra-ca.pem
+$DefaultNetstreamDriverCertFile /var/lib/orchestra/.ssl/ssl-cert-orchestra.pem
+$DefaultNetstreamDriverKeyFile /var/lib/orchestra/.ssl/ssl-cert-orchestra-pk.pem
+
+$ModLoad imtcp # load TCP listener
+
+$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
+$InputTCPServerStreamDriverAuthMode anon # client is NOT authenticated
+$InputTCPServerRun 10514 # start up listener at port 10514
+
+# Reduce message repetition
+$RepeatedMsgReduction on
+##$RepeatedMsgContainsOrigionalMsg on
+
+# Message templating
+$template DYNmessages,"/var/log/orchestra/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/messages"
+$template DYNsecure,"/var/log/orchestra/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/secure"
+$template DYNmaillog,"/var/log/orchestra/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/maillog"
+$template DYNcron,"/var/log/orchestra/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/cron"
+$template DYNspooler,"/var/log/orchestra/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/spooler"
+$template DYNboot,"/var/log/orchestra/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/boot"
+$template DYNsyslog,"/var/log/orchestra/rsyslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/syslog"
+
+if \
+        $source != 'localhost' \
+        and \
+             $syslogseverity <= '6' \
+        and ( \
+                        $syslogfacility-text != 'mail' \
+                and \
+                        $syslogfacility-text != 'authpriv' \
+                and \
+                        $syslogfacility-text != 'cron' \
+        ) \
+then    ?DYNmessages
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'authpriv' \
+then    ?DYNsecure
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'mail' \
+then    -?DYNmaillog
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'cron' \
+then    ?DYNcron
+
+if \
+        $source != 'localhost' \
+                and \
+        (\
+                $syslogfacility-text == 'uucp' \
+                        or \
+                $syslogfacility-text == 'news' \
+        )\
+                and \
+        $syslogseverity-text == 'crit' \
+then    ?DYNspooler
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'local7' \
+then    ?DYNboot
+
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'syslog' \
+then    ?DYNsyslog

=== added directory 'logging-server/usr'
=== added directory 'logging-server/usr/share'
=== added directory 'logging-server/usr/share/orchestra'
=== added directory 'logging-server/usr/share/orchestra/rsyslog'
=== added file 'logging-server/usr/share/orchestra/rsyslog/certtool.cfg'
--- logging-server/usr/share/orchestra/rsyslog/certtool.cfg	1970-01-01 00:00:00 +0000
+++ logging-server/usr/share/orchestra/rsyslog/certtool.cfg	2011-11-28 21:48:20 +0000
@@ -0,0 +1,7 @@
+organization = "Orchestra"
+unit = "Server"
+state = "TX"
+country = "US"
+cn = "Orchestra Server"
+expiration_days = 3650
+email = "root@localhost"

=== added file 'logging-server/usr/share/orchestra/rsyslog/orchestra-server.conf'
--- logging-server/usr/share/orchestra/rsyslog/orchestra-server.conf	1970-01-01 00:00:00 +0000
+++ logging-server/usr/share/orchestra/rsyslog/orchestra-server.conf	2011-11-28 21:48:20 +0000
@@ -0,0 +1,83 @@
+# Server Config
+##$ModLoad imudp
+##$UDPServerAddress 0.0.0.0
+##$UDPServerRun 514
+##$ModLoad imtcp
+##$TCPServerAddress 0.0.0.0
+##$TCPServerRun 514
+
+# make gtls driver the default
+$DefaultNetstreamDriver gtls
+
+# certificate files
+$DefaultNetstreamDriverCAFile /var/lib/orchestra/ssl-cert-orchestra-ca.pem
+$DefaultNetstreamDriverCertFile /var/lib/orchestra/.ssl/ssl-cert-orchestra.pem
+$DefaultNetstreamDriverKeyFile /var/lib/orchestra/.ssl/ssl-cert-orchestra-pk.pem
+
+$ModLoad imtcp # load TCP listener
+
+$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
+$InputTCPServerStreamDriverAuthMode anon # client is NOT authenticated
+$InputTCPServerRun 10514 # start up listener at port 10514
+
+# Reduce message repetition
+$RepeatedMsgReduction on
+##$RepeatedMsgContainsOrigionalMsg on
+
+# Message templating
+$template DYNmessages,"/var/log/orchestra/%$YEAR%/%$MONTH%/%HOSTNAME%/messages_%$DAY%_%$MONTH%_%$YEAR%"
+$template DYNsecure,"/var/log/orchestra/%$YEAR%/%$MONTH%/%HOSTNAME%/secure_%$DAY%_%$MONTH%_%$YEAR%"
+$template DYNmaillog,"/var/log/orchestra/%$YEAR%/%$MONTH%/%HOSTNAME%/maillog_%$DAY%_%$MONTH%_%$YEAR%"
+$template DYNcron,"/var/log/orchestra/%$YEAR%/%$MONTH%/%HOSTNAME%/cron_%$DAY%_%$MONTH%_%$YEAR%"
+$template DYNspooler,"/var/log/orchestra/%$YEAR%/%$MONTH%/%HOSTNAME%/spooler_%$DAY%_%$MONTH%_%$YEAR%"
+$template DYNboot,"/var/log/orchestra/%$YEAR%/%$MONTH%/%HOSTNAME%/boot_%$DAY%_%$MONTH%_%$YEAR%"
+
+if \
+        $source != 'localhost' \
+        and \
+             $syslogseverity <= '6' \
+        and ( \
+                        $syslogfacility-text != 'mail' \
+                and \
+                        $syslogfacility-text != 'authpriv' \
+                and \
+                        $syslogfacility-text != 'cron' \
+        ) \
+then    ?DYNmessages
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'authpriv' \
+then    ?DYNsecure
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'mail' \
+then    -?DYNmaillog
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'cron' \
+then    ?DYNcron
+
+if \
+        $source != 'localhost' \
+                and \
+        (\
+                $syslogfacility-text == 'uucp' \
+                        or \
+                $syslogfacility-text == 'news' \
+        )\
+                and \
+        $syslogseverity-text == 'crit' \
+then    ?DYNspooler
+
+if \
+        $source != 'localhost' \
+                and \
+        $syslogfacility-text == 'local7' \
+then    ?DYNboot
+

=== added directory 'management-server'
=== renamed directory 'management-server' => 'management-server.moved'
=== added directory 'management-server/usr'
=== added directory 'management-server/usr/share'
=== added directory 'management-server/usr/share/orchestra'
=== added directory 'management-server/usr/share/orchestra/Capistrano'
=== added file 'management-server/usr/share/orchestra/Capistrano/Capfile.example'
--- management-server/usr/share/orchestra/Capistrano/Capfile.example	1970-01-01 00:00:00 +0000
+++ management-server/usr/share/orchestra/Capistrano/Capfile.example	2011-11-28 21:48:20 +0000
@@ -0,0 +1,33 @@
+require '/usr/share/orchestra/Capistrano/mcollective_facts.rb'
+
+role :ubuntu do
+   mcollective_gethostlist("operatingsystem","Ubuntu")
+end
+
+role :undefined do
+   mcollective_gethostlist("role","undefined")
+end
+
+role :provisioned do
+   mcollective_gethostlist("provision-status","provisioned")
+end
+
+role :apache do
+   mcollective_gethostlist("role","apache")
+end
+
+default_run_options[:pty] = true
+set :ssh_options, { :user => "ubuntu", :keys => [File.join(ENV["HOME"], ".ssh", "sig.key")], :forward_agent => true}
+set :use_sudo, true
+set :scm_verbose, true
+
+desc "Show Memory"
+task :show_mem do
+  run "grep -i memtotal /proc/meminfo"
+end
+
+desc "Restart Apache"
+task :restart_apache, :roles => :apache do
+  run "service apache restart"
+end
+

=== added directory 'monitoring-server'
=== renamed directory 'monitoring-server' => 'monitoring-server.moved'
=== added directory 'orchestra'
=== renamed directory 'orchestra' => 'orchestra.moved'
=== added file 'orchestra/__init__.py'
=== added directory 'orchestra/utils'
=== added file 'orchestra/utils/__init__.py'
=== added file 'orchestra/utils/cloudinit.py'
--- orchestra/utils/cloudinit.py	1970-01-01 00:00:00 +0000
+++ orchestra/utils/cloudinit.py	2011-11-28 21:48:20 +0000
@@ -0,0 +1,45 @@
+from base64 import b64encode, b64decode
+from cStringIO import StringIO
+from gzip import GzipFile
+
+_META_DATA_LATE_COMMAND_TEMPLATE = """
+seed_d=/var/lib/cloud/seed/nocloud-net
+mkdir -p "$seed_d"
+cat > "$seed_d"/meta-data <<"EOF"
+instance-id: %s
+local-hostname: %s
+EOF
+"""
+
+_USER_DATA_LATE_COMMAND_TEMPLATE = """
+seed_d=/var/lib/cloud/seed/nocloud-net
+mkdir -p "$seed_d"
+cat > "$seed_d"/user-data <<"EOF"
+%s
+EOF
+"""
+
+_KSMETA_LATE_COMMAND_TEMPLATE = (
+    "in-target sh -c '"
+        "f=$1; "
+        "shift; "
+        "echo $0 | base64 --decode | gunzip > $f "
+        "&& chmod u+x $f "
+        "&& $f $*"
+    "' %s /root/%s-late-command")
+
+def base64_gzip(content):
+    gzipped = StringIO()
+    gzip_file = GzipFile(fileobj=gzipped, mode="wb", compresslevel=9)
+    gzip_file.write(content)
+    gzip_file.close()
+    return b64encode(gzipped.getvalue())
+
+def get_meta_data_late_command(instance_id=None, hostname=None):
+    late_command = _META_DATA_LATE_COMMAND_TEMPLATE % (instance_id, hostname)
+    return _KSMETA_LATE_COMMAND_TEMPLATE % (base64_gzip(late_command), "meta-data")
+
+def get_user_data_late_command(user_data_base64):
+    user_data = b64decode(user_data_base64)
+    late_command = _USER_DATA_LATE_COMMAND_TEMPLATE % (user_data)
+    return _KSMETA_LATE_COMMAND_TEMPLATE % (base64_gzip(late_command), "user-data")

=== added file 'orchestra/utils/keys.py'
--- orchestra/utils/keys.py	1970-01-01 00:00:00 +0000
+++ orchestra/utils/keys.py	2011-11-28 21:48:20 +0000
@@ -0,0 +1,68 @@
+#!/usr/bin/python
+#
+#    powernap.py - handles powernap's config and initializes Monitors.
+#
+#    Copyright (C) 2011 Canonical Ltd.
+#
+#    Authors: Andres Rodriguez <andreserl@xxxxxxxxxxxxx>
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, version 3 of the License.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+from base64 import b64encode
+from cStringIO import StringIO
+from gzip import GzipFile
+import commands, os
+
+_LATE_COMMAND_TEMPLATE = """
+orchestra_dir="/var/lib/orchestra/"
+mkdir -p $orchestra_dir
+cat > "$orchestra_dir"/ssl-cert-orchestra-ca.pem <<"EOF"
+%s
+EOF
+"""
+
+_KSMETA_LATE_COMMAND_TEMPLATE = (
+    "in-target sh -c '"
+        "f=$1; "
+        "shift; "
+        "echo $0 | base64 --decode | gunzip > $f "
+        "&& chmod u+x $f "
+        "&& $f $*"
+    "' %s /root/keys-late-command")
+#    "in-target sh -c 'echo $0 | base64 --decode | gunzip | sh -' %s")
+
+def base64_gzip(content):
+    gzipped = StringIO()
+    gzip_file = GzipFile(fileobj=gzipped, mode="wb", compresslevel=9)
+    gzip_file.write(content)
+    gzip_file.close()
+    return b64encode(gzipped.getvalue())
+
+def open_file(file):
+    try:
+        fp = open(file)
+        output = fp.read()
+        fp.close()
+    except:
+        return False
+    return output
+
+def get_late_command():
+    content = open_file("/var/lib/orchestra/ssl-cert-orchestra-ca.pem")
+    # If file does not exist, or no content, then return "true" string
+    # so that preseed does not fail (LP: #891915)
+    if not content:
+       return "true"
+    late_command = _LATE_COMMAND_TEMPLATE % content
+    encoded_content = base64_gzip(late_command)
+    return _KSMETA_LATE_COMMAND_TEMPLATE % encoded_content

=== added directory 'provisioning-server'
=== renamed directory 'provisioning-server' => 'provisioning-server.moved'
=== added directory 'provisioning-server/etc'
=== added directory 'provisioning-server/etc/cron.d'
=== added file 'provisioning-server/etc/cron.d/orchestra-import-isos'
--- provisioning-server/etc/cron.d/orchestra-import-isos	1970-01-01 00:00:00 +0000
+++ provisioning-server/etc/cron.d/orchestra-import-isos	2011-11-28 21:48:20 +0000
@@ -0,0 +1,3 @@
+# Runs orchestra-import-isos every Sunday at 4am
+# This will get the new mini.iso and generate a new cobbler profile
+11 4 * * 0 root	run-one orchestra-import-isos &> /dev/null

=== added directory 'provisioning-server/etc/orchestra'
=== added directory 'provisioning-server/etc/orchestra/conf.d'
=== added file 'provisioning-server/etc/orchestra/conf.d/provisioning.conf'
--- provisioning-server/etc/orchestra/conf.d/provisioning.conf	1970-01-01 00:00:00 +0000
+++ provisioning-server/etc/orchestra/conf.d/provisioning.conf	2011-11-28 21:48:20 +0000
@@ -0,0 +1,4 @@
+[provisioning]
+hostname.root = ubuntu
+orchestration.ipaddress = 1.1.1.1
+monitoring.ipaddress = 1.1.1.1

=== added file 'provisioning-server/etc/orchestra/import_isos'
--- provisioning-server/etc/orchestra/import_isos	1970-01-01 00:00:00 +0000
+++ provisioning-server/etc/orchestra/import_isos	2011-11-28 21:48:20 +0000
@@ -0,0 +1,9 @@
+#RELEASES="oneiric natty maverick lucid"
+#ARCHES="amd64 i386"
+#PRIORITY="critical"
+#LOCALE="en_US"
+#INTERFACE="eth0"
+#KOPTS="priority=$PRIORITY locale=$LOCALE netcfg/choose_interface=$INTERFACE"
+## Juju Management Classes
+#MGMTCLASS_AVAILABLE="orchestra-juju-available"
+#MGMTCLASS_ACQUIRED="orchestra-juju-acquired"

=== added directory 'provisioning-server/usr'
=== added directory 'provisioning-server/usr/sbin'
=== added file 'provisioning-server/usr/sbin/orchestra-generate-cloud-init'
--- provisioning-server/usr/sbin/orchestra-generate-cloud-init	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/sbin/orchestra-generate-cloud-init	2011-11-28 21:48:20 +0000
@@ -0,0 +1,99 @@
+#!/usr/bin/python
+#
+#    orchestra-generate-cloud-init - Generate user-data needed by cloud-init
+#
+#    Copyright (C) 2011 Canonical
+#
+#    Author:
+#               Marc Cluet <marc.cluet@xxxxxxxxxxxxx>
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, version 3 of the License.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import random
+import string
+import ConfigParser
+import StringIO
+import re
+import getopt
+import sys
+
+def usage():
+    print "Usage: orchestra-generate-cloud-init -f [input template] -o [output file]"
+    exit(2)
+
+# Capture incoming args
+try:
+    opts, args = getopt.getopt(sys.argv[1:], "ho:f:", ["help", "output=", "file="])
+except getopt.GetoptError, err:
+    print str(err)
+    usage()
+    exit(2)
+
+outputfile = None
+inputfile = '/var/lib/orchestra/cloud-init/user-data.tpl'
+for o, a in opts:
+    if o in ("-f", "--file"):
+        inputfile = a
+    elif o in ("-o", "--output"):
+        outputfile = a
+    elif o in ("-h", "--help"):
+        usage()
+    else:
+        usage()
+
+try:
+    provisioning_conf_fh = open('/etc/orchestra/conf.d/provisioning.conf', 'r')
+except Exception:
+    print "Can't find configuration file at /etc/orchestra/conf.d/provisioning.conf"
+    usage()
+    exit(1)
+provisioning_conf = ConfigParser.ConfigParser()
+provisioning_conf.readfp(StringIO.StringIO(''.join(i.lstrip() for i in provisioning_conf_fh.readlines())))
+provisioning_conf_fh.close()
+
+# Start reading the user-data.tpl
+try:
+    user_data_fh = open(inputfile, 'r')
+except Exception:
+    exit(1)
+
+output_string = ""
+for user_data_line in user_data_fh.readlines():
+    re_exp = re.compile('.*@@(?P<tag>.*?)@@.*')
+    re_line = re_exp.search(user_data_line)
+    try:
+        in_value = re_line.group('tag')
+    except Exception:
+        output_string += user_data_line
+        continue
+    line_print = False
+    for config_item in provisioning_conf.items('provisioning'):
+        if in_value == config_item[0]:
+            output_string += string.replace(user_data_line, '@@' + in_value + '@@', config_item[1])
+            line_print = True
+    if line_print is False:
+        output_string += user_data_line
+
+user_data_fh.close()
+
+if outputfile == None:
+    print output_string
+else:
+    try:
+        output_data_fh = open(outputfile, 'w')
+    except Exception:
+        print "Can't open file %s for writing" % outputfile
+        exit(1)
+    output_data_fh.write(output_string)
+    output_data_fh.close()
+

=== added file 'provisioning-server/usr/sbin/orchestra-import-isos'
--- provisioning-server/usr/sbin/orchestra-import-isos	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/sbin/orchestra-import-isos	2011-11-28 21:48:20 +0000
@@ -0,0 +1,159 @@
+#!/bin/sh
+#
+#    orchestra-import-isos - sync and import Ubuntu isos into cobbler
+#
+#    Copyright (C) 2011 Canonical
+#
+#    Authors:
+#		Marc Cluet <marc.cluet@xxxxxxxxxxxxx>
+#		Dustin Kirkland <kirkland@xxxxxxxxxxxxx>
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, version 3 of the License.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Ensure root
+if [ "$(id -u)" != "0" ]; then
+	echo "ERROR: $0 must run as root" 2>&1
+	exit 1
+fi
+
+# Definitions for supported releases and architectures
+[ -r /etc/orchestra/import_isos ] && . /etc/orchestra/import_isos
+[ -n "$RELEASES" ] || RELEASES=$(distro-info --supported)
+[ -n "$ARCHES" ] || ARCHES="amd64 i386"
+[ -n "$KSDIR" ] || KSDIR="/var/lib/cobbler/kickstarts"
+[ -n "$PRIORITY" ] || PRIORITY="critical"
+[ -n "$LOCALE" ] || LOCALE="en_US"
+[ -n "$MGMTCLASS_AVAILABLE" ] || MGMTCLASS_AVAILABLE="orchestra-juju-available"
+[ -n "$MGMTCLASS_ACQUIRED" ] || MGMTCLASS_ACQUIRED="orchestra-juju-acquired"
+[ -n "$INTERFACE" ] || INTERFACE="auto"
+[ -n "$KOPTS" ] || KOPTS="priority=$PRIORITY locale=$LOCALE netcfg/choose_interface=$INTERFACE"
+if [ -n "$SERVER_IP" ]; then
+	KOPTS="$KOPTS log_host=$SERVER_IP log_port=514"
+else
+	if grep -qs "^server: " /etc/cobbler/settings >/dev/null 2>&1; then
+		SERVER_IP=$(grep "^server: " /etc/cobbler/settings | awk '{print $2}')
+		KOPTS="$KOPTS log_host=$SERVER_IP log_port=514"
+	fi
+fi
+
+update_settings(){
+	# Updates the parent profiles with new settings. Only affects KOPTS
+	for r in $RELEASES; do
+		for a in $ARCHES; do
+			[ "$a" = "amd64" ] && a="x86_64"
+			# If profile exists, update it.
+			if (cobbler profile list | grep -qs " $r-$a$"); then
+				cobbler profile edit --name="$r-$a" --kopts="$KOPTS"
+			fi
+		done
+	done
+}
+
+import_isos(){
+	# Wget and import net install ISOs
+	for r in $RELEASES; do
+		for a in $ARCHES; do
+			[ "$a" = "amd64" ] && a="x86_64"
+			# Skip if cobbler already has this distro/arch combo
+			if ! (cobbler distro list | grep -qs " $r-$a$"); then
+				# Import the iso
+				cobbler-ubuntu-import $r-$a
+				cobbler profile edit --name="$r-$a" --kopts="$KOPTS" --kickstart="$KSDIR/orchestra.preseed"
+			else
+				# check archive for an updated ISO, update our cache if necessary
+				cobbler-ubuntu-import -c $r-$a && cobbler-ubuntu-import -u $r-$a
+				# Make sure the profile is using the orchestra preseed
+				cobbler profile edit --name="$r-$a" --kickstart="$KSDIR/orchestra.preseed"
+
+			fi
+			# Skip if cobbler already has this distro/arch profile
+			if ! (cobbler profile list | grep -qs " $r-$a-juju$"); then
+				# Add JuJu sub-profile based on the name of the imported ISO
+				cobbler profile add --name="$r-$a-juju" --parent="$r-$a" --kickstart="$KSDIR/juju.preseed"
+			fi
+		done
+	done
+}
+
+add_mgmt_classes(){
+	# Add Management Classes for JuJu
+	for m in $MGMTCLASS_AVAILABLE $MGMTCLASS_ACQUIRED; do
+		(cobbler mgmtclass list | grep -qs " $m$") || cobbler mgmtclass add --name="$m"
+	done
+}
+
+Usage() {
+        cat <<EOF
+Usage: ${0##*/} [ options ]
+
+   import Ubuntu releases and update default Orchestra settings
+
+   options:
+      -i | --import-isos      Import the Ubuntu ISOs and update default
+                              settings used for Orchestra. (default)
+      -u | --update-settings  Updates all profiles based on new settings
+                              in /etc/orchestra/import_isos.
+
+   The --import process downloads and imports a list of Ubuntu releases,
+   adding the default Orchestra settings for each of the profiles.  If a
+   release has already been imported but is out of date, the updated ISO
+   will be downloaded again and reimported.
+
+   If the ISOs have already been imported, update-settings will update all
+   the profiles within cobbler based on the modifications of
+   /etc/orchestra/import_isos.
+
+   Example:
+    - ${0##*/} -i
+EOF
+}
+
+bad_Usage() { Usage 1>&2; [ $# -eq 0 ] || error "$@"; exit 1; }
+
+short_opts="hiu"
+long_opts="import-isos,update-settings"
+getopt_out=$(getopt --name "${0##*/}" \
+        --options "${short_opts}" --long "${long_opts}" -- "$@") &&
+        eval set -- "${getopt_out}" ||
+        bad_Usage
+
+do_import_isos=false
+do_update_settings=false
+
+while [ $# -ne 0 ]; do
+	cur=${1};
+	case "$cur" in
+		-h|--help) Usage ; exit 0;;
+		-i|--import-isos) do_import_isos=true;;
+		-u|--update-settings) do_update_settings=true;;
+		--) shift; break;;
+	esac
+	shift;
+done
+
+## check arguments here
+[ $# -ne 0 ] && bad_Usage
+
+# if no action specified, import by default
+( ! $do_import_isos && ! $do_update_settings  ) && do_import_isos=true
+# do not allow import + update
+( $do_import_isos && $do_update_settings ) && bad_Usage
+
+$do_import_isos && import_isos 
+$do_update_settings && update_settings 
+
+# Add management classes if new have being defined.
+add_mgmt_classes
+
+# Sync changes with cobbler daemon
+cobbler sync

=== added directory 'provisioning-server/usr/share'
=== added directory 'provisioning-server/usr/share/man'
=== added directory 'provisioning-server/usr/share/man/man8'
=== added file 'provisioning-server/usr/share/man/man8/orchestra-generate-cloud-init.8'
--- provisioning-server/usr/share/man/man8/orchestra-generate-cloud-init.8	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/man/man8/orchestra-generate-cloud-init.8	2011-11-28 21:48:20 +0000
@@ -0,0 +1,25 @@
+.TH orchestra\-generate\-cloud\-init 8 "25 May 2011" orchestra "orchestra"
+.SH NAME
+\fBorchestra\-generate\-cloud\-init\fP \- generate user-data needed by cloud init
+
+.SH SYNOPSIS
+orchestra\-generate\-cloud\-init \-f [input template] \-o [output file]
+
+.SH DESCRIPTION
+\fBorchestra\-generate\-cloud\-init\fP is a utility that generates user-data needed by cloud-init.
+
+It uses an input template, by default \fI/var/lib/orchestra/cloud-init/user-data.tpl\fP, and writes to an output file.  See the configuration file at \fI/etc/orchestra/conf.d/provisioning.conf\fP for options.
+
+.SH FILES
+\fI/etc/orchestra/conf.d/provisioning.conf\fP, \fI/var/lib/orchestra/cloud-init/user-data.tpl\fP
+
+.SH "SEE ALSO"
+.PD 0
+.TP
+\fIhttp://launchpad.net/orchestra\fP
+.PD
+
+.SH AUTHOR
+This manpage was written by Dustin Kirkland <kirkland@xxxxxxxxxxxxx> for Ubuntu systems (but may be used by others).  Permission is granted to copy, distribute and/or modify this document and the utility under the terms of the GNU General Public License, Version 3 published by the Free Software Foundation.
+
+The complete text of the GNU General Public License can be found in \fI/usr/share/common-licenses/GPL\fP on Debian/Ubuntu systems, or on the web at \fIhttp://www.gnu.org/licenses/gpl.txt\fP.

=== added file 'provisioning-server/usr/share/man/man8/orchestra-import-isos.8'
--- provisioning-server/usr/share/man/man8/orchestra-import-isos.8	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/man/man8/orchestra-import-isos.8	2011-11-28 21:48:20 +0000
@@ -0,0 +1,39 @@
+.TH orchestra\-import\-isos 8 "25 May 2011" orchestra "orchestra"
+.SH NAME
+\fBorchestra\-import\-isos\fP \- sync and import Ubuntu isos into cobbler
+
+.SH DESCRIPTION
+\fBorchestra\-import\-isos\fP is a utility useful to automatically download and import Ubuntu ISOs into \fBcobbler\fP(1).
+
+It reads a configuration file  \fI/etc/orchestra/import_isos\fP in order to determine:
+ - ARCHIVE
+ - RELEASES
+ - ARCHES
+ - CACHE
+ - KSMIRROR
+ - KSDIR
+ - LOCALE
+ - PRIORITY
+
+For each release in RELEASES, and each arch in ARCHES, it will use \fBwget\fP(1) to download the Ubuntu mini.iso for each.  The mini.iso is used because it is a small download, and the rest of the installation is performed over the network and packages are cached using \fBsquid\fP(8).
+
+A loop \fBmount\fP(8) is performed, and "\fBcobbler\fP(1) import" is then executed with the appropriate parameters, in order to update cobbler's knowledge of its available distributions and releases.
+
+A \fBcron\fP(8) job typically runs this import-and-sync at 4am on Sundays.
+
+.SH FILES
+\fI/etc/orchestra/import_isos\fP, \fI/etc/cron.d/orchestra-import-isos\fP
+
+.SH "SEE ALSO"
+.PD 0
+.TP
+\fBmount\fP(8), \fBcobbler\fP(1), \fBwget\fP(1), \fBsquid\fP(8)
+
+.TP
+\fIhttp://launchpad.net/orchestra\fP
+.PD
+
+.SH AUTHOR
+This manpage and the utility were written by Dustin Kirkland <kirkland@xxxxxxxxxxxxx> for Ubuntu systems (but may be used by others).  Permission is granted to copy, distribute and/or modify this document and the utility under the terms of the GNU General Public License, Version 3 published by the Free Software Foundation.
+
+The complete text of the GNU General Public License can be found in \fI/usr/share/common-licenses/GPL\fP on Debian/Ubuntu systems, or on the web at \fIhttp://www.gnu.org/licenses/gpl.txt\fP.

=== added directory 'provisioning-server/usr/share/orchestra'
=== added directory 'provisioning-server/usr/share/orchestra/apache2'
=== added directory 'provisioning-server/usr/share/orchestra/apache2/conf.d'
=== added file 'provisioning-server/usr/share/orchestra/apache2/conf.d/juju-dav.conf'
--- provisioning-server/usr/share/orchestra/apache2/conf.d/juju-dav.conf	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/orchestra/apache2/conf.d/juju-dav.conf	2011-11-28 21:48:20 +0000
@@ -0,0 +1,7 @@
+Alias /webdav /var/lib/webdav
+ 
+<Directory /var/lib/webdav>
+Order allow,deny
+allow from all
+Dav On
+</Directory>

=== added directory 'provisioning-server/usr/share/orchestra/conf'
=== added file 'provisioning-server/usr/share/orchestra/conf/apache_orchestra'
--- provisioning-server/usr/share/orchestra/conf/apache_orchestra	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/orchestra/conf/apache_orchestra	2011-11-28 21:48:20 +0000
@@ -0,0 +1,5 @@
+<Directory /usr/share/orchestra/www/orchestra-cgi>
+   Options +FollowSymLinks +ExecCGI +Includes 
+</Directory>
+Alias /orchestra "/var/lib/orchestra/www/"
+ScriptAlias /cloud-init/ "/usr/share/orchestra/www/orchestra-cgi/"

=== added file 'provisioning-server/usr/share/orchestra/conf/squid.conf'
--- provisioning-server/usr/share/orchestra/conf/squid.conf	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/orchestra/conf/squid.conf	2011-11-28 21:48:20 +0000
@@ -0,0 +1,54 @@
+acl manager proto cache_object
+acl localhost src 127.0.0.1/32
+acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
+acl localnet src 10.0.0.0/8	# RFC1918 possible internal network
+acl localnet src 172.16.0.0/12	# RFC1918 possible internal network
+acl localnet src 192.168.0.0/16	# RFC1918 possible internal network
+acl SSL_ports port 443		# https
+acl SSL_ports port 563		# snews
+acl SSL_ports port 873		# rsync
+acl Safe_ports port 80		# http
+acl Safe_ports port 21		# ftp
+acl Safe_ports port 443		# https
+acl Safe_ports port 70		# gopher
+acl Safe_ports port 210		# wais
+acl Safe_ports port 1025-65535	# unregistered ports
+acl Safe_ports port 280		# http-mgmt
+acl Safe_ports port 488		# gss-http
+acl Safe_ports port 591		# filemaker
+acl Safe_ports port 777		# multiling http
+acl Safe_ports port 631		# cups
+acl Safe_ports port 873		# rsync
+acl Safe_ports port 901		# SWAT
+acl purge method PURGE
+acl CONNECT method CONNECT
+http_access allow manager localhost
+http_access deny manager
+http_access allow purge localhost
+http_access deny purge
+http_access deny !Safe_ports
+http_access deny CONNECT !SSL_ports
+http_access allow localnet
+http_access allow localhost
+http_access deny all
+icp_access allow localnet
+icp_access deny all
+http_port 3128
+icp_port 0
+hierarchy_stoplist cgi-bin ?
+access_log /var/log/squid3/access.log squid
+refresh_pattern ^ftp:		1440	20%	10080
+refresh_pattern ^gopher:	1440	0%	1440
+refresh_pattern -i (/cgi-bin/|\?) 0	0%	0
+refresh_pattern .		0	20%	4320
+acl PACKAGES url_regex \/Packages(|\.bz2|\.gz)$
+cache deny PACKAGES
+acl SOURCES url_regex \/Sources(|\.bz2|\.gz)$
+cache deny SOURCES
+acl RELEASE url_regex \/Release(|\.gpg)$
+cache deny RELEASE
+hosts_file /etc/hosts
+coredump_dir /var/spool/squid3
+maximum_object_size 750 MB
+cache_dir aufs /var/spool/squid3/small 40000 16 256 max-size=40M
+cache_dir aufs /var/spool/squid3/big 40000 16 256

=== added directory 'provisioning-server/usr/share/orchestra/examples'
=== added directory 'provisioning-server/usr/share/orchestra/examples/juju'
=== added file 'provisioning-server/usr/share/orchestra/examples/juju/environments.yaml'
--- provisioning-server/usr/share/orchestra/examples/juju/environments.yaml	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/orchestra/examples/juju/environments.yaml	2011-11-28 21:48:20 +0000
@@ -0,0 +1,22 @@
+juju: environments
+
+environments:
+  orchestra:
+    type: orchestra
+    ## IP Address of the Orchestra/Cobbler Server
+    orchestra-server: W.X.Y.Z
+
+    ## IP Address/Location of WebDav Storage Server, if required.
+    #storage-url: http://W.X.Y.Z/webdav
+
+    ## Cobbler user/password/admin-secret
+    orchestra-user: cobbler
+    orchestra-pass: cobbler
+    admin-secret: fooooo
+
+    ## Branch from where to install Juju, if required.
+    #juju-branch: lp:juju
+
+    # Management classes for Orchestra/Cobbler Server
+    acquired-mgmt-class: orchestra-juju-acquired
+    available-mgmt-class: orchestra-juju-available

=== added file 'provisioning-server/usr/share/orchestra/examples/ubuntu-orchestra-client.seed'
--- provisioning-server/usr/share/orchestra/examples/ubuntu-orchestra-client.seed	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/orchestra/examples/ubuntu-orchestra-client.seed	2011-11-28 21:48:20 +0000
@@ -0,0 +1,57 @@
+# Ubuntu Server Quick Install for Orchestra deployed systems
+# by Dustin Kirkland <kirkland@xxxxxxxxxx>
+#  * Documentation: http://bit.ly/uquick-doc
+
+d-i     debian-installer/locale string en_US.UTF-8
+d-i     debian-installer/splash boolean false
+d-i     console-setup/ask_detect        boolean false
+d-i     console-setup/layoutcode        string us
+d-i     console-setup/variantcode       string 
+d-i     netcfg/get_nameservers  string 
+d-i     netcfg/get_ipaddress    string 
+d-i     netcfg/get_netmask      string 255.255.255.0
+d-i     netcfg/get_gateway      string 
+d-i     netcfg/confirm_static   boolean true
+d-i     clock-setup/utc boolean true
+d-i     partman-auto/method string regular
+d-i     partman-lvm/device_remove_lvm boolean true
+d-i     partman-lvm/confirm boolean true
+d-i     partman/confirm_write_new_label boolean true
+d-i     partman/choose_partition        select Finish partitioning and write changes to disk
+d-i     partman/confirm boolean true
+d-i     partman/confirm_nooverwrite boolean true
+d-i     partman/default_filesystem string ext4
+d-i     clock-setup/utc boolean true
+d-i     clock-setup/ntp boolean true
+d-i     clock-setup/ntp-server  string ntp.ubuntu.com
+d-i     base-installer/kernel/image     string linux-server
+d-i     passwd/root-login       boolean false
+d-i     passwd/make-user        boolean true
+d-i     passwd/user-fullname    string ubuntu
+d-i     passwd/username string ubuntu
+d-i     passwd/user-password-crypted    password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4.
+d-i     passwd/user-uid string 
+d-i     user-setup/allow-password-weak  boolean false
+d-i     user-setup/encrypt-home boolean false
+d-i     passwd/user-default-groups      string adm cdrom dialout lpadmin plugdev sambashare
+d-i     apt-setup/services-select       multiselect security
+d-i     apt-setup/security_host string security.ubuntu.com
+d-i     apt-setup/security_path string /ubuntu
+d-i     debian-installer/allow_unauthenticated  string false
+d-i     pkgsel/upgrade  select safe-upgrade
+d-i     pkgsel/language-packs   multiselect 
+d-i     pkgsel/update-policy    select none
+d-i     pkgsel/updatedb boolean true
+d-i     grub-installer/skip     boolean false
+d-i     lilo-installer/skip     boolean false
+d-i     grub-installer/only_debian      boolean true
+d-i     grub-installer/with_other_os    boolean true
+d-i     finish-install/keep-consoles    boolean false
+d-i     finish-install/reboot_in_progress       note 
+d-i     cdrom-detect/eject      boolean true
+d-i     debian-installer/exit/halt      boolean false
+d-i     debian-installer/exit/poweroff  boolean false
+d-i     pkgsel/include string ubuntu-orchestra-client $EXTRA_PACKAGES
+byobu   byobu/launch-by-default boolean true
+juju juju-machine-agent/zookeeper_address $ZOOKEEPER_ADDRESS
+juju juju-machine-agent/machine_id $MACHINE_ID

=== added directory 'provisioning-server/usr/share/orchestra/www'
=== added directory 'provisioning-server/usr/share/orchestra/www/orchestra-cgi'
=== added file 'provisioning-server/usr/share/orchestra/www/orchestra-cgi/meta-data'
--- provisioning-server/usr/share/orchestra/www/orchestra-cgi/meta-data	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/orchestra/www/orchestra-cgi/meta-data	2011-11-28 21:48:20 +0000
@@ -0,0 +1,51 @@
+#!/usr/bin/python
+#
+#    user-data - Generate user-data needed by cloud-init
+#
+#    Copyright (C) 2011 Canonical
+#
+#    Author:
+#               Marc Cluet <marc.cluet@xxxxxxxxxxxxx>
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, version 3 of the License.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import random
+import string
+import ConfigParser
+import StringIO
+
+length = 8
+
+try:
+    provisioning_conf_fh = open('/etc/orchestra/conf.d/provisioning.conf', 'r')
+except Exception:
+    exit(1)
+provisioning_conf = ConfigParser.ConfigParser()
+provisioning_conf.readfp(StringIO.StringIO(''.join(i.lstrip() for i in provisioning_conf_fh.readlines())))
+provisioning_conf_fh.close()
+
+try:
+   config_hostnamestart = provisioning_conf.get('provisioning', 'hostname.root')
+except Exception:
+   config_hostnamestart = None
+
+if config_hostnamestart is None:
+    hostnamestart = 'ubuntu'
+else:
+    hostnamestart = config_hostnamestart
+
+hostnamerandom = ''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(length))
+
+print "Content-type: text/plain\n"
+print "instance-id: i-12345678"
+print "local-hostname: %s-%s" % (hostnamestart, hostnamerandom)

=== added file 'provisioning-server/usr/share/orchestra/www/orchestra-cgi/user-data'
--- provisioning-server/usr/share/orchestra/www/orchestra-cgi/user-data	1970-01-01 00:00:00 +0000
+++ provisioning-server/usr/share/orchestra/www/orchestra-cgi/user-data	2011-11-28 21:48:20 +0000
@@ -0,0 +1,61 @@
+#!/usr/bin/python
+#
+#    user-data - Generate user-data needed by cloud-init
+#
+#    Copyright (C) 2011 Canonical
+#
+#    Author:
+#               Marc Cluet <marc.cluet@xxxxxxxxxxxxx>
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU Affero General Public License as
+#    published by the Free Software Foundation, version 3 of the License.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU Affero General Public License for more details.
+#
+#    You should have received a copy of the GNU Affero General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+import random
+import string
+import ConfigParser
+import StringIO
+import re
+
+try:
+    provisioning_conf_fh = open('/etc/orchestra/conf.d/provisioning.conf', 'r')
+except Exception:
+    exit(1)
+provisioning_conf = ConfigParser.ConfigParser()
+provisioning_conf.readfp(StringIO.StringIO(''.join(i.lstrip() for i in provisioning_conf_fh.readlines())))
+provisioning_conf_fh.close()
+
+# Start reading the user-data.tpl
+try:
+    user_data_fh = open('/var/lib/orchestra/cloud-init/user-data.tpl', 'r')
+except Exception:
+    exit(1)
+
+output_string = "Content-type: text/plain\n\n"
+for user_data_line in user_data_fh.readlines():
+    re_exp = re.compile('.*@@(?P<tag>.*?)@@.*')
+    re_line = re_exp.search(user_data_line)
+    try:
+        in_value = re_line.group('tag')
+    except Exception:
+        output_string += user_data_line
+        continue
+    line_print = False
+    for config_item in provisioning_conf.items('provisioning'):
+        if in_value == config_item[0]:
+            output_string += string.replace(user_data_line, '@@' + in_value + '@@', config_item[1])
+            line_print = True
+    if line_print is False:
+        output_string += user_data_line
+
+user_data_fh.close()
+
+print output_string

=== added directory 'provisioning-server/var'
=== added directory 'provisioning-server/var/lib'
=== added directory 'provisioning-server/var/lib/cobbler'
=== added directory 'provisioning-server/var/lib/cobbler/kickstarts'
=== added file 'provisioning-server/var/lib/cobbler/kickstarts/juju.preseed'
--- provisioning-server/var/lib/cobbler/kickstarts/juju.preseed	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/kickstarts/juju.preseed	2011-11-28 21:48:20 +0000
@@ -0,0 +1,99 @@
+# Orchestra - Ubuntu Server Installation
+# * Minimal install 
+# * Cloud-init for bare-metal
+# * Grab meta-data and user-data from cobbler server in a late command
+
+# Locale 
+d-i     debian-installer/locale string en_US.UTF-8
+
+# No splash
+d-i     debian-installer/splash boolean false
+
+# Keyboard layout
+d-i     console-setup/ask_detect        boolean false
+d-i     console-setup/layoutcode        string us
+d-i     console-setup/variantcode       string
+
+# Network configuration
+d-i     netcfg/get_nameservers  string
+d-i     netcfg/get_ipaddress    string
+d-i     netcfg/get_netmask      string 255.255.255.0
+d-i     netcfg/get_gateway      string
+d-i     netcfg/confirm_static   boolean true
+
+# Local clock (set to UTC and use ntp)
+d-i     clock-setup/utc boolean true
+d-i     clock-setup/ntp boolean true
+d-i     clock-setup/ntp-server  string ntp.ubuntu.com
+
+# Partitioning
+d-i     partman-iscsi/mainmenu string finish
+d-i     partman-auto/method string regular
+d-i     partman-lvm/device_remove_lvm boolean true
+d-i     partman-lvm/confirm boolean true
+d-i     partman/confirm_write_new_label boolean true
+d-i     partman/choose_partition        select Finish partitioning and write changes to disk
+d-i     partman/confirm boolean true
+d-i     partman/confirm_nooverwrite boolean true
+d-i     partman/default_filesystem string ext4
+
+# Use server kernel
+d-i     base-installer/kernel/image     string linux-server
+
+# User Setup
+d-i	passwd/root-login	boolean false
+d-i	passwd/make-user	boolean true
+d-i	passwd/user-fullname	string ubuntu
+d-i	passwd/username	string ubuntu
+d-i	passwd/user-password-crypted password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4.
+d-i	passwd/user-uid	string 
+d-i	user-setup/allow-password-weak	boolean false
+d-i	user-setup/encrypt-home	boolean false
+d-i	passwd/user-default-groups	string adm cdrom dialout lpadmin plugdev sambashare
+
+# APT
+$SNIPPET('orchestra_proxy')
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+d-i debian-installer/allow_unauthenticated string false
+
+# Lang
+d-i     pkgsel/language-packs   multiselect en
+d-i     pkgsel/update-policy    select none
+d-i     pkgsel/updatedb boolean true
+
+# Boot-loader
+d-i     grub-installer/skip     boolean false
+d-i     lilo-installer/skip     boolean false
+d-i     grub-installer/only_debian      boolean true
+d-i     grub-installer/with_other_os    boolean true
+d-i     finish-install/keep-consoles    boolean false
+d-i     finish-install/reboot_in_progress       note
+
+# Eject cdrom
+d-i     cdrom-detect/eject      boolean true
+
+# Do not halt/poweroff after install
+d-i     debian-installer/exit/halt      boolean false
+d-i     debian-installer/exit/poweroff  boolean false
+
+# Install minimum packages that are essential for server bootstrapping
+$SNIPPET('orchestra_client_package')
+
+# Launch byobu by default
+byobu   byobu/launch-by-default boolean true
+
+# Set cloud-init data source to manual seeding
+cloud-init      cloud-init/datasources  multiselect     NoCloud
+
+# Set rsyslog server
+$SNIPPET('orchestra_rsyslog_client_config')
+
+# JuJu post scripts. Executes late command and disables PXE
+d-i	preseed/late_command string true && \
+   	$SNIPPET('orchestra_juju_late_command') && \
+   	$SNIPPET('orchestra_rsyslog_obtain_keys') && \
+   	$SNIPPET('orchestra_disable_pxe') && \
+   	true

=== added file 'provisioning-server/var/lib/cobbler/kickstarts/orchestra.preseed'
--- provisioning-server/var/lib/cobbler/kickstarts/orchestra.preseed	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/kickstarts/orchestra.preseed	2011-11-28 21:48:20 +0000
@@ -0,0 +1,98 @@
+# Orchestra - Ubuntu Server Installation
+# * Minimal install 
+# * Cloud-init for bare-metal
+# * Grab meta-data and user-data from cobbler server in a late command
+
+# Locale 
+d-i     debian-installer/locale string en_US.UTF-8
+
+# No splash
+d-i     debian-installer/splash boolean false
+
+# Keyboard layout
+d-i     console-setup/ask_detect        boolean false
+d-i     console-setup/layoutcode        string us
+d-i     console-setup/variantcode       string
+
+# Network configuration
+d-i     netcfg/get_nameservers  string
+d-i     netcfg/get_ipaddress    string
+d-i     netcfg/get_netmask      string 255.255.255.0
+d-i     netcfg/get_gateway      string
+d-i     netcfg/confirm_static   boolean true
+
+# Local clock (set to UTC and use ntp)
+d-i     clock-setup/utc boolean true
+d-i     clock-setup/ntp boolean true
+d-i     clock-setup/ntp-server  string ntp.ubuntu.com
+
+# Partitioning
+d-i     partman-iscsi/mainmenu string finish
+d-i     partman-auto/method string regular
+d-i     partman-lvm/device_remove_lvm boolean true
+d-i     partman-lvm/confirm boolean true
+d-i     partman/confirm_write_new_label boolean true
+d-i     partman/choose_partition        select Finish partitioning and write changes to disk
+d-i     partman/confirm boolean true
+d-i     partman/confirm_nooverwrite boolean true
+d-i     partman/default_filesystem string ext4
+
+# Use server kernel
+d-i     base-installer/kernel/image     string linux-server
+
+# User Setup
+d-i	passwd/root-login	boolean false
+d-i	passwd/make-user	boolean true
+d-i	passwd/user-fullname	string ubuntu
+d-i	passwd/username	string ubuntu
+d-i	passwd/user-password-crypted password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4.
+d-i	passwd/user-uid	string 
+d-i	user-setup/allow-password-weak	boolean false
+d-i	user-setup/encrypt-home	boolean false
+d-i	passwd/user-default-groups	string adm cdrom dialout lpadmin plugdev sambashare
+
+# APT
+$SNIPPET('orchestra_proxy')
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+d-i debian-installer/allow_unauthenticated string false
+
+# Lang
+d-i     pkgsel/language-packs   multiselect en
+d-i     pkgsel/update-policy    select none
+d-i     pkgsel/updatedb boolean true
+
+# Boot-loader
+d-i     grub-installer/skip     boolean false
+d-i     lilo-installer/skip     boolean false
+d-i     grub-installer/only_debian      boolean true
+d-i     grub-installer/with_other_os    boolean true
+d-i     finish-install/keep-consoles    boolean false
+d-i     finish-install/reboot_in_progress       note
+
+# Eject cdrom
+d-i     cdrom-detect/eject      boolean true
+
+# Do not halt/poweroff after install
+d-i     debian-installer/exit/halt      boolean false
+d-i     debian-installer/exit/poweroff  boolean false
+
+# Install minimum packages that are essential for server bootstrapping
+$SNIPPET('orchestra_client_package')
+
+# Launch byobu by default
+byobu   byobu/launch-by-default boolean true
+
+# Set cloud-init data source to manual seeding
+cloud-init      cloud-init/datasources  multiselect     NoCloud
+
+# Set rsyslog server
+$SNIPPET('orchestra_rsyslog_client_config')
+
+# Post scripts. Executes late command and disables PXE
+d-i	preseed/late_command string true && \
+   	$SNIPPET('orchestra_rsyslog_obtain_keys') && \
+   	$SNIPPET('orchestra_disable_pxe') && \
+   	true

=== added directory 'provisioning-server/var/lib/cobbler/snippets'
=== added file 'provisioning-server/var/lib/cobbler/snippets/orchestra_client_package'
--- provisioning-server/var/lib/cobbler/snippets/orchestra_client_package	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/snippets/orchestra_client_package	2011-11-28 21:48:20 +0000
@@ -0,0 +1,6 @@
+#if $os_version == "lucid" or $os_version == "maverick" or $os_version == "natty"
+d-i     pkgsel/include string byobu capistrano cloud-init openssh-server python-software-properties \
+        vim nagios-nrpe-server powernap rsyslog rsyslog-gnutls
+#else
+d-i     pkgsel/include string ubuntu-orchestra-client
+#end if

=== added file 'provisioning-server/var/lib/cobbler/snippets/orchestra_disable_pxe'
--- provisioning-server/var/lib/cobbler/snippets/orchestra_disable_pxe	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/snippets/orchestra_disable_pxe	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+wget "http://$http_server:$http_port/cblr/svc/op/nopxe/system/$system_name"; -O /dev/null \

=== added file 'provisioning-server/var/lib/cobbler/snippets/orchestra_juju_late_command'
--- provisioning-server/var/lib/cobbler/snippets/orchestra_juju_late_command	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/snippets/orchestra_juju_late_command	2011-11-28 21:48:20 +0000
@@ -0,0 +1,3 @@
+#import orchestra.utils.cloudinit
+$orchestra.utils.cloudinit.get_meta_data_late_command($getVar('$uid', 'true'), $getVar('$hostname', 'true')) \ && \
+$orchestra.utils.cloudinit.get_user_data_late_command($getVar('USER_DATA_BASE64', 'true')) \

=== added file 'provisioning-server/var/lib/cobbler/snippets/orchestra_post'
--- provisioning-server/var/lib/cobbler/snippets/orchestra_post	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/snippets/orchestra_post	2011-11-28 21:48:20 +0000
@@ -0,0 +1,6 @@
+# Download meta-data and user-data from orchestra-provisioning-server for cloud-init
+d-i preseed/late_command string \
+  unset HTTP_PROXY \
+  in-target mkdir -p /var/lib/cloud/seed/nocloud && \
+  in-target wget -c http://@@server@@/cloud-init/user-data -O /var/lib/cloud/seed/nocloud/user-data && \
+  in-target wget -c http://@@server@@/cloud-init/meta-data -O /var/lib/cloud/seed/nocloud/meta-data

=== added file 'provisioning-server/var/lib/cobbler/snippets/orchestra_proxy'
--- provisioning-server/var/lib/cobbler/snippets/orchestra_proxy	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/snippets/orchestra_proxy	2011-11-28 21:48:20 +0000
@@ -0,0 +1,5 @@
+# Point apt to orchestra-provisioning-server's squid
+d-i     mirror/country string manual
+d-i     mirror/http/hostname string archive.ubuntu.com
+d-i     mirror/http/directory string /ubuntu
+d-i     mirror/http/proxy string http://@@server@@:3128/

=== added file 'provisioning-server/var/lib/cobbler/snippets/orchestra_rsyslog_client_config'
--- provisioning-server/var/lib/cobbler/snippets/orchestra_rsyslog_client_config	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/snippets/orchestra_rsyslog_client_config	2011-11-28 21:48:20 +0000
@@ -0,0 +1,1 @@
+ubuntu-orchestra-client ubuntu-orchestra-client/rsyslog_host string $http_server

=== added file 'provisioning-server/var/lib/cobbler/snippets/orchestra_rsyslog_obtain_keys'
--- provisioning-server/var/lib/cobbler/snippets/orchestra_rsyslog_obtain_keys	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/cobbler/snippets/orchestra_rsyslog_obtain_keys	2011-11-28 21:48:20 +0000
@@ -0,0 +1,2 @@
+#import orchestra.utils.keys
+$orchestra.utils.keys.get_late_command() \

=== added directory 'provisioning-server/var/lib/orchestra'
=== added directory 'provisioning-server/var/lib/orchestra/cloud-init'
=== added file 'provisioning-server/var/lib/orchestra/cloud-init/user-data.tpl'
--- provisioning-server/var/lib/orchestra/cloud-init/user-data.tpl	1970-01-01 00:00:00 +0000
+++ provisioning-server/var/lib/orchestra/cloud-init/user-data.tpl	2011-11-28 21:48:20 +0000
@@ -0,0 +1,39 @@
+Content-Type: multipart/mixed; boundary="===============2428138931317960069=="
+MIME-Version: 1.0
+
+--===============2428138931317960069==
+Content-Type: text/cloud-boothook; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="boot-hook.txt"
+
+#!/bin/bash
+# Add hosts entry for mcollective to the mcollective-server
+echo "@@orchestration.ipaddress@@ cobbler" >> /etc/hosts
+
+# Set debconf values for mcollective config
+/bin/echo mcollective     mcollective/stomp_host  string @@orchestration.ipaddress@@ | /usr/bin/debconf-set-selections
+/bin/echo mcollective-client     mcollective/stomp_host  string @@orchestration.ipaddress@@ | /usr/bin/debconf-set-selections
+
+--===============2428138931317960069==
+Content-Type: text/cloud-config; charset="us-ascii"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment; filename="user-data.tpl"
+
+#cloud-config
+# Update apt db on first boot
+apt_update: true
+# Upgrade system on first boot
+apt_upgrade: false
+# Preserve original source list
+apt_preserve_sources_list: true
+# Add Orchestra PPA
+apt_sources:
+ - source: "ppa:orchestra/ppa"  
+# Install additional packages on first boot
+packages:
+ - ubuntu-orchestra-client
+ - mcollective-plugins-provisioner
+
+--===============2428138931317960069==--

=== added directory 'provisioning-server/var/lib/orchestra/kickstarts'
=== added directory 'provisioning-server/var/lib/orchestra/www'