orchestra team mailing list archive
-
orchestra team
-
Mailing list archive
-
Message #00250
[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'