Merge lp:~allenap/maas/packaging.remove-squashfs into lp:~maas-committers/maas/trunk

Proposed by Gavin Panella
Status: Superseded
Proposed branch: lp:~allenap/maas/packaging.remove-squashfs
Merge into: lp:~maas-committers/maas/trunk
Diff against target: 2717 lines (+2387/-0)
65 files modified
debian/changelog (+629/-0)
debian/compat (+1/-0)
debian/control (+275/-0)
debian/copyright (+25/-0)
debian/extras/20-maas.conf (+32/-0)
debian/extras/99-maas (+4/-0)
debian/extras/99-maas-sudoers (+3/-0)
debian/extras/isc-dhcp-server.override (+1/-0)
debian/extras/maas (+8/-0)
debian/extras/maas-cli (+2/-0)
debian/extras/maas-provision (+7/-0)
debian/extras/maas-region-celeryd (+50/-0)
debian/extras/maas_remote_syslog_compress (+2/-0)
debian/maas-cli.install (+2/-0)
debian/maas-cluster-controller.config (+31/-0)
debian/maas-cluster-controller.dirs (+1/-0)
debian/maas-cluster-controller.install (+27/-0)
debian/maas-cluster-controller.links (+1/-0)
debian/maas-cluster-controller.logrotate (+9/-0)
debian/maas-cluster-controller.maas-cluster-celery.upstart (+26/-0)
debian/maas-cluster-controller.maas-pserv.upstart (+14/-0)
debian/maas-cluster-controller.postinst (+62/-0)
debian/maas-cluster-controller.postrm (+30/-0)
debian/maas-cluster-controller.prerm (+10/-0)
debian/maas-cluster-controller.templates (+7/-0)
debian/maas-common.install (+2/-0)
debian/maas-common.postinst (+22/-0)
debian/maas-common.postrm (+13/-0)
debian/maas-dhcp.apparmor (+7/-0)
debian/maas-dhcp.install (+1/-0)
debian/maas-dhcp.maas-dhcp-server.upstart (+60/-0)
debian/maas-dhcp.postinst (+22/-0)
debian/maas-dhcp.postrm (+11/-0)
debian/maas-dns.dirs (+1/-0)
debian/maas-dns.postinst (+35/-0)
debian/maas-dns.postrm (+24/-0)
debian/maas-region-controller.apport (+37/-0)
debian/maas-region-controller.config (+45/-0)
debian/maas-region-controller.dirs (+2/-0)
debian/maas-region-controller.install (+33/-0)
debian/maas-region-controller.links (+2/-0)
debian/maas-region-controller.lintian-overrides (+7/-0)
debian/maas-region-controller.logrotate (+18/-0)
debian/maas-region-controller.maas-region-celery.upstart (+26/-0)
debian/maas-region-controller.maas-txlongpoll.upstart (+27/-0)
debian/maas-region-controller.postinst (+295/-0)
debian/maas-region-controller.postrm (+52/-0)
debian/maas-region-controller.prerm (+18/-0)
debian/maas-region-controller.templates (+22/-0)
debian/maintscript (+2/-0)
debian/patches/01-fix-database-settings.patch (+26/-0)
debian/patches/02-pserv-config.patch (+38/-0)
debian/patches/03-txlongpoll-config.patch (+39/-0)
debian/patches/series (+3/-0)
debian/po/POTFILES.in (+2/-0)
debian/po/templates.pot (+82/-0)
debian/python-django-maas.install (+2/-0)
debian/python-maas-client.install (+1/-0)
debian/python-maas-provisioningserver.install (+4/-0)
debian/rules (+65/-0)
debian/source/format (+1/-0)
debian/tests/control (+2/-0)
debian/tests/maas-integration.py (+72/-0)
debian/tests/maas-package-test (+5/-0)
debian/watch (+2/-0)
To merge this branch: bzr merge lp:~allenap/maas/packaging.remove-squashfs
Reviewer Review Type Date Requested Status
Launchpad code reviewers Pending
Review via email: mp+134085@code.launchpad.net

Commit message

Remove all install-via-squashfs support.

Description of the change

To post a comment you must log in.

Unmerged revisions

145. By Gavin Panella

Remove all reference to squashfs installs.

144. By Jeroen T. Vermeulen

[r=andreserl][bug=][author=jtv] Move the import scripts from the region-controller package to the cluster-controller package.

143. By Raphaël Badin

[r=jtv][bug=][author=rvb] Add sudo rule so that the script maas-import-pxe-files can be called by the user 'maas'.

142. By Raphaël Badin

[r=andreserl][bug=1072744][author=rvb] * debian/control: Remove the dependency of maas-cluster-controller on rabbitmq-server.

141. By Julian Edwards

[r=julian-edwards][bug=1052805][author=julian-edwards] [ Julian Edwards ]
  * debian/maas-region-controller.install: Remove installation of maas-gc; it
    is no longer required as upstream no longer stores files in the filesystem.
    (LP: #1069734)

140. By Raphaël Badin

[r=julian-edwards][bug=1066935][author=rvb] Fix permissions and group ownership of file /etc/bind/maas/named.conf.rndc.maas.

139. By Andres Rodriguez

[r=julian-edwards][bug=1064638,1064672,1066938,1066958,1067261,1067929][author=andreserl] 0.1+bzr1269+dfsg-0ubuntu1
0.1+bzr1269+dfsg-0ubuntu2

138. By Gavin Panella

[r=andreserl,rvb][bug=1066929][author=allenap] Missing changelog entry for "Remove MAAS-related include lines from named's config before adding new".

137. By Andres Rodriguez

[r=andreserl][bug=][author=andreserl] Releasing 0.1+bzr1264+dfsg-0ubuntu2
Opening 0.1+bzr1264+dfsg-0ubuntu3

136. By Gavin Panella

[r=rvb][bug=1066929][author=allenap] Remove MAAS-related include lines from named's config before adding new.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'debian'
2=== added file 'debian/changelog'
3--- debian/changelog 1970-01-01 00:00:00 +0000
4+++ debian/changelog 2012-11-13 12:12:21 +0000
5@@ -0,0 +1,629 @@
6+maas (0.1+bzr1269+dfsg-0ubuntu2) UNRELEASED; urgency=low
7+
8+ [ Raphaël Badin ]
9+ * debian/maas-dns.postinst: fix permissions and group ownership of
10+ file /etc/bind/maas/named.conf.rndc.maas. (LP: #1066935)
11+ * debian/control: Remove the dependency of maas-cluster-controller
12+ on rabbitmq-server. (LP: #1072744)
13+ * debian/extras/99-maas-sudoers: Add sudo rule for script
14+ /usr/sbin/maas-import-pxe-files.
15+
16+ [ Julian Edwards ]
17+ * debian/maas-region-controller.install: Remove installation of maas-gc; it
18+ is no longer required as upstream no longer stores files in the filesystem.
19+ (LP: #1069734)
20+
21+ [ Jeroen Vermeulen ]
22+ * debian/maas-cluster-controller.install: Install import scripts.
23+ * debian/maas-cluster-controller.postinst: Configure tgt (the iSCSI server)
24+ so the import script can install files to it.
25+ * debian/maas-cluster-controller.postrm: Clean up tgt config.
26+ * debian/maas-region-controller.install: Move import scripts out to the
27+ cluster controller, and drop the maas-import-isos compatibility script.
28+ * debian/maas-region-controller.postinst: Remove tgt config.
29+ * debian/maas-region-controller.postrm: Remove tgt config cleanup.
30+
31+ [ Gavin Panella ]
32+ * debian/extras/99-maas: squashfs image download is no longer needed.
33+ * debian/maas-cluster-controller.install: maas-import-squashfs and its
34+ configuration file are no longer part of upstream.
35+
36+ -- Julian Edwards <julian.edwards@canonical.com> Fri, 26 Oct 2012 12:50:20 +0200
37+
38+maas (0.1+bzr1269+dfsg-0ubuntu1) quantal-proposed; urgency=low
39+
40+ * New upstream bugfix release
41+ - Fixes commissioning failing to set memory attribute. (LP: #1064638)
42+ - Fixes node listing by adding pagination (LP: #1064672)
43+ - Changes default bind rndc key which breaks initscripts (LP: #1066938)
44+ - Fixes invalid DNS config once node is enlisted (LP: #1066958)
45+ - Reference documentation link to correct URL (LP: #1067261)
46+
47+ [ Andres Rodriguez ]
48+ * debian/rules: Change upstream branch.
49+
50+ [ Gavin Panella ]
51+ * debian/maas-dns.postinst: Remove MAAS-related include lines from named's
52+ config before adding a new one (LP: #1066929)
53+
54+ [ Raphael Badin ]
55+ * debian/extras/maas-region-celeryd: Remove whitespace that affects DNS
56+ rabbitmq queue. (LP: #1067929)
57+
58+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 16 Oct 2012 10:31:37 -0400
59+
60+maas (0.1+bzr1264+dfsg-0ubuntu2) quantal; urgency=low
61+
62+ * Fix MAAS not working after CD/preseed install (LP: #1065763)
63+ - debian/extras/maas-region-celeryd: Add wrapper to run celery from
64+ the upstart job.
65+ - debian/extras/maas-region-controller.maas-region-celery.upstart: Create
66+ rabbitmq user if it does not exists.
67+ * debian/control: Remove unneeded deps on python-txtftp for some binary pkgs.
68+ * debian/maas-region-controller.postinst: Minor fix referencing variable.
69+
70+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 11 Oct 2012 17:38:08 -0400
71+
72+maas (0.1+bzr1264+dfsg-0ubuntu1) quantal; urgency=low
73+
74+ * New upstream release.
75+
76+ [ Raphaël Badin ]
77+ * debian/maas-region-controller.postinst: Enable proxy_http module.
78+ * debian/maas-cluster-controller.postinst: Create /var/lib/maas. (LP: #1065062)
79+
80+ [ Andres Rodriguez ]
81+ * Install maas-provision with python-maas-provisioningserver (LP: #1065171):
82+ - debian/python-maas-provisioningserver.install: Install
83+ - debian/control: Add Conflicts/Replaces with maas-cluster-controller
84+ to handle upgrades.
85+ * debian/patches/04-fix-ipmi-enlistment.patch: Drop. Merged Upstream.
86+ * debian/control: Depends on maas-region-controller for maas-dns.
87+ * debian/maas-region-controller.postinst: Set the correct host for
88+ BROKER_URL (LP: #1065080)
89+ * Handle creation of user/group in maas-common.
90+ * debian/maas-region-controller.config: Always source dbconfig scripts.
91+
92+ -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 10 Oct 2012 11:17:21 -0400
93+
94+maas (0.1+bzr1243+dfsg-0ubuntu3) quantal; urgency=low
95+
96+ * 04-fix-ipmi-enlistment.patch: retry maas-enlist without power parameters
97+ on failure. This allows enlistment to continue working with Precise
98+ ephemeral images before the Precise SRU for maas-enlist lands.
99+ (LP: #1064922).
100+
101+ -- Robie Basak <robie.basak@canonical.com> Wed, 10 Oct 2012 13:29:16 +0000
102+
103+maas (0.1+bzr1243+dfsg-0ubuntu2) quantal; urgency=low
104+
105+ * debian/patches/99-ipmi-user-too-long.patch: Fix username too long for
106+ IPMI user created on enlistment (LP: #1064832)
107+
108+ -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 10 Oct 2012 01:00:29 -0400
109+
110+maas (0.1+bzr1243+dfsg-0ubuntu1) quantal; urgency=low
111+
112+ * New upstream release. (LP: #1064596)
113+ * debian/patches/99-temporary-fix-constraints.patch: Dropped.
114+ * debian/control:
115+ - ${python:Depends} for maas-common.
116+ - Add missing Depends for python-maas-provisioningserver (LP: #1064542)
117+ * debian/maas-cluster-controller.postinst: Create /var/log/maas if it
118+ doesn't exist (LP: #1064539)
119+
120+ -- Andres Rodriguez <andreserl@ubuntu.com> Mon, 08 Oct 2012 17:02:56 -0400
121+
122+maas (0.1+bzr1223+dfsg-0ubuntu1) quantal; urgency=low
123+
124+ * New upstream release. (LP: #1062518)
125+
126+ [ Julian Edwards ]
127+ * Split packaging of 'maas' into maas-{region,cluster}-controller
128+ - debian/control: Update accordingly.
129+ - debian/*.install: Move files accordingly
130+ - debian/*.{postinst,postrm,preinst}: Move files accordingly.
131+ * Ensure isc-dhcp-server is disabled when installing maas-dhcp.
132+ * Ensure maas-dns creates the maas user before trying to chown files.
133+ * Make maas-cluster-controller autoconfigure itself when upgrading from the
134+ old maas package. (LP: #1059416)
135+ * Add missing prerm file for maas-cluster-controller so that .pyc files
136+ are cleaned up. (LP: #1059973)
137+
138+ [ Raphaël Badin ]
139+ * Install maas_local_celeryconfig.py in /etc/maas and symlink to
140+ /usr/share/maas.
141+ * debian/maas.postinst: Create rabbitmq celery user/vhost.
142+ * debian/maas.postinst: Update BROKER_URL in maas_local_celeryconfig.py.
143+ * Use maas_local_celeryconfig_cluster.py as the local celery
144+ configuration file for the cluster worker.
145+ * debian/maas-region-controller.maas-region-celery.upstart: Add region
146+ worker upstart script.
147+ * Rename cluster worker upstart script into
148+ maas-cluster-controller.maas-clluster-celery.upstart.
149+ * maas-cluster-controller.maas-celery.upstart: use "celeryconfig_cluster"
150+ as the Celery config module.
151+ * debian/maas-common.install: Install celeryconfig_common.py.
152+ * debian/maas-cluster-controller.install: Install celeryconfig_cluster.py.
153+ * debian/maas-region-controller.install: Install celeryconfig.py.
154+ * Split celery config into cluster and region configs.
155+ * Add region celeryd upstart config.
156+ * Define CELERY_CONFIG_MODULE in
157+ maas-cluster-controller.maas-cluster-celery.upstart
158+
159+ [ Jeroen Vermeulen ]
160+ * Make maas_local_celery_config.py non-world readable.
161+ * Make maas_local_celeryconfig_cluster.py non-world readable.
162+ * Set root:maas ownership of local cluster config only *after*
163+ the maas user/group have been created
164+
165+ [ Andres Rodriguez ]
166+ * debian/maas.postinst:
167+ - Always restart apache2.
168+ - Handle upgrades for new upstream release.
169+ - Handle upgrades for celery rabbitmq worker.
170+ * Add binary package to install client tool.
171+ - debian/extras/maas-cli: Add binary.
172+ - debian/maas-cli.install: Add. Install maascli and apiclient.
173+ - debian/control: Add binary package.
174+ * debian/control:
175+ - Depends on freeipmi-tools instead of ipmitool.
176+ - Conflicts/Replaces on maas for python-maas-client.
177+ - Depends on python-netifaces, python-lxml.
178+ * Add python-maas-client binary package:
179+ - debian/python-maas-client.install: Add. Install 'apiclient' python module.
180+ - debian/control: Add package. python-django-maas and maas-cli now
181+ Depend on it.
182+ * debian/rules: Install maas-dhcp-server upstart job.
183+ * debian/maas.postrm: Remove celery worker rabbitmq user and host.
184+ * debian/extras/99-maas-sudoers: Add for maas-dhcp-server upstart job
185+ instead of isc-dhcp-server (LP: #1055951)
186+ * debian/maas-region-controller.postinst: Cleanup upgrade rules.
187+ * debian/maas-cluster-controller.postinst: Fix 'local' usage.
188+ * debian/maas-common.install: Install celeryconfig in appropriate location.
189+ * debian/maas-cluster-controller.postrm: Add and delete maas user.
190+ * debian/maas-dhcp.postinst: Stop isc-dhcp-server not isc_dhcp_server.
191+ * debian/maas-region-controller.postinst:
192+ - Always update passwords on upgrade. No longer check versioning. (LP: #1060094).
193+ - Add MAAS server to allowed mirror in squid-deb-proxy
194+ - Source dbconfig conf file for maas-region-controller on upgrade because
195+ it writes a new config file and no longer preservers the previous password.
196+ * debian/maas-cluster-controller.maas-cluster-celery.upstart: Remove set{uid/gid}.
197+ * debian/maas-region-controller.install: Install maas-import-squashfs
198+ * Handle removal of non existant files (LP: #1059556):
199+ - debian/maintscript: Added to handle removal of conffiles.
200+ - debian/control: Add Pre-depends and bump debhelper version.
201+ * update po files for the templates.
202+ * debian/extras/99-maas: Install in usr/share/maas/conf and symlink to the
203+ appropriate etc dir.
204+ * debian/maas-cluster-controller.config: Source debconf at the beginning of the
205+ script. (LP: #1063857)
206+ * debian/patches/99-temporary-fix-constraints.patch: Fix constraints maaping
207+ when deploying with juju. Temporary until it gets merged upstream
208+
209+ [ Robie Basak ]
210+ * Add maas-cluster-controller dependency on uuid-runtime, needed for uuidgen
211+ by postinst.
212+
213+ [ Scott Moser ]
214+ * debian/maas-dhcp.{install,apparmor,postrm} install apparmor profile into
215+ /etc/apparmor.d/dhcpd.d (LP: #1049177), and update apparmor profile for
216+ /usr/sbin/dhcpd on install/remove
217+ * get the ip address for the dhcp server in config
218+
219+ [ Diogo Matsubara ]
220+ * Add initial tests to be run by autotests:
221+ - debian/control: XS-Testsuite: autopkgtest
222+ - debian/tests/control: Add
223+ - debian/tests/maas-package-test: Add
224+ - tests/maas-integration.py: Add
225+
226+ -- Andres Rodriguez <andreserl@ubuntu.com> Mon, 08 Oct 2012 13:10:23 -0400
227+
228+maas (0.1+bzr971+dfsg-0ubuntu2) quantal; urgency=low
229+
230+ * debian/extras/99-maas-sudoers: Add missing rule for
231+ maas-provision. (LP: #1046397)
232+
233+ -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 05 Sep 2012 12:36:58 -0400
234+
235+maas (0.1+bzr971+dfsg-0ubuntu1) quantal; urgency=low
236+
237+ * New upstream release (LP: #1044367)
238+
239+ [ Julian Edwards ]
240+ * Fix 02-pserv-config.patch to handle new default tftp directory
241+
242+ [ Andres Rodriguez ]
243+ * debian/maas.postinst:
244+ - include '/MAAS' for DEFAULT_MAAS_URL.(LP: #1033956)
245+ - Update bzr version to safely upgrade.
246+ * Add maas-dns package that configures DNS in MAAS (LP: #1030860)
247+ * Remove cobbler related bits
248+ - debian/maas.postinst: Drop cobbler configuration
249+ - debian/maas.install: Drop installation of snippets/preseeds.
250+ - debian/control:
251+ + Drop Depends on maas-provision. (LP: #975473)
252+ + Depends on bind9utils.
253+ + Depends on python-lockfile (LP: #1037400)
254+ Add necessary Conflicts/Replaces. Add conflicts to tftpd-hpa and dnsmasq.
255+ Depends on isc-dhcp-server for maas-dhcp, and syslinux-common.
256+ - debian/extras/maas-provision: Add missing "$@" (LP: #1040462)
257+ - debian/patches:
258+ + 02-pserv-config.patch: Updated. Do not patch cobbler related bits.
259+ patch tftp config to default.
260+ * maas-dhcp: Re-add to handle initial configuration of MAAS DHCP server.
261+ * Allow restart of 'isc-dhcp-server' by adding a sudoers file:
262+ - debian/extras/99-maas-sudoers: Added.
263+ - debian/maas.install: Install 99-maas-sudoers
264+ * Minor improvements on dbconfig-common handling:
265+ - debian/maas.config: Only call dbc_go when scripts present.
266+ - debian/maas.postrm: Only call dbc_go when config file exists.
267+ * debian/maas.maas-celery.upstart: Enable Beat and set scheduler db file.
268+ * debian/maas-dns.postinst: Set correct permissions. (LP: #1042868)
269+ * debian/maas-dhcp.config:
270+ - Ask whether we want to enable DHCP (LP: #1044229)
271+ - Add debconf question for network interfaces
272+ * debian/maas.prerm: Stop services before removing database (LP: #1044559)
273+
274+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 02 Aug 2012 09:01:43 -0400
275+
276+maas (0.1+bzr777+dfsg-0ubuntu1) quantal-proposed; urgency=low
277+
278+ * New upstream release
279+ * Only run 'maas' command as root. (LP: #974046)
280+ - debian/extras/maas: Check id.
281+ - debian/maas.install: Install in 'sbin'.
282+ * debian/maas.postinst:
283+ - restart apache2 after everything gets processed.
284+ - Update version to handle upgrades.
285+ * debian/extras/maas-provision: Add wrapper to access 'maasprovisiong'
286+ command line.
287+ * debian/patches/99_temporary_fix_path.patch: Dropped. No longer needed.
288+
289+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 17 Jul 2012 08:28:36 -0400
290+
291+maas (0.1+bzr745+dfsg-0ubuntu2) quantal; urgency=low
292+
293+ * debian/control: Build-Dep on python-django instead of
294+ python-django-configglue
295+
296+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 17 Jul 2012 08:24:25 -0400
297+
298+maas (0.1+bzr745+dfsg-0ubuntu1) quantal; urgency=low
299+
300+ * New Upstream Release
301+ * debian/patches:
302+ - 99_power_fixes.patch: Dropped. Merged Upstream.
303+ - 99_enums_js.patch: Dropped. No longer needed.
304+ * Automatically build enums.js:
305+ - debian/control: Build-Depends on python-django-configglue
306+ - debian/rules: Build and install enums.js.
307+ * debian/maas.postinst: Update version to handle upgrades
308+
309+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 12 Jul 2012 16:34:11 -0400
310+
311+maas (0.1+bzr740+dfsg-0ubuntu1) quantal; urgency=low
312+
313+ * New upstream release
314+ * debian/control: Depends on python-txtftp.
315+ * debian/rules: Do not ship python-tx-tftp.
316+ * debian/maas.postinst: Update version to upgrade successfully.
317+ * debian/patches:
318+ - 02-pserv-config.patch: Refreshed.
319+ - 99_enums_js.patch: Updated.
320+ - 99_power_fixes.patch: Added temporarily to enable IPMI
321+ - 99_temporary_fix_path.patch: Added temporarily to not fail when
322+ importing celeryconfig
323+
324+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 03 Jul 2012 17:54:49 -0400
325+
326+maas (0.1+bzr709+dfsg-0ubuntu1) quantal; urgency=low
327+
328+ * New Upstream release
329+ * debian/control:
330+ - Depends on python-celery, python-tempita, libjs-yui3-{full,min},
331+ libjs-raphael
332+ * debian/maas.install:
333+ - Install apiclient, celeryconfig.py, maas-import-pxe-files, preseeds_v2.
334+ - Update to install various files from chroot, rather tha manually copy
335+ them from the source.
336+ * debian/maas.links: symlink celeryconfig.py
337+ * debian/maas.maas-celery.upstart: Add job.
338+ * debian/rules:
339+ - Install celery upstart job.
340+ - Do not install jslibs as packages are now used.
341+ - Drop copying of maas_local_settings_sample.py as source now ships
342+ a maas_local_settings.py
343+ * debian/patches:
344+ - 04-maas-http-fix.patch: Drop. Merged upstream.
345+ - 01-fix-database-settings.patch: Refreshed.
346+ - 99_enums_js.patch: Added until creation of enum.js / build process
347+ is fixed.
348+ * debian/maas.postinst: Update bzr version to correctly handle upgrades.
349+
350+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 03 Jul 2012 17:42:37 -0400
351+
352+maas (0.1+bzr482+dfsg-0ubuntu1) precise; urgency=low
353+
354+ * New upstream release (Fixes LP: #981103)
355+ * debian/maas.postinst:
356+ - Make sure rabbitmq and postgresql are started on upgrade (LP: #981282)
357+ - Handle upgrades from any lower than 0.1+bzr462+dfsg-0ubuntu1 to
358+ correctly re-generate passwords, and not have db sync/migrate issues
359+ as config has changed upstream.
360+ - Correctly set Passwords for PSERV, otherwise it won't set new passwords.
361+ * Allow MAAS_DEFAULT_URL reconfiguration. (LP: #980970)
362+ - debian/maas.config: Add reconfigure validation to correctly allow it,
363+ and ask a question.
364+ - debian/maas.postinst: Reconfigure DEFAULT_MAAS_URL as well as cobbler
365+ server and next_server for PXE/Provisioning.
366+ - debian/maas.templates: Add debconf question and update info.
367+ * Do not lose MAAS_DEFAULT_URL settings on upgrade (LP: #984309)
368+ * debian/maas.postinst:
369+ - Set cobbler password in between quotes (LP: #984427)
370+ - Do not change permissions to maas.log (LP: #980915)
371+ * no longer use maas-cloudimg2ephemeral, but rather use premade images
372+ at http://maas.ubuntu.com
373+
374+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 17 Apr 2012 23:44:46 -0700
375+
376+maas (0.1+bzr462+dfsg-0ubuntu1) precise; urgency=low
377+
378+ * New upstream release (LP: #980240)
379+
380+ [ Scott Moser ]
381+ * add dependency on distro-info (LP: #949442)
382+ * debian/control: add dependency on tgt for ephemeral iscsi environment
383+
384+ [ Andres Rodriguez ]
385+ * Make package lintian clean:
386+ - maas{-dhcp}.lintian-overrides: Add to make lintian clean.
387+ - debian/control: Add missing dependencies; correct section and desc.
388+ - debian/maas.postinst: Do not use absolute path for rabbitmqctl.
389+ - debian/patches: Add headers to all patches.
390+ * debian/maas-dhcp.postrm: Added to disable dnsmasq in cobbler on removal.
391+ * debian/maas.config: Do not set a password with pwgen as it is not an
392+ essential package; allow dbconfig-common to create a password instead by
393+ creating an empty question. (LP: #977475)
394+ * Run MAAS, pserv, txlongpoll as non-root user. (LP: #975436)
395+ - debian/maas.postinst: Create user/group; set correct permissions for
396+ directories.
397+ - debian/maas.postrm: Remove user/group; restart apache2.
398+ - debian/maas.maas-{pserv,txlongpoll}.upstart: Update to run as non-root
399+ 'maas' user.
400+ * debian/patches/01-fix-database-settings.patch: Remove adding of PSERV_URL.
401+ * debian/maas.postinst:
402+ - Handle config file upgrade from versions lower than 0.1+bzr445+dfsg-0ubuntu1,
403+ by creating new passwords and updating accordingly
404+ - use local variables in functions.
405+ - Handle maas tgt configuration for upgrades from 0.1+bzr459+dfsg-0ubuntu1.
406+ * debian/extras/99-maas: Add squid-deb-proxy file to enable PPAs. (LP: #979383)
407+ * debian/maas.install: Install missing commissioning-user-data script.
408+
409+ [ Dave Walker (Daviey) ]
410+ * debian/patches/02-pserv-config.patch: Refreshed to apply to updated config.
411+
412+ [ Gavin Panella ]
413+ * debian/maas.postinst: Update pserv.yaml and maas_local_settings.py to use
414+ password.
415+
416+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 12 Apr 2012 16:37:53 -0400
417+
418+maas (0.1+bzr415+dfsg-0ubuntu2) precise; urgency=low
419+
420+ * debian/maas-dhcp.{config,postinst}:
421+ - Fix not setting new values on fresh install. (LP: #975321)
422+ - Fix unsetting domain, otherwise, even if disabled, it will always be set.
423+ * debian/control: Depends on maas for maas-dhcp.
424+
425+ -- Andres Rodriguez <andreserl@ubuntu.com> Fri, 06 Apr 2012 15:30:44 -0400
426+
427+maas (0.1+bzr415+dfsg-0ubuntu1) precise; urgency=low
428+
429+ * debian/control: Update package descriptions; Suggests maas-dhcp for maas
430+ and add a maas-dhcp binary.
431+ * Add maas-dhcp package to configure a DHCP server.
432+ - debian/maas-dhcp.config: Add to ask debconf questions about range,
433+ gateway, and domain.
434+ - debian/maas-dhcp.postinst: Handle update of config values.
435+ - debian/maas-dhcp.templates: Debconf questions.
436+ * debian/po: Update for templates.
437+ * Add message telling MAAS URL after installation.
438+ - debian/maas.templates: Add message.
439+ - debian/maas.postinst: Display message.
440+ * debian/maas.config: Hide dbconfig-install question.
441+
442+ -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 04 Apr 2012 14:47:13 -0400
443+
444+maas (0.1+bzr400+dfsg-0ubuntu1) precise; urgency=low
445+
446+ * debian/patches/{02-pserv-config,03-txlongpoll-config}.patch: Refreshed.
447+ * debian/maas.install: Install maas-gc cronjob.
448+ * Add apport hook.
449+ - debian/maas.apport: Add hook.
450+ - debian/rules: Install with apport.
451+ * debian/maas.logrotate: Add logrotate for txlongpoll and pserv logs.
452+ * Create 'var/lib/media/maas/storage' on postinst to have right permissions.
453+ - debian/maas.dirs: Drop dir creation.
454+ - debian/maas.postinst: Create dir with correct permissions.
455+ - debian/maas.postrm: Remove dir on purge.
456+
457+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 03 Apr 2012 14:50:34 -0400
458+
459+maas (0.1+bzr378+dfsg-0ubuntu1) precise; urgency=low
460+
461+ * maas.dirs: Create var/lib/maas/media/storage for juju storage.
462+ * maas.postinst:
463+ - Give correct permissions to above dir.
464+ - stop apache2 before db upgrade, and restart after.
465+
466+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 29 Mar 2012 19:28:13 -0400
467+
468+maas (0.1+bzr363+dfsg-0ubuntu1) precise; urgency=low
469+
470+ [ Dave Walker (Daviey) ]
471+ * debian/control: Add openssh-server as a Recommends, and wrap-and-sort.
472+
473+ [ Andres Rodriguez ]
474+ * debian/maas.postinst:
475+ - Do not start apache with apache2ctl. Use invoke-rc.d instead to not
476+ fail in the installer.
477+ - For start of postgresql before creating the DB, otherwise it will
478+ fail in the installer.
479+ - Add check of invoke-rc.d for syslog.
480+ - Add check of invoke-rc.d for rabbitmq-server; Add check for rabbitmqctl
481+ - Add db_stop, in case invoke-rc.d fails.
482+ * debian/control: Tight python-django-maas dependency.
483+ * debian/postrm: Add check for rabbitmqctl.
484+ * debian/maas.maas-txlongpoll.upstart: Create rabbitmq longpoll user/vhost
485+ and set permissions if they don't exist. Start on rabbitmq-server-running.
486+
487+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 27 Mar 2012 14:49:56 -0400
488+
489+maas (0.1+bzr338+dfsg-0ubuntu1) precise; urgency=low
490+
491+ [ Dave Walker (Daviey) ]
492+ * d/patches/03-txlongpoll-config.patch: Resolve typo error from prior patch.
493+ - LP: #961031
494+
495+ [ Andres Rodriguez ]
496+ * debian/maas.config: Don't allow reconfigure.
497+ * debian/maas.postinst: Don't allow reconfigure. Run sync/migrate db on
498+ all upgrades.
499+
500+ [ Scott Moser ]
501+ * add rsylog config for logging node boots (LP: 960149)
502+
503+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 22 Mar 2012 10:56:58 -0400
504+
505+maas (0.1+bzr315+dfsg-0ubuntu1) precise; urgency=low
506+
507+ * New upstream snapshot.
508+
509+ [ Dave Walker ]
510+ * debian/maas.postinst: Do not import ISO's at install time.
511+ * debian/control:
512+ - Drop run-one, it's not a requirement and currently in universe.
513+ - Drop python-setproctitle, no longer required.
514+
515+ [ Andres Rodriguez ]
516+ * debian/control: Depends on python-avahi, python-dbus, and avahi-daemon.
517+ * debian/maas.postinst:
518+ - Only syncdb if dbconfig db creation was selected.
519+ - Set rabbitmq/longpoll settings
520+ * debian/patches/03-txlongpoll-config.patch: Updated broker settings for
521+ rabbitmq.
522+
523+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 20 Mar 2012 20:10:58 -0400
524+
525+maas (0.1+bzr300+dfsg-0ubuntu1) precise; urgency=low
526+
527+ * debian/patches:
528+ - 01-fix-database-settings.patch: Update PSERV_URL port.
529+ - 02-pserv-config.patch: Update, and set 'maas' as username.
530+ - 03-longpoll-config.patch: Update.
531+ * debian/maas.install: Install preseeds and snippets.
532+ * debian/maas.postinst:
533+ - Set password for 'maas' cobbler username (in pserv and cobbler).
534+ - Set DEFAULT_MAAS_URL to IP of interface with default gateway.
535+
536+ -- Andres Rodriguez <andreserl@ubuntu.com> Fri, 16 Mar 2012 14:59:16 -0400
537+
538+maas (0.1+bzr295+dfsg-0ubuntu2) precise; urgency=low
539+
540+ * debian/patches:
541+ - 01-fix-database-settings.patch: Update to set PSERV_URL.
542+ - 02-pserv-config.patch: Set port to 8001.
543+ * debian/maas.postinst: Run maas-import-isos on install.
544+ * debian/control: Depends on rabbitmq-server.
545+
546+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 15 Mar 2012 18:14:08 -0400
547+
548+maas (0.1+bzr295+dfsg-0ubuntu1) precise; urgency=low
549+
550+ * debian/maas.upstart: Specify pidfile and conffile.
551+ * debian/maas.postinst:
552+ - Only run syncdb if dbconfig postinst file exists.
553+ - Fix file permissions.
554+ * debian/maas.{postrm,prerm}: Add dbconfig-common support.
555+ * Add txlongpoll support for packaging:
556+ - debian/control: Depends on python-txlongpoll.
557+ - debian/maas.maas-longpoll.upstart: Added to start txlongpoll.
558+ - debian/maas.install: Install txlongpoll.yaml
559+ * debian/extras/maas: Improvements.
560+ * debian/maas.maas.upstart: Moved from debian/maas.upstart.
561+ * debian/maas.postinst: Touch logfile to set correct permissions (LP: #955400)
562+ * debian/maas.logrotate: Add.
563+ * debian/patches/03-txlongpoll-config.patch: Add default settings.
564+ * debian/maas.config: Only run dbconfig-common on configure/reconfigure.
565+ * Install maas_local_settings.py in /etc/maas and symlink to usr/share/maas
566+ * Update references from MaaS to MAAS.
567+ * Remove podebconf as templates no longer exist.
568+ - debian/po: Remove.
569+ - debian/control: Drop Build-Depends on po-debconf
570+
571+ -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 15 Mar 2012 15:28:14 -0400
572+
573+maas (0.1+bzr266+dfsg-0ubuntu1) precise; urgency=low
574+
575+ * Remove support for squid3 and use squid-deb-proxy instead.
576+ * debian/extras/maas: Add to handle syncdb and creation of admin user.
577+ * Add debconf questions to ask for user/pass:
578+ - debian/maas.{template,config}: Add
579+ - debian/maas.postinst: Ask debconf questions.
580+ - debian/po: Add translation templates.i
581+ * debian/maas.postinst: Enable wsgi module; drop squid3 steps.
582+ * debian/maas.postrm: removed.
583+ * debian/patches/01-fix-database-settings.patch: Custom database settings
584+ and static files path.
585+ * debian/{rules,maas.install}: Install maas static files in
586+ 'usr/share/maas/web/static'.
587+ * Integrate cobbler:
588+ - debian/maas.install: Install pserv twisted plugin, and config.
589+ - debian/maas.upstart: Created to start plugin daemon.
590+ - debian/patches/02-pserv-config.patch: Custom pserv config.
591+ * Integrate dbconfig-common:
592+ - debian/maas.config: Added and default user/pass and database.
593+ - debian/maas.{postinst,postrm}: Added handling for dbconfig-common
594+ * debian/control: Depends on python-convoy.
595+ * debian/rules: Update path to removal of dsfg files.
596+ * debian/patches/01-fix-database-settings.patch: Updated.
597+
598+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 13 Mar 2012 14:31:50 -0400
599+
600+maas (0.1+bzr232+dfsg-0ubuntu1) precise; urgency=low
601+
602+ * New upstream snapshot.
603+
604+ [ Dave Walker ]
605+ * debian/control:
606+ - Changed depends from psycopg2 to python-psycopg2 and dropped versioning.
607+ - LP: #937982
608+
609+ [ Andres Rodriguez ]
610+ * debian/maas.install: Install maas-import-isos and related files.
611+ * Integrate squid3 as proxy solution:
612+ - debian/extras/squid.conf: Added
613+ - debian/control: Depend on squid3.
614+ - debian/maas.{postinst,postrm}: Handle installation/removal of custom
615+ squid config file.
616+ * Split into different binary packages (maas,python-django-maas).
617+ - debian/maas.postinst: Handle the apache2 configuration.
618+
619+ -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 07 Mar 2012 12:46:17 -0500
620+
621+maas (0.1+bzr171+dfsg-0ubuntu1) precise; urgency=low
622+
623+ * New upstream snapshot, post 0.1 release.
624+ * debian/control:
625+ - Drop depends on rabbitmq-server, no longer required.
626+ * debian/watch: Introduced watch file.
627+
628+ -- Dave Walker (Daviey) <DaveWalker@ubuntu.com> Thu, 23 Feb 2012 13:08:12 +0000
629+
630+maas (0.1~bzr146+dfsg-0ubuntu1) precise; urgency=low
631+
632+ * Initial release
633+
634+ -- Julian Edwards <julian.edwards@canonical.com> Thu, 16 Jan 2012 15:29:07 +0000
635
636=== added file 'debian/compat'
637--- debian/compat 1970-01-01 00:00:00 +0000
638+++ debian/compat 2012-11-13 12:12:21 +0000
639@@ -0,0 +1,1 @@
640+7
641
642=== added file 'debian/control'
643--- debian/control 1970-01-01 00:00:00 +0000
644+++ debian/control 2012-11-13 12:12:21 +0000
645@@ -0,0 +1,275 @@
646+Source: maas
647+Section: net
648+Priority: optional
649+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
650+Build-Depends: debhelper (>= 8.1.0~),
651+ dh-apport,
652+ po-debconf,
653+ python (>= 2.7),
654+ python-distribute,
655+ python-django
656+Standards-Version: 3.9.3
657+X-Python-Version: >= 2.7
658+XS-Testsuite: autopkgtest
659+Homepage: https://launchpad.net/maas
660+
661+Package: maas
662+Architecture: all
663+Pre-Depends: ${misc:Pre-Depends}
664+Depends: maas-cluster-controller, maas-region-controller, python-django-maas
665+Conflicts: dnsmasq, maas-provision, tftpd-hpa
666+Replaces: maas-provision
667+Description: Ubuntu MAAS Server
668+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
669+ nice UI to provision your Ubuntu servers. Each physical server
670+ (“node”) will be commissioned automatically on first boot.
671+ During the commissioning process administrators are able to
672+ configure hardware settings manually before an automated smoke
673+ test and burn-in test are done. Once commissioned, a node can
674+ be deployed on demand by name, or allocated to a queue for
675+ dynamic allocation to services being deployed on this MAAS.
676+ .
677+ This package installs a complete MAAS service on a single machine.
678+
679+Package: maas-common
680+Architecture: all
681+Depends: ${python:Depends}
682+Conflicts: maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 )
683+Replaces: maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 )
684+Description: Ubuntu MAAS Server
685+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
686+ nice UI to provision your Ubuntu servers. Each physical server
687+ (“node”) will be commissioned automatically on first boot.
688+ During the commissioning process administrators are able to
689+ configure hardware settings manually before an automated smoke
690+ test and burn-in test are done. Once commissioned, a node can
691+ be deployed on demand by name, or allocated to a queue for
692+ dynamic allocation to services being deployed on this MAAS.
693+ .
694+ This package contains common files
695+
696+Package: maas-region-controller
697+Architecture: all
698+Depends: apache2,
699+ avahi-daemon,
700+ dbconfig-common,
701+ distro-info,
702+ libapache2-mod-wsgi,
703+ libjs-raphael,
704+ libjs-yui3-full,
705+ libjs-yui3-min,
706+ maas-common (= ${binary:Version}),
707+ postgresql-9.1,
708+ pwgen,
709+ python-django,
710+ python-django-maas (= ${binary:Version}),
711+ python-django-piston,
712+ python-django-south,
713+ python-maas-provisioningserver (= ${binary:Version}),
714+ rabbitmq-server,
715+ rsyslog,
716+ squid-deb-proxy,
717+ ${misc:Depends},
718+ ${python:Depends}
719+Recommends: openssh-server
720+Suggests: maas-dns
721+Conflicts: maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 )
722+Replaces: maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 )
723+Description: Ubuntu MAAS Server
724+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
725+ nice UI to provision your Ubuntu servers. Each physical server
726+ (“node”) will be commissioned automatically on first boot.
727+ During the commissioning process administrators are able to
728+ configure hardware settings manually before an automated smoke
729+ test and burn-in test are done. Once commissioned, a node can
730+ be deployed on demand by name, or allocated to a queue for
731+ dynamic allocation to services being deployed on this MAAS.
732+ .
733+ This package installs the region controller services: the web
734+ UI and the database.
735+
736+Package: python-maas-provisioningserver
737+Architecture: all
738+Depends: python-celery,
739+ python-formencode,
740+ python-lockfile,
741+ python-lxml,
742+ python-maas-client,
743+ python-netifaces,
744+ python-oops,
745+ python-oops-amqp,
746+ python-oops-datedir-repo,
747+ python-oops-twisted,
748+ python-pyparsing,
749+ python-tempita,
750+ python-twisted-core,
751+ python-twisted-web,
752+ python-txamqp,
753+ python-txtftp,
754+ python-yaml,
755+ python-zope.interface,
756+ ${misc:Depends},
757+ ${python:Depends}
758+Conflicts: python-django-maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 ), maas-cluster-controller (<= 0.1+bzr1243+dfsg-0ubuntu3)
759+Replaces: python-django-maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 ), maas-cluster-controller (<= 0.1+bzr1243+dfsg-0ubuntu3)
760+Description: Ubuntu MAAS Server
761+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
762+ nice UI to provision your Ubuntu servers. Each physical server
763+ (“node”) will be commissioned automatically on first boot.
764+ During the commissioning process administrators are able to
765+ configure hardware settings manually before an automated smoke
766+ test and burn-in test are done. Once commissioned, a node can
767+ be deployed on demand by name, or allocated to a queue for
768+ dynamic allocation to services being deployed on this MAAS.
769+ .
770+ This package contains the provisioning server libraries.
771+
772+Package: maas-cli
773+Architecture: all
774+Depends: python-bzrlib,
775+ python-httplib2,
776+ python-maas-client (= ${binary:Version}),
777+ python-oauth,
778+ ${misc:Depends},
779+ ${python:Depends}
780+Description: Ubuntu MAAS Client Tool
781+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
782+ nice UI to provision your Ubuntu servers. Each physical server
783+ (“node”) will be commissioned automatically on first boot.
784+ During the commissioning process administrators are able to
785+ configure hardware settings manually before an automated smoke
786+ test and burn-in test are done. Once commissioned, a node can
787+ be deployed on demand by name, or allocated to a queue for
788+ dynamic allocation to services being deployed on this MAAS.
789+ .
790+ This package contains the client command line tool.
791+
792+Package: python-maas-client
793+Architecture: all
794+Depends: python-oauth, ${misc:Depends}, ${python:Depends}
795+Conflicts: maas (<= 0.1+bzr971+dfsg-0ubuntu2 )
796+Replaces: maas (<= 0.1+bzr971+dfsg-0ubuntu2 )
797+Description: Ubuntu MAAS API Client - (python files)
798+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
799+ nice UI to provision your Ubuntu servers. Each physical server
800+ (“node”) will be commissioned automatically on first boot.
801+ During the commissioning process administrators are able to
802+ configure hardware settings manually before an automated smoke
803+ test and burn-in test are done. Once commissioned, a node can
804+ be deployed on demand by name, or allocated to a queue for
805+ dynamic allocation to services being deployed on this MAAS.
806+ .
807+ This package contains the client API Python modules.
808+
809+Package: maas-cluster-controller
810+Architecture: all
811+Depends: bind9utils,
812+ freeipmi-tools,
813+ maas-cli (=${binary:Version}),
814+ maas-common (=${binary:Version}),
815+ python-celery,
816+ python-httplib2,
817+ python-lockfile,
818+ python-maas-provisioningserver (=${binary:Version}),
819+ python-netaddr,
820+ python-oauth,
821+ python-tempita,
822+ python-twisted,
823+ python-zope.interface,
824+ rsyslog,
825+ syslinux-common,
826+ tgt,
827+ uuid-runtime,
828+ wget,
829+ ${misc:Depends},
830+ ${python:Depends}
831+Suggests: maas-dhcp (= ${binary:Version})
832+Conflicts: maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 )
833+Replaces: maas ( <= 0.1+bzr1048+dfsg-0ubuntu1 )
834+Description: Ubuntu MAAS Cluster Controller
835+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
836+ nice UI to provision your Ubuntu servers. Each physical server
837+ (“node”) will be commissioned automatically on first boot.
838+ During the commissioning process administrators are able to
839+ configure hardware settings manually before an automated smoke
840+ test and burn-in test are done. Once commissioned, a node can
841+ be deployed on demand by name, or allocated to a queue for
842+ dynamic allocation to services being deployed on this MAAS.
843+ .
844+ This package contains the cluster controller, which is
845+ responsible for controlling remote DHCP/TFTP instances on their
846+ own subnets.
847+
848+Package: python-django-maas
849+Section: python
850+Architecture: all
851+Depends: python-avahi,
852+ python-celery,
853+ python-convoy,
854+ python-dbus,
855+ python-lockfile,
856+ python-lxml,
857+ python-maas-client (= ${binary:Version}),
858+ python-netaddr,
859+ python-oops,
860+ python-oops-amqp,
861+ python-oops-datedir-repo,
862+ python-oops-twisted,
863+ python-oops-wsgi,
864+ python-psycopg2,
865+ python-sphinx,
866+ python-tempita,
867+ python-twisted,
868+ python-txamqp,
869+ python-txlongpoll,
870+ python-zope.interface,
871+ ${misc:Depends},
872+ ${python:Depends}
873+Description: Ubuntu MAAS Server - (django files)
874+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
875+ nice UI to provision your Ubuntu servers. Each physical server
876+ (“node”) will be commissioned automatically on first boot.
877+ During the commissioning process administrators are able to
878+ configure hardware settings manually before an automated smoke
879+ test and burn-in test are done. Once commissioned, a node can
880+ be deployed on demand by name, or allocated to a queue for
881+ dynamic allocation to services being deployed on this MAAS.
882+ .
883+ This package contains the Django files.
884+
885+Package: maas-dhcp
886+Architecture: all
887+Depends: isc-dhcp-server, ${misc:Depends}
888+Conflicts: maas-dhcp (<= 0.1+bzr777+dfsg-0ubuntu1)
889+Replaces: maas-dhcp (<= 0.1+bzr777+dfsg-0ubuntu1)
890+Description: Ubuntu MAAS Server - DHCP Configuration (meta-package)
891+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
892+ nice UI to provision your Ubuntu servers. Each physical server
893+ (“node”) will be commissioned automatically on first boot.
894+ During the commissioning process administrators are able to
895+ configure hardware settings manually before an automated smoke
896+ test and burn-in test are done. Once commissioned, a node can
897+ be deployed on demand by name, or allocated to a queue for
898+ dynamic allocation to services being deployed on this MAAS.
899+ .
900+ This package configures a DHCP that can be used with MAAS.
901+
902+Package: maas-dns
903+Architecture: all
904+Depends: bind9,
905+ maas-region-controller (= ${binary:Version}),
906+ maas-dhcp (= ${binary:Version}),
907+ ${misc:Depends}
908+Conflicts: maas-dhcp (<= 0.1+bzr777+dfsg-0ubuntu1)
909+Replaces: maas-dhcp (<= 0.1+bzr777+dfsg-0ubuntu1)
910+Description: Ubuntu MAAS Server - DNS configuration (metapackage)
911+ Ubuntu MAAS Server is the successor to Orchestra. It offers a
912+ nice UI to provision your Ubuntu servers. Each physical server
913+ (“node”) will be commissioned automatically on first boot.
914+ During the commissioning process administrators are able to
915+ configure hardware settings manually before an automated smoke
916+ test and burn-in test are done. Once commissioned, a node can
917+ be deployed on demand by name, or allocated to a queue for
918+ dynamic allocation to services being deployed on this MAAS.
919+ .
920+ This package configures a DNS that can be used with MAAS.
921
922=== added file 'debian/copyright'
923--- debian/copyright 1970-01-01 00:00:00 +0000
924+++ debian/copyright 2012-11-13 12:12:21 +0000
925@@ -0,0 +1,25 @@
926+Format: http://dep.debian.net/deps/dep5
927+Upstream-Name: maas
928+Source: https://launchpad.net/maas
929+
930+Files: *
931+Copyright: 2012 Canonical Ltd.
932+License: AGPL-3.0+
933+
934+Files: debian/*
935+Copyright: 2012 Canonical Ltd.
936+License: AGPL-3.0+
937+
938+License: AGPL-3.0+
939+ This program is free software: you can redistribute it and/or modify
940+ it under the terms of the GNU Affero General Public License as
941+ published by the Free Software Foundation, either version 3 of the
942+ License, or (at your option) any later version.
943+ .
944+ This program is distributed in the hope that it will be useful,
945+ but WITHOUT ANY WARRANTY; without even the implied warranty of
946+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
947+ GNU Affero General Public License for more details.
948+ .
949+ You should have received a copy of the GNU Affero General Public License
950+ along with this program. If not, see <http://www.gnu.org/licenses/>.
951
952=== added directory 'debian/extras'
953=== added file 'debian/extras/20-maas.conf'
954--- debian/extras/20-maas.conf 1970-01-01 00:00:00 +0000
955+++ debian/extras/20-maas.conf 2012-11-13 12:12:21 +0000
956@@ -0,0 +1,32 @@
957+# Enable the udp server for installation logging
958+$ModLoad imudp
959+$UDPServerRun 514
960+$ModLoad imtcp # load TCP listener
961+
962+# The following section (certificates) was copied from orchestra, but is
963+# not used here. In the future, if we needed secure ssl, then re-enable.
964+# These files were created in the orchestra-logging-server's postinst
965+#
966+## make gtls driver the default
967+#$DefaultNetstreamDriver gtls
968+#
969+## certificate files
970+#$DefaultNetstreamDriverCAFile /var/lib/maas/ssl-cert-orchestra-ca.pem
971+#$DefaultNetstreamDriverCertFile /var/lib/maas/.ssl/ssl-cert-orchestra.pem
972+#$DefaultNetstreamDriverKeyFile /var/lib/maas/.ssl/ssl-cert-orchestra-pk.pem
973+#
974+#$InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode
975+#$InputTCPServerStreamDriverAuthMode anon # client is NOT authenticated
976+#$InputTCPServerRun 10514 # start up listener at port 10514
977+
978+# Reduce message repetition
979+$RepeatedMsgReduction on
980+##$RepeatedMsgContainsOrigionalMsg on
981+
982+# Message templating
983+$template MAASboot,"/var/log/maas/rsyslog/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/messages"
984+
985+:fromhost-ip, !isequal, "127.0.0.1" ?MAASboot
986+# Stop messages that came from anywhere else from going into other places
987+# like /var/log/syslog. If you want to see these messages there, then comment below
988+& ~
989
990=== added file 'debian/extras/99-maas'
991--- debian/extras/99-maas 1970-01-01 00:00:00 +0000
992+++ debian/extras/99-maas 2012-11-13 12:12:21 +0000
993@@ -0,0 +1,4 @@
994+# /etc/squid-deb-proxy/mirror-dstdomain.acl.d/99-maas
995+#
996+# Enable launchpad personal package archives for squid-deb-proxy
997+ppa.launchpad.net
998
999=== added file 'debian/extras/99-maas-sudoers'
1000--- debian/extras/99-maas-sudoers 1970-01-01 00:00:00 +0000
1001+++ debian/extras/99-maas-sudoers 2012-11-13 12:12:21 +0000
1002@@ -0,0 +1,3 @@
1003+maas ALL= NOPASSWD: /usr/sbin/service maas-dhcp-server restart
1004+maas ALL= NOPASSWD: /usr/sbin/maas-provision
1005+maas ALL= NOPASSWD: /usr/sbin/maas-import-pxe-files
1006
1007=== added file 'debian/extras/isc-dhcp-server.override'
1008--- debian/extras/isc-dhcp-server.override 1970-01-01 00:00:00 +0000
1009+++ debian/extras/isc-dhcp-server.override 2012-11-13 12:12:21 +0000
1010@@ -0,0 +1,1 @@
1011+manual
1012
1013=== added file 'debian/extras/maas'
1014--- debian/extras/maas 1970-01-01 00:00:00 +0000
1015+++ debian/extras/maas 2012-11-13 12:12:21 +0000
1016@@ -0,0 +1,8 @@
1017+#!/bin/sh
1018+if [ "$(id -u)" != "0" ]; then
1019+ echo "This utility may only be run as root." 1>&2
1020+ exit 1
1021+fi
1022+export PYTHONPATH="/usr/share/maas${PYTHONPATH:+:}${PYTHONPATH}"
1023+export DJANGO_SETTINGS_MODULE="maas.settings"
1024+exec /usr/bin/django-admin "$@"
1025
1026=== added file 'debian/extras/maas-cli'
1027--- debian/extras/maas-cli 1970-01-01 00:00:00 +0000
1028+++ debian/extras/maas-cli 2012-11-13 12:12:21 +0000
1029@@ -0,0 +1,2 @@
1030+#!/bin/sh
1031+exec python -m maascli "$@"
1032
1033=== added file 'debian/extras/maas-provision'
1034--- debian/extras/maas-provision 1970-01-01 00:00:00 +0000
1035+++ debian/extras/maas-provision 2012-11-13 12:12:21 +0000
1036@@ -0,0 +1,7 @@
1037+#!/bin/sh
1038+if [ "$(id -u)" != "0" ]; then
1039+ echo "This utility may only be run as root." 1>&2
1040+ exit 1
1041+fi
1042+export PYTHONPATH="/usr/share/maas${PYTHONPATH:+:}${PYTHONPATH}"
1043+exec /usr/bin/python -m provisioningserver "$@"
1044
1045=== added file 'debian/extras/maas-region-celeryd'
1046--- debian/extras/maas-region-celeryd 1970-01-01 00:00:00 +0000
1047+++ debian/extras/maas-region-celeryd 2012-11-13 12:12:21 +0000
1048@@ -0,0 +1,50 @@
1049+#!/usr/bin/python
1050+import os
1051+from grp import getgrnam
1052+from pwd import getpwnam
1053+
1054+def start_celery(args):
1055+ uid = getpwnam(args.user).pw_uid
1056+ gid = getgrnam(args.group).gr_gid
1057+
1058+ env = dict(os.environ, PYTHONPATH="/usr/share/maas")
1059+
1060+ command = [
1061+ 'celeryd',
1062+ '--logfile=%s' % args.logfile,
1063+ '--schedule=%s' % args.schedule,
1064+ '--loglevel=INFO',
1065+ '--beat',
1066+ '--queues=celery,master',
1067+ ]
1068+
1069+ # Change gid first, just in case changing the uid might deprive
1070+ # us of the privileges required to setgid.
1071+ os.setgid(gid)
1072+ os.setuid(uid)
1073+
1074+ os.execvpe(command[0], command, env=env)
1075+
1076+def main():
1077+ import argparse
1078+ parser = argparse.ArgumentParser(
1079+ description='MAAS celery daemon config options')
1080+ parser.add_argument(
1081+ '--user', '-u', metavar='USER', default='maas',
1082+ help="System user identity that should run the cluster controller.")
1083+ parser.add_argument(
1084+ '--group', '-g', metavar='GROUP', default='maas',
1085+ help="System group that should run the cluster controller.")
1086+ parser.add_argument(
1087+ '--logfile', '-l', metavar='LOGFILE', default='/var/log/maas/celery-region.log',
1088+ help="Location of the logfile.")
1089+ parser.add_argument(
1090+ '--schedule', '-s', metavar='SCHEDULE', default='/var/lib/maas/celerybeat-region-schedule',
1091+ help="Location of the beat schedule file.")
1092+
1093+ args = args = parser.parse_args()
1094+
1095+ start_celery(args)
1096+
1097+if __name__ == '__main__':
1098+ main()
1099
1100=== added file 'debian/extras/maas_remote_syslog_compress'
1101--- debian/extras/maas_remote_syslog_compress 1970-01-01 00:00:00 +0000
1102+++ debian/extras/maas_remote_syslog_compress 2012-11-13 12:12:21 +0000
1103@@ -0,0 +1,2 @@
1104+# Compress log files not changed in more than 48 hours:
1105+30 4 * * * root find /var/log/maas/rsyslog -type f -mtime +2 -exec bzip2 '{}' \;
1106
1107=== added file 'debian/maas-cli.install'
1108--- debian/maas-cli.install 1970-01-01 00:00:00 +0000
1109+++ debian/maas-cli.install 2012-11-13 12:12:21 +0000
1110@@ -0,0 +1,2 @@
1111+debian/extras/maas-cli usr/bin
1112+debian/tmp/usr/lib/python*/dist-packages/maascli
1113
1114=== added file 'debian/maas-cluster-controller.config'
1115--- debian/maas-cluster-controller.config 1970-01-01 00:00:00 +0000
1116+++ debian/maas-cluster-controller.config 2012-11-13 12:12:21 +0000
1117@@ -0,0 +1,31 @@
1118+#!/bin/sh -e
1119+
1120+. /usr/share/debconf/confmodule
1121+db_version 2.0
1122+
1123+# Only ask for new installations and reconfiguring.
1124+# XXX Fix to not ask when installing from the CD.
1125+if ([ "$1" = "configure" ] && [ -z "$2" ]); then
1126+
1127+ db_get maas-cluster-controller/maas-url || true
1128+ if [ -n "$RET" ]; then
1129+ db_set maas-cluster-controller/maas-url "$RET"
1130+ else
1131+ # Attempt to pre-populate if installing on the region controller.
1132+ if [ -e /etc/maas/maas_local_settings.py ]; then
1133+ url=$(awk '$1 == "DEFAULT_MAAS_URL" { split($0,array,"\"")} END{print array[2] }' /etc/maas/maas_local_settings.py)
1134+ db_set maas-cluster-controller/maas-url "$url"
1135+ else
1136+ # Will only get here if dbconf value not already set, or
1137+ # /etc/maas/maas_local_settings.py doesn't exist.
1138+ db_input medium maas-cluster-controller/maas-url || true
1139+ db_go
1140+ fi
1141+ fi
1142+fi
1143+
1144+if [ "$1" = "reconfigure" ]; then
1145+ db_input high maas-cluster-controller/maas-url || true
1146+ db_go
1147+fi
1148+#DEBHELPER#
1149
1150=== added file 'debian/maas-cluster-controller.dirs'
1151--- debian/maas-cluster-controller.dirs 1970-01-01 00:00:00 +0000
1152+++ debian/maas-cluster-controller.dirs 2012-11-13 12:12:21 +0000
1153@@ -0,0 +1,1 @@
1154+etc/maas
1155
1156=== added file 'debian/maas-cluster-controller.install'
1157--- debian/maas-cluster-controller.install 1970-01-01 00:00:00 +0000
1158+++ debian/maas-cluster-controller.install 2012-11-13 12:12:21 +0000
1159@@ -0,0 +1,27 @@
1160+# Install twisted plugins
1161+twisted/plugins/maasps.py usr/share/pyshared/twisted/plugins
1162+
1163+# Install PSERV config file
1164+debian/tmp/etc/maas/pserv.yaml
1165+
1166+# Install cluster config file
1167+debian/tmp/etc/maas/maas_cluster.conf
1168+
1169+# Install celery config file
1170+debian/tmp/usr/share/maas/celeryconfig_cluster.py
1171+
1172+# Install local celery cluster config file
1173+debian/tmp/etc/maas/maas_local_celeryconfig_cluster.py
1174+
1175+# Install maas-import-pxe-files and related files
1176+debian/tmp/usr/sbin/maas-import-pxe-files
1177+etc/cron.d/maas-import-pxe-files
1178+man/maas-import-pxe-files.8 usr/share/man/man8
1179+debian/tmp/etc/maas/import_pxe_files
1180+debian/tmp/usr/sbin/maas-import-ephemerals
1181+debian/tmp/etc/maas/import_ephemerals
1182+debian/tmp/etc/maas/commissioning-user-data
1183+
1184+# Install all other stuff
1185+debian/extras/99-maas-sudoers etc/sudoers.d
1186+debian/extras/isc-dhcp-server.override etc/init
1187
1188=== added file 'debian/maas-cluster-controller.links'
1189--- debian/maas-cluster-controller.links 1970-01-01 00:00:00 +0000
1190+++ debian/maas-cluster-controller.links 2012-11-13 12:12:21 +0000
1191@@ -0,0 +1,1 @@
1192+etc/maas/maas_local_celeryconfig_cluster.py usr/share/maas/maas_local_celeryconfig_cluster.py
1193
1194=== added file 'debian/maas-cluster-controller.logrotate'
1195--- debian/maas-cluster-controller.logrotate 1970-01-01 00:00:00 +0000
1196+++ debian/maas-cluster-controller.logrotate 2012-11-13 12:12:21 +0000
1197@@ -0,0 +1,9 @@
1198+/var/log/maas/pserv.log {
1199+ rotate 5
1200+ weekly
1201+ compress
1202+ missingok
1203+ postrotate
1204+ [ -r /var/run/maas-pserv.pid ] && kill -s USR2 $(cat /var/run/maas-pserv.pid) || true
1205+ endscript
1206+}
1207
1208=== added file 'debian/maas-cluster-controller.maas-cluster-celery.upstart'
1209--- debian/maas-cluster-controller.maas-cluster-celery.upstart 1970-01-01 00:00:00 +0000
1210+++ debian/maas-cluster-controller.maas-cluster-celery.upstart 2012-11-13 12:12:21 +0000
1211@@ -0,0 +1,26 @@
1212+# maas-cluster-controller - provisioning service
1213+#
1214+# MAAS Cluster Controller Service
1215+
1216+description "MAAS Cluster Controller"
1217+author "Julian Edwards <julian.edwards@canonical.com>"
1218+
1219+start on filesystem and net-device-up
1220+stop on runlevel [016]
1221+
1222+env CONFIG_FILE=/etc/maas/maas_cluster.conf
1223+# Use cluster config.
1224+env CELERY_CONFIG_MODULE="celeryconfig_cluster"
1225+
1226+pre-start script
1227+ if [ ! -f $CONFIG_FILE ]; then
1228+ echo "$CONFIG_FILE does not exist. Aborting."
1229+ stop
1230+ exit 0
1231+ fi
1232+end script
1233+
1234+script
1235+ . $CONFIG_FILE # sets MAAS_URL
1236+ exec /usr/sbin/maas-provision start-cluster-controller $MAAS_URL -u maas -g maas
1237+end script
1238
1239=== added file 'debian/maas-cluster-controller.maas-pserv.upstart'
1240--- debian/maas-cluster-controller.maas-pserv.upstart 1970-01-01 00:00:00 +0000
1241+++ debian/maas-cluster-controller.maas-pserv.upstart 2012-11-13 12:12:21 +0000
1242@@ -0,0 +1,14 @@
1243+# maas-pserv - provisioning service
1244+#
1245+# MAAS Provisioning Service
1246+
1247+description "MAAS"
1248+author "Andres Rodriguez <andres.rodriguez@canonical.com>"
1249+
1250+start on filesystem and net-device-up
1251+stop on runlevel [016]
1252+
1253+respawn
1254+
1255+# To add options to your daemon, edit the line below:
1256+exec /usr/bin/twistd -n --uid=maas --gid=maas --pidfile=/run/maas-pserv.pid --logfile=/dev/null maas-pserv --config-file=/etc/maas/pserv.yaml
1257
1258=== added file 'debian/maas-cluster-controller.postinst'
1259--- debian/maas-cluster-controller.postinst 1970-01-01 00:00:00 +0000
1260+++ debian/maas-cluster-controller.postinst 2012-11-13 12:12:21 +0000
1261@@ -0,0 +1,62 @@
1262+#!/bin/sh -e
1263+
1264+. /usr/share/debconf/confmodule
1265+db_version 2.0
1266+
1267+create_log_dir() {
1268+ # create log dir
1269+ if [ ! -d /var/lib/maas ]; then
1270+ mkdir -p /var/lib/maas
1271+ fi
1272+ if [ ! -d /var/log/maas/oops ]; then
1273+ mkdir -p /var/log/maas/oops
1274+ fi
1275+ # Give appropriate permissions
1276+ chown -R maas:maas /var/lib/maas/
1277+ chown -R maas:maas /var/log/maas
1278+ chmod -R 775 /var/log/maas/oops
1279+}
1280+
1281+configure_maas_tgt(){
1282+ # Set up iSCSI: add maas.conf to tgt conf.d.
1283+ local tgtcfg="/etc/tgt/targets.conf"
1284+ [ -d /etc/tgt/conf.d/ ] ||
1285+ echo "Warning! $tgtcfg did not exist" 1>&2;
1286+ mkdir -p /etc/tgt/conf.d/ /var/lib/maas/ephemeral/
1287+ ln -sf /var/lib/maas/ephemeral/tgt.conf /etc/tgt/conf.d/maas.conf
1288+}
1289+
1290+if [ "$1" = "configure" ] && [ -z "$2" ]; then
1291+ # logging
1292+ create_log_dir
1293+
1294+ # The local celery config may contain a private cluster UUID. Only
1295+ # maas can read it; only root can write it.
1296+ chown root:maas /etc/maas/maas_local_celeryconfig_cluster.py
1297+ chmod 0640 /etc/maas/maas_local_celeryconfig_cluster.py
1298+
1299+ # Generate cluster UUID.
1300+ if grep -qs "^CLUSTER_UUID\ \= None$" /etc/maas/maas_local_celeryconfig_cluster.py; then
1301+ uuid="$(uuidgen)"
1302+ sed -i "s|^CLUSTER_UUID\ \= None$|CLUSTER_UUID = '"$uuid"'|" \
1303+ /etc/maas/maas_local_celeryconfig_cluster.py
1304+ fi
1305+
1306+ configure_maas_tgt
1307+fi
1308+
1309+if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
1310+
1311+ if dpkg --compare-versions "$2" lt 0.1+bzr1239+dfsg-0ubuntu1; then
1312+ create_log_dir
1313+ fi
1314+
1315+ # Get the MAAS_URL on configure/reconfigure and write it to the conf file.
1316+ db_get maas-cluster-controller/maas-url || true
1317+ if [ -n "$RET" ]; then
1318+ sed -i "s|MAAS_URL=.*|MAAS_URL="$RET"|" /etc/maas/maas_cluster.conf
1319+ fi
1320+fi
1321+
1322+#DEBHELPER#
1323+exit 0
1324
1325=== added file 'debian/maas-cluster-controller.postrm'
1326--- debian/maas-cluster-controller.postrm 1970-01-01 00:00:00 +0000
1327+++ debian/maas-cluster-controller.postrm 2012-11-13 12:12:21 +0000
1328@@ -0,0 +1,30 @@
1329+#!/bin/sh
1330+
1331+set -e
1332+
1333+. /usr/share/debconf/confmodule
1334+db_version 2.0
1335+
1336+case "$1" in
1337+ purge)
1338+ # remove log directory
1339+ if [ -d /var/log/maas ]; then
1340+ rm -rf /var/log/maas
1341+ fi
1342+ # remove var directory
1343+ rm -rf /var/lib/maas/celerybeat-cluster-schedule
1344+ DIR=/var/lib/maas
1345+ if [ "$(ls -A $DIR 2> /dev/null)" = "" ]; then
1346+ rm -rf /var/lib/maas
1347+ fi
1348+
1349+ # Delete symlink for iSCSI config.
1350+ if [ -L /etc/tgt/conf.d/maas.conf ]; then
1351+ rm -rf /etc/tgt/conf.d/maas.conf
1352+ fi
1353+
1354+esac
1355+
1356+#DEBHELPER#
1357+
1358+exit 0
1359
1360=== added file 'debian/maas-cluster-controller.prerm'
1361--- debian/maas-cluster-controller.prerm 1970-01-01 00:00:00 +0000
1362+++ debian/maas-cluster-controller.prerm 2012-11-13 12:12:21 +0000
1363@@ -0,0 +1,10 @@
1364+#!/bin/sh
1365+
1366+set -e
1367+
1368+. /usr/share/debconf/confmodule
1369+db_version 2.0
1370+
1371+#DEBHELPER#
1372+
1373+exit 0
1374
1375=== added file 'debian/maas-cluster-controller.templates'
1376--- debian/maas-cluster-controller.templates 1970-01-01 00:00:00 +0000
1377+++ debian/maas-cluster-controller.templates 2012-11-13 12:12:21 +0000
1378@@ -0,0 +1,7 @@
1379+Template: maas-cluster-controller/maas-url
1380+Type: string
1381+Default:
1382+_Description: Ubuntu MAAS API address:
1383+ The MAAS Cluster Controller needs to contact the MAAS server to
1384+ register its presence. Set the URL to the MAAS API here, e.g.
1385+ http://192.168.1.1/MAAS
1386
1387=== added file 'debian/maas-common.install'
1388--- debian/maas-common.install 1970-01-01 00:00:00 +0000
1389+++ debian/maas-common.install 2012-11-13 12:12:21 +0000
1390@@ -0,0 +1,2 @@
1391+# Install Celery Config
1392+debian/tmp/usr/share/maas/celeryconfig_common.py
1393
1394=== added file 'debian/maas-common.postinst'
1395--- debian/maas-common.postinst 1970-01-01 00:00:00 +0000
1396+++ debian/maas-common.postinst 2012-11-13 12:12:21 +0000
1397@@ -0,0 +1,22 @@
1398+#!/bin/sh -e
1399+
1400+add_user_group(){
1401+ local user="maas"
1402+ local group="maas"
1403+ if ! getent group "$group" >/dev/null; then
1404+ addgroup --quiet --system "$group" || true
1405+ fi
1406+ if ! getent passwd "$user" > /dev/null 2>&1; then
1407+ adduser --quiet \
1408+ --system \
1409+ --group \
1410+ --no-create-home \
1411+ "$user" || true
1412+ fi
1413+}
1414+
1415+if [ "$1" = "configure" ]; then
1416+ add_user_group
1417+fi
1418+
1419+#DEBHELPER#
1420
1421=== added file 'debian/maas-common.postrm'
1422--- debian/maas-common.postrm 1970-01-01 00:00:00 +0000
1423+++ debian/maas-common.postrm 2012-11-13 12:12:21 +0000
1424@@ -0,0 +1,13 @@
1425+#!/bin/sh
1426+
1427+set -e
1428+
1429+case "$1" in
1430+ purge)
1431+ # Deleting user/group
1432+ if getent passwd maas >/dev/null; then
1433+ deluser maas || true
1434+ fi
1435+esac
1436+
1437+#DEBHELPER#
1438
1439=== added file 'debian/maas-dhcp.apparmor'
1440--- debian/maas-dhcp.apparmor 1970-01-01 00:00:00 +0000
1441+++ debian/maas-dhcp.apparmor 2012-11-13 12:12:21 +0000
1442@@ -0,0 +1,7 @@
1443+/run/maas/dhcp/ r,
1444+/run/maas/dhcp/** r,
1445+/run/maas/dhcp/*.pid lrw,
1446+/run/maas/dhcp/*.trace lrw,
1447+/run/maas/dhcp/*.leases* lrw,
1448+/var/lib/maas/dhcp/dhcpd*.leases* lrw,
1449+/etc/maas/dhcpd.conf r,
1450
1451=== added file 'debian/maas-dhcp.install'
1452--- debian/maas-dhcp.install 1970-01-01 00:00:00 +0000
1453+++ debian/maas-dhcp.install 2012-11-13 12:12:21 +0000
1454@@ -0,0 +1,1 @@
1455+/debian/tmp/etc/apparmor.d/dhcpd.d/maas
1456
1457=== added file 'debian/maas-dhcp.maas-dhcp-server.upstart'
1458--- debian/maas-dhcp.maas-dhcp-server.upstart 1970-01-01 00:00:00 +0000
1459+++ debian/maas-dhcp.maas-dhcp-server.upstart 2012-11-13 12:12:21 +0000
1460@@ -0,0 +1,60 @@
1461+description "MAAS instance of ISC DHCP server"
1462+author "Jeroen Vermeulen <jtv@canonical.com>"
1463+
1464+start on runlevel [2345]
1465+stop on runlevel [!2345]
1466+
1467+env CONFIG_FILE=/etc/maas/dhcpd.conf
1468+env PID_DIR=/run/maas/dhcp
1469+env PID_FILE=/run/maas/dhcp/dhcpd.pid
1470+env LEASES_DIR=/var/lib/maas/dhcp
1471+env LEASES_FILE=/var/lib/maas/dhcp/dhcpd.leases
1472+
1473+# This is where we write what interfaces dhcpd should listen on.
1474+env INTERFACES_FILE=/var/lib/maas/dhcpd-interfaces
1475+
1476+pre-start script
1477+ if [ ! -f $CONFIG_FILE ]; then
1478+ echo "$CONFIG_FILE does not exist. Aborting."
1479+ stop
1480+ exit 0
1481+ fi
1482+
1483+ if [ ! -f $INTERFACES_FILE ]; then
1484+ echo "$INTERFACES_FILE does not exist. Aborting."
1485+ stop
1486+ exit 0
1487+ fi
1488+
1489+ if ! /usr/sbin/dhcpd -t -q -4 -cf $CONFIG_FILE > /dev/null 2>&1; then
1490+ echo "dhcpd self-test failed. Please fix the config file."
1491+ echo "The error was: "
1492+ /usr/sbin/dhcpd -t -4 -cf $CONFIG_FILE
1493+ stop
1494+ exit 0
1495+ fi
1496+end script
1497+
1498+respawn
1499+script
1500+ INTERFACES=`cat "${INTERFACES_FILE}"`
1501+
1502+ # Allow dhcp server to write lease and pid file.
1503+ mkdir -p $PID_DIR
1504+ chown dhcpd:dhcpd $PID_DIR
1505+
1506+ # As of Quantal, the leases file must be owned by root:root (even though
1507+ # the daemon will run under an unprivileged user).
1508+ # In Precise, ownership was supposed to be dhcp:dhcp.
1509+ mkdir -p $LEASES_DIR
1510+ chown root:root $LEASES_DIR
1511+ [ -e $LEASES_FILE ] || touch $LEASES_FILE
1512+ for LFILE in $LEASES_FILE $LEASES_FILE~; do
1513+ if [ -e $LFILE ]; then
1514+ chown root:root $LFILE
1515+ chmod a+r $LFILE
1516+ fi
1517+ done
1518+
1519+ exec /usr/sbin/dhcpd -user dhcpd -group dhcpd -f -q -4 -pf $PID_FILE -cf $CONFIG_FILE -lf $LEASES_FILE $INTERFACES
1520+end script
1521
1522=== added file 'debian/maas-dhcp.postinst'
1523--- debian/maas-dhcp.postinst 1970-01-01 00:00:00 +0000
1524+++ debian/maas-dhcp.postinst 2012-11-13 12:12:21 +0000
1525@@ -0,0 +1,22 @@
1526+#!/bin/sh -e
1527+
1528+. /usr/share/debconf/confmodule
1529+db_version 2.0
1530+
1531+stop_isc_dhcp_server(){
1532+ invoke-rc.d isc-dhcp-server stop
1533+}
1534+
1535+
1536+if [ "$1" = "configure" ]; then
1537+ stop_isc_dhcp_server
1538+
1539+ dhcpd_prof="/etc/apparmor.d/usr.sbin.dhcpd"
1540+ if [ -f "${dhcpd_prof}" ] &&
1541+ command -v apparmor_parser >/dev/null 2>&1; then
1542+ apparmor_parser --replace --write-cache --skip-read-cache "${dhcpd_prof}"
1543+ fi
1544+fi
1545+
1546+#DEBHELPER#
1547+exit 0
1548
1549=== added file 'debian/maas-dhcp.postrm'
1550--- debian/maas-dhcp.postrm 1970-01-01 00:00:00 +0000
1551+++ debian/maas-dhcp.postrm 2012-11-13 12:12:21 +0000
1552@@ -0,0 +1,11 @@
1553+#!/bin/sh -e
1554+
1555+if [ "$1" = "remove" -o "$1" = "purge" ]; then
1556+ dhcpd_prof="/etc/apparmor.d/usr.sbin.dhcpd"
1557+ if [ -f "${dhcpd_prof}" ] &&
1558+ command -v apparmor_parser >/dev/null 2>&1; then
1559+ apparmor_parser --replace --write-cache --skip-read-cache "${dhcpd_prof}"
1560+ fi
1561+fi
1562+
1563+#DEBHELPER#
1564
1565=== added file 'debian/maas-dns.dirs'
1566--- debian/maas-dns.dirs 1970-01-01 00:00:00 +0000
1567+++ debian/maas-dns.dirs 2012-11-13 12:12:21 +0000
1568@@ -0,0 +1,1 @@
1569+etc/bind/maas
1570
1571=== added file 'debian/maas-dns.postinst'
1572--- debian/maas-dns.postinst 1970-01-01 00:00:00 +0000
1573+++ debian/maas-dns.postinst 2012-11-13 12:12:21 +0000
1574@@ -0,0 +1,35 @@
1575+#!/bin/sh -e
1576+
1577+if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
1578+ # If /etc/bind/maas is empty, set_up_dns.
1579+ if [ ! "$(ls -A /etc/bind/maas)" ]; then
1580+ maas set_up_dns
1581+ fi
1582+
1583+ # Fix permissions.
1584+ if [ -d /etc/bind/maas ]; then
1585+ chown -R maas:root /etc/bind/maas
1586+ fi
1587+ if [ -f /etc/bind/maas/named.conf.maas ]; then
1588+ chmod 644 /etc/bind/maas/named.conf.maas
1589+ fi
1590+ if [ -f /etc/bind/maas/rndc.conf.maas ]; then
1591+ chmod 600 /etc/bind/maas/rndc.conf.maas
1592+ fi
1593+ if [ -f /etc/bind/maas/named.conf.rndc.maas ]; then
1594+ chown maas:bind /etc/bind/maas/named.conf.rndc.maas
1595+ chmod 640 /etc/bind/maas/named.conf.rndc.maas
1596+ fi
1597+
1598+ # Remove any existing MAAS-related include line from
1599+ # /etc/bind/named.conf.local, then re-add it.
1600+ sed -i '/^include\s.*maas/d' /etc/bind/named.conf.local
1601+ maas get_named_conf --edit --config_path /etc/bind/named.conf.local
1602+
1603+ if [ -x /usr/sbin/invoke-rc.d ]; then
1604+ invoke-rc.d bind9 restart || true
1605+ fi
1606+fi
1607+
1608+#DEBHELPER#
1609+exit 0
1610
1611=== added file 'debian/maas-dns.postrm'
1612--- debian/maas-dns.postrm 1970-01-01 00:00:00 +0000
1613+++ debian/maas-dns.postrm 2012-11-13 12:12:21 +0000
1614@@ -0,0 +1,24 @@
1615+#!/bin/sh -e
1616+
1617+if [ "$1" = "remove" ]; then
1618+ if [ -f /etc/bind/named.conf.local ]; then
1619+ sed -i '/^include.*\"\/etc\/bind\/maas\/named.conf.maas\"\;$/d' \
1620+ /etc/bind/named.conf.local
1621+ fi
1622+fi
1623+
1624+if [ "$1" = "purge" ]; then
1625+ # Remove zone files
1626+ if [ -d /etc/bind/maas ]; then
1627+ rm -rf /etc/bind/maas
1628+ fi
1629+fi
1630+
1631+if [ -x /usr/sbin/invoke-rc.d ]; then
1632+ invoke-rc.d bind9 restart || true
1633+fi
1634+
1635+#DEBHELPER#
1636+
1637+exit 0
1638+
1639
1640=== added file 'debian/maas-region-controller.apport'
1641--- debian/maas-region-controller.apport 1970-01-01 00:00:00 +0000
1642+++ debian/maas-region-controller.apport 2012-11-13 12:12:21 +0000
1643@@ -0,0 +1,37 @@
1644+#!/usr/bin/python
1645+
1646+'''apport hook for bind9
1647+
1648+(c) 2012 Canonical Ltd.
1649+Author: Andres Rodriguez <andres.rodriguez@canonical.com>
1650+
1651+This program is free software; you can redistribute it and/or modify it
1652+under the terms of the GNU General Public License as published by the
1653+Free Software Foundation; either version 2 of the License, or (at your
1654+option) any later version. See http://www.gnu.org/copyleft/gpl.html for
1655+the full text of the license.
1656+'''
1657+
1658+from apport.hookutils import *
1659+
1660+def add_info(report, ui):
1661+ response = ui.yesno("The contents of your /etc/maas/maas_local_settings.py, "
1662+ "/etc/maas/txlongpoll.yaml, /etc/maas/pserv.yaml files "
1663+ "may help developers diagnose your bug more "
1664+ "quickly. However, it may contain sensitive "
1665+ "information. Do you want to include it in your "
1666+ "bug report?")
1667+
1668+ if response == None: # user cancelled
1669+ raise StopIteration
1670+
1671+ elif response == True:
1672+ attach_conffiles(report,'maas')
1673+
1674+ # Attaching log files
1675+ attach_file_if_exists(report, '/var/log/maas/maas.log', 'MAASLog')
1676+ attach_file_if_exists(report, '/var/log/maas/pserv.log', 'MAASPservLog')
1677+ attach_file_if_exists(report, '/var/log/maas/txlongpoll.log', 'MAAStxlongpollLog')
1678+
1679+ # Attaching related packages info
1680+ attach_related_packages(report, ['python-django-maas', 'apparmor'])
1681
1682=== added file 'debian/maas-region-controller.config'
1683--- debian/maas-region-controller.config 1970-01-01 00:00:00 +0000
1684+++ debian/maas-region-controller.config 2012-11-13 12:12:21 +0000
1685@@ -0,0 +1,45 @@
1686+#!/bin/sh -e
1687+
1688+. /usr/share/debconf/confmodule
1689+db_version 2.0
1690+
1691+# creates question
1692+set_question() {
1693+ if ! db_fget "$1" seen; then
1694+ db_register dbconfig-common/dbconfig-install "$1"
1695+ db_subst "$1" ID "$1"
1696+ db_fget "$1" seen
1697+ fi
1698+ if [ "$RET" = false ]; then
1699+ db_set "$1" "$2"
1700+ db_fset "$1" seen true
1701+ fi
1702+}
1703+
1704+# source dbconfig-common shell library, and call the hook function
1705+if [ -f /usr/share/dbconfig-common/dpkg/config.pgsql ]; then
1706+ . /usr/share/dbconfig-common/dpkg/config.pgsql
1707+fi
1708+
1709+if ([ "$1" = "configure" ] && [ -z "$2" ]); then
1710+ # Hide maas/dbconfig-install question by setting default.
1711+ set_question maas-region-controller/dbconfig-install true
1712+ set_question maas-region-controller/pgsql/app-pass ""
1713+
1714+ dbc_dbname="maasdb"
1715+ dbc_dbuser="maas"
1716+ dbc_remove="true"
1717+
1718+ dbc_go maas-region-controller $@
1719+
1720+elif [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
1721+ db_get maas/default-maas-url || true
1722+ if [ -n "$RET" ]; then
1723+ db_set maas/default-maas-url "$RET"
1724+ else
1725+ ipaddr=$(awk '$1 == "DEFAULT_MAAS_URL" { split($0,array,"/")} END{print array[3] }' /etc/maas/maas_local_settings.py)
1726+ db_set maas/default-maas-url "$ipaddr"
1727+ fi
1728+ db_input low maas/default-maas-url || true
1729+ db_go
1730+fi
1731
1732=== added file 'debian/maas-region-controller.dirs'
1733--- debian/maas-region-controller.dirs 1970-01-01 00:00:00 +0000
1734+++ debian/maas-region-controller.dirs 2012-11-13 12:12:21 +0000
1735@@ -0,0 +1,2 @@
1736+var/log/maas/oops
1737+var/lib/maas/tftp
1738
1739=== added file 'debian/maas-region-controller.install'
1740--- debian/maas-region-controller.install 1970-01-01 00:00:00 +0000
1741+++ debian/maas-region-controller.install 2012-11-13 12:12:21 +0000
1742@@ -0,0 +1,33 @@
1743+# Install project
1744+debian/tmp/usr/lib/python*/dist-packages/maas usr/share/maas
1745+
1746+# Install static files
1747+debian/tmp/usr/share/maas/web/static
1748+
1749+# Install Apache Config
1750+debian/tmp/etc/maas/maas-http.conf
1751+
1752+# Install MAAS local settings
1753+debian/tmp/etc/maas/maas_local_settings.py
1754+
1755+# Install celery config file
1756+debian/tmp/usr/share/maas/celeryconfig.py
1757+
1758+# Install local celery region config file
1759+debian/tmp/etc/maas/maas_local_celeryconfig.py
1760+
1761+# Install WSGI
1762+debian/tmp/usr/share/maas/wsgi.py
1763+
1764+# Install txlongpoll config file
1765+debian/tmp/etc/maas/txlongpoll.yaml
1766+
1767+# Install new preseed files
1768+debian/tmp/usr/share/maas/preseeds
1769+
1770+# Install all other stuff
1771+debian/extras/maas usr/sbin
1772+debian/extras/maas-region-celeryd usr/sbin
1773+debian/extras/20-maas.conf etc/rsyslog.d
1774+debian/extras/maas_remote_syslog_compress etc/cron.d
1775+debian/extras/99-maas usr/share/maas/conf
1776
1777=== added file 'debian/maas-region-controller.links'
1778--- debian/maas-region-controller.links 1970-01-01 00:00:00 +0000
1779+++ debian/maas-region-controller.links 2012-11-13 12:12:21 +0000
1780@@ -0,0 +1,2 @@
1781+etc/maas/maas_local_settings.py usr/share/maas/maas_local_settings.py
1782+etc/maas/maas_local_celeryconfig.py usr/share/maas/maas_local_celeryconfig.py
1783
1784=== added file 'debian/maas-region-controller.lintian-overrides'
1785--- debian/maas-region-controller.lintian-overrides 1970-01-01 00:00:00 +0000
1786+++ debian/maas-region-controller.lintian-overrides 2012-11-13 12:12:21 +0000
1787@@ -0,0 +1,7 @@
1788+maas-region-controller: embedded-javascript-library usr/share/maas/web/static/jslibs/yui/3.4.1/build/yui/yui-min.js
1789+maas-region-controller: extra-license-file usr/share/maas/web/static/jslibs/yui/3.4.1/docs/assets/panel/vendor/prettify/COPYING
1790+maas-region-controller: extra-license-file usr/share/maas/web/static/jslibs/yui/3.4.1/docs/assets/vendor/prettify/COPYING
1791+maas-region-controller: script-not-executable usr/share/maas/web/static/jslibs/yui/3.4.1/tests/loader/tests/server/server.js
1792+maas-region-controller: unusual-interpreter usr/share/maas/web/static/jslibs/yui/3.4.1/tests/loader/tests/server/server.js #!node
1793+maas-region-controller: postinst-uses-db-input
1794+maas-region-controller: binary-without-manpage usr/bin/maas
1795
1796=== added file 'debian/maas-region-controller.logrotate'
1797--- debian/maas-region-controller.logrotate 1970-01-01 00:00:00 +0000
1798+++ debian/maas-region-controller.logrotate 2012-11-13 12:12:21 +0000
1799@@ -0,0 +1,18 @@
1800+/var/log/maas/maas.log {
1801+ rotate 5
1802+ weekly
1803+ compress
1804+ copytruncate
1805+ missingok
1806+ #create 620 root www-data
1807+}
1808+
1809+/var/log/maas/txlongpoll.log {
1810+ rotate 5
1811+ weekly
1812+ compress
1813+ missingok
1814+ postrotate
1815+ [ -r /var/run/maas-txlongpoll.pid ] && kill -s USR2 $(cat /var/run/maas-txlongpoll.pid) || true
1816+ endscript
1817+}
1818
1819=== added file 'debian/maas-region-controller.maas-region-celery.upstart'
1820--- debian/maas-region-controller.maas-region-celery.upstart 1970-01-01 00:00:00 +0000
1821+++ debian/maas-region-controller.maas-region-celery.upstart 2012-11-13 12:12:21 +0000
1822@@ -0,0 +1,26 @@
1823+# maas-celery - celery daemon for the region controller
1824+#
1825+# MAAS Region Controller Celery Daemon
1826+
1827+description "MAAS"
1828+author "Raphael Badin <raphael.badin@canonical.com>"
1829+
1830+start on filesystem and net-device-up and rabbitmq-server-running
1831+stop on runlevel [016]
1832+
1833+respawn
1834+
1835+env workers_user="maas_workers"
1836+env workers_pass=""
1837+env workers_vhost="/maas_workers"
1838+
1839+pre-start script
1840+ if ! /usr/sbin/rabbitmqctl list_user_permissions $workers_user 1>/dev/null 2>&1; then
1841+ workers_pass=`grep "maas_workers" /etc/maas/maas_local_celeryconfig.py | cut -d':' -f3 | cut -d'@' -f1`
1842+ /usr/sbin/rabbitmqctl add_user "$workers_user" "$workers_pass"
1843+ /usr/sbin/rabbitmqctl add_vhost "$workers_vhost"
1844+ /usr/sbin/rabbitmqctl set_permissions -p "$workers_vhost" "$workers_user" ".*" ".*" ".*"
1845+ fi
1846+end script
1847+
1848+exec /usr/sbin/maas-region-celeryd --logfile=/var/log/maas/celery-region.log --schedule=/var/lib/maas/celerybeat-region-schedule --user=maas --group=maas
1849
1850=== added file 'debian/maas-region-controller.maas-txlongpoll.upstart'
1851--- debian/maas-region-controller.maas-txlongpoll.upstart 1970-01-01 00:00:00 +0000
1852+++ debian/maas-region-controller.maas-txlongpoll.upstart 2012-11-13 12:12:21 +0000
1853@@ -0,0 +1,27 @@
1854+# maas - txlongpoll service
1855+#
1856+# MAAS Provisioning Service txlongpoll
1857+
1858+description "MAAS txlongpoll"
1859+author "Andres Rodriguez <andres.rodriguez@canonical.com>"
1860+
1861+start on filesystem and net-device-up and rabbitmq-server-running
1862+stop on runlevel [016]
1863+
1864+respawn
1865+
1866+env longpoll_user="maas_longpoll"
1867+env longpoll_pass=""
1868+env longpoll_vhost="/maas_longpoll"
1869+
1870+pre-start script
1871+ if ! /usr/sbin/rabbitmqctl list_user_permissions $longpoll_user 1>/dev/null 2>&1; then
1872+ longpoll_pass=`/bin/grep "password" /etc/maas/txlongpoll.yaml | cut -d'"' -f2`
1873+ /usr/sbin/rabbitmqctl add_user "$longpoll_user" "$longpoll_pass"
1874+ /usr/sbin/rabbitmqctl add_vhost "$longpoll_vhost"
1875+ /usr/sbin/rabbitmqctl set_permissions -p "$longpoll_vhost" "$longpoll_user" ".*" ".*" ".*"
1876+ fi
1877+end script
1878+
1879+# To add options to your daemon, edit the line below:
1880+exec /usr/bin/twistd -n --uid=maas --gid=maas --pidfile=/run/maas-txlongpoll.pid --logfile=/dev/null txlongpoll --config-file=/etc/maas/txlongpoll.yaml
1881
1882=== added file 'debian/maas-region-controller.postinst'
1883--- debian/maas-region-controller.postinst 1970-01-01 00:00:00 +0000
1884+++ debian/maas-region-controller.postinst 2012-11-13 12:12:21 +0000
1885@@ -0,0 +1,295 @@
1886+#!/bin/sh -e
1887+
1888+. /usr/share/debconf/confmodule
1889+db_version 2.0
1890+
1891+if [ -f /usr/share/dbconfig-common/dpkg/postinst.pgsql ]; then
1892+ . /usr/share/dbconfig-common/dpkg/postinst.pgsql
1893+fi
1894+
1895+maas_sync_migrate_db(){
1896+ maas syncdb --noinput
1897+ maas migrate maasserver --noinput
1898+ maas migrate metadataserver --noinput
1899+}
1900+
1901+restart_apache2(){
1902+ if [ -x /usr/sbin/invoke-rc.d ]; then
1903+ invoke-rc.d apache2 restart || true
1904+ else
1905+ /etc/init.d/apache2 restart || true
1906+ fi
1907+}
1908+
1909+restart_rabbitmq(){
1910+ if [ -x /usr/sbin/invoke-rc.d ]; then
1911+ invoke-rc.d rabbitmq-server restart || true
1912+ else
1913+ /etc/init.d/rabbitmq-server restart || true
1914+ fi
1915+}
1916+
1917+restart_postgresql(){
1918+ if [ -x /usr/sbin/invoke-rc.d ]; then
1919+ invoke-rc.d --force postgresql restart || true
1920+ else
1921+ /etc/init.d/postgresql restart || true
1922+ fi
1923+}
1924+
1925+restart_squid_deb_proxy() {
1926+ if [ -x /usr/sbin/invoke-rc.d ]; then
1927+ invoke-rc.d squid-deb-proxy restart || true
1928+ else
1929+ /etc/init.d/squid-deb-proxy restart || true
1930+ fi
1931+}
1932+
1933+configure_maas_txlongpoll_rabbitmq_user() {
1934+ local longpoll_user="maas_longpoll"
1935+ local longpoll_pass=
1936+ local longpoll_vhost="/maas_longpoll"
1937+ longpoll_pass="$(pwgen -s 20)"
1938+ if [ -x /usr/sbin/rabbitmqctl ]; then
1939+ if ! rabbitmqctl list_users | grep -qs "$longpoll_user"; then
1940+ rabbitmqctl add_user "$longpoll_user" "$longpoll_pass" || true
1941+ rabbitmqctl add_vhost "$longpoll_vhost" || true
1942+ rabbitmqctl set_permissions -p "$longpoll_vhost" "$longpoll_user" ".*" ".*" ".*" || true
1943+ else
1944+ rabbitmqctl change_password "$longpoll_user" "$longpoll_pass" || true
1945+ fi
1946+ fi
1947+
1948+ if grep -qs "^\ \{1,\}password: \"[a-zA-Z0-9]\{0,\}\"$" /etc/maas/txlongpoll.yaml; then
1949+ sed -i "s/^\ \{1,\}password: \"[a-zA-Z0-9]\{0,\}\"$/ password: \""$longpoll_pass"\"/" \
1950+ /etc/maas/txlongpoll.yaml
1951+ fi
1952+ if grep -qs "^RABBITMQ_PASSWORD\ \= '[a-zA-Z0-9]\{0,\}'$" /etc/maas/maas_local_settings.py; then
1953+ sed -i "s/^RABBITMQ_PASSWORD\ \= '[a-zA-Z0-9]\{0,\}'$/RABBITMQ_PASSWORD = '"$longpoll_pass"'/" \
1954+ /etc/maas/maas_local_settings.py
1955+ fi
1956+}
1957+
1958+configure_maas_workers_rabbitmq_user() {
1959+ local workers_user="maas_workers"
1960+ local workers_pass="$(pwgen -s 20)"
1961+ local workers_vhost="/maas_workers"
1962+ local amqp_host="$1"
1963+ if [ -z "$amqp_host" ]; then
1964+ amqp_host="localhost"
1965+ fi
1966+ local amqp_port="5672"
1967+ if [ -x /usr/sbin/rabbitmqctl ]; then
1968+ if ! rabbitmqctl list_users | grep -qs "$workers_user"; then
1969+ rabbitmqctl add_user "$workers_user" "$workers_pass" || true
1970+ rabbitmqctl add_vhost "$workers_vhost" || true
1971+ rabbitmqctl set_permissions -p "$workers_vhost" "$workers_user" ".*" ".*" ".*" || true
1972+ else
1973+ rabbitmqctl change_password "$workers_user" "$workers_pass" || true
1974+ fi
1975+ fi
1976+
1977+ if grep -qs "^BROKER_URL\ \= '.*'$" /etc/maas/maas_local_celeryconfig.py; then
1978+ local broker_url="amqp://$workers_user:$workers_pass@$amqp_host:$amqp_port/$workers_vhost"
1979+ sed -i "s|^BROKER_URL\ \= '.*'$|BROKER_URL = '"$broker_url"'|" \
1980+ /etc/maas/maas_local_celeryconfig.py
1981+ fi
1982+}
1983+
1984+configure_maas_database() {
1985+ local dbc_dbpass="$1"
1986+ if grep -qs "^\ \{1,\} 'PASSWORD': '[a-zA-Z0-9]\{0,\}',$" /etc/maas/maas_local_settings.py; then
1987+ sed -i "s/^\ \{1,\} 'PASSWORD': '[a-zA-Z0-9]\{0,\}',$/ 'PASSWORD': '"$dbc_dbpass"',/" \
1988+ /etc/maas/maas_local_settings.py
1989+ fi
1990+}
1991+
1992+configure_maas_default_url() {
1993+ local ipaddr="$1"
1994+
1995+ if grep -qs "^DEFAULT_MAAS_URL\ \= \"[a-zA-Z0-9:/.]\{0,\}\"$" /etc/maas/maas_local_settings.py; then
1996+ sed -i "s/^DEFAULT_MAAS_URL\ \= \"[a-zA-Z0-9:/.]\{0,\}\"$/DEFAULT_MAAS_URL = \"http:\/\/"$ipaddr"\/MAAS\"/" \
1997+ /etc/maas/maas_local_settings.py
1998+ fi
1999+}
2000+
2001+configure_maas_squid_deb_proxy() {
2002+ local ipaddr="$1"
2003+
2004+ if [ -e /usr/share/maas/conf/99-maas -a \
2005+ ! -L /etc/squid-deb-proxy/mirror-dstdomain.acl.d/99-maas ]; then
2006+ ln -sf /usr/share/maas/conf/99-maas \
2007+ /etc/squid-deb-proxy/mirror-dstdomain.acl.d/99-maas
2008+ fi
2009+
2010+ sed -i "s/\(^[a-zA-Z0-9\.\-].*\) # maasurl$/$ipaddr # maasurl/" \
2011+ /usr/share/maas/conf/99-maas
2012+}
2013+
2014+if [ "$1" = "configure" ] && [ -z "$2" ]; then
2015+ #########################################################
2016+ ################ Folder Permissions ####################
2017+ #########################################################
2018+ mkdir -p /var/lib/maas/media/storage
2019+ chown -R maas:maas /var/lib/maas/
2020+
2021+ # Config will contain credentials, so should be readable
2022+ # by the application but nobody else.
2023+ chown root:maas \
2024+ /etc/maas/maas_local_celeryconfig.py \
2025+ /etc/maas/maas_local_settings.py
2026+ chmod 0640 \
2027+ /etc/maas/maas_local_celeryconfig.py \
2028+ /etc/maas/maas_local_settings.py
2029+
2030+ #########################################################
2031+ ################ Configure Apache2 ####################
2032+ #########################################################
2033+ # handle apache configs
2034+ if [ -e /etc/maas/maas-http.conf -a \
2035+ ! -e /etc/apache2/conf.d/maas-http.conf ]; then
2036+ ln -sf /etc/maas/maas-http.conf /etc/apache2/conf.d/maas-http.conf
2037+ fi
2038+
2039+ # enable apache modules needed
2040+ a2enmod proxy_http
2041+ a2enmod expires
2042+ a2enmod wsgi
2043+
2044+ #########################################################
2045+ ########## Configure DEFAULT_MAAS_URL #################
2046+ #########################################################
2047+
2048+ # Obtain IP address of default route and change DEFAULT_MAAS_URL.
2049+ while read Iface Destination Gateway Flags RefCnt Use Metric Mask MTU Window IRTT; do
2050+ [ "$Mask" = "00000000" ] && break
2051+ done < /proc/net/route
2052+ interface="$Iface"
2053+ ipaddr=$(LC_ALL=C /sbin/ip -4 addr list dev "$interface" scope global)
2054+ ipaddr=${ipaddr#* inet }
2055+ ipaddr=${ipaddr%%/*}
2056+ # Set the IP address of the interface with default route
2057+ if [ -n "$ipaddr" ]; then
2058+ configure_maas_default_url "$ipaddr"
2059+ configure_maas_squid_deb_proxy "$ipaddr"
2060+ db_subst maas/installation-note MAAS_URL "$ipaddr"
2061+ db_set maas/default-maas-url "$ipaddr"
2062+ fi
2063+
2064+ #########################################################
2065+ ################ Configure Logging ####################
2066+ #########################################################
2067+
2068+ # Give appropriate permissions
2069+ if [ ! -f /var/log/maas/maas.log ]; then
2070+ touch /var/log/maas/maas.log
2071+ fi
2072+ chown -R maas:maas /var/log/maas
2073+ chmod -R 775 /var/log/maas/oops
2074+
2075+ # Create log directory base
2076+ mkdir -p /var/log/maas/rsyslog
2077+ chown -R syslog:syslog /var/log/maas/rsyslog
2078+ # Make sure rsyslog reads our config
2079+ if [ -x /usr/sbin/invoke-rc.d ]; then
2080+ invoke-rc.d rsyslog restart
2081+ fi
2082+
2083+ #########################################################
2084+ ################### Squid-deb-proxy ####################
2085+ #########################################################
2086+ # Make sure squid-deb-proxy reads our config (99-maas)
2087+ if [ -x /usr/sbin/invoke-rc.d ]; then
2088+ invoke-rc.d squid-deb-proxy restart
2089+ fi
2090+
2091+ #########################################################
2092+ ########## Configure longpoll rabbitmq config ###########
2093+ #########################################################
2094+
2095+ # Handle longpoll/rabbitmq publishing
2096+ restart_rabbitmq
2097+ configure_maas_txlongpoll_rabbitmq_user
2098+
2099+ #########################################################
2100+ ########## Configure worker rabbitmq config ###########
2101+ #########################################################
2102+
2103+ # Handle celery/rabbitmq publishing
2104+ configure_maas_workers_rabbitmq_user "$ipaddr"
2105+
2106+ #########################################################
2107+ ################ Configure Database ###################
2108+ #########################################################
2109+
2110+ # Need to for postgresql start so it doesn't fail on the installer
2111+ restart_postgresql
2112+
2113+ # Create the database
2114+ dbc_go maas-region-controller $@
2115+ configure_maas_database "$dbc_dbpass"
2116+
2117+ # Only syncdb if we have selected to install it with dbconfig-common.
2118+ db_get maas-region-controller/dbconfig-install
2119+ if [ "$RET" = "true" ]; then
2120+ maas_sync_migrate_db
2121+ fi
2122+
2123+ # Display installation note
2124+ db_input high maas/installation-note || true
2125+ db_go
2126+
2127+elif [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
2128+ # Set the IP address of the interface with default route
2129+ db_get maas/default-maas-url
2130+ ipaddr="$RET"
2131+ db_set maas/default-maas-url "$ipaddr"
2132+ if [ -n "$ipaddr" ]; then
2133+ configure_maas_default_url "$ipaddr"
2134+ configure_maas_squid_deb_proxy "$ipaddr"
2135+ configure_maas_workers_rabbitmq_user "$ipaddr"
2136+ fi
2137+
2138+elif [ "$1" = "configure" ] && dpkg --compare-versions "$2" gt 0.1+bzr266+dfsg-0ubuntu1; then
2139+ # If upgrading to any later package version, then upgrade db.
2140+ if [ -x /usr/sbin/invoke-rc.d ]; then
2141+ invoke-rc.d apache2 stop || true
2142+ fi
2143+
2144+ # make sure postgresql is running
2145+ restart_postgresql
2146+
2147+ # we need to regenerate the passwords and update configs.
2148+ db_get maas/default-maas-url
2149+ ipaddr="$RET"
2150+ configure_maas_default_url "$ipaddr"
2151+ configure_maas_squid_deb_proxy "$ipaddr"
2152+ # make sure rabbitmq is running
2153+ restart_rabbitmq
2154+ configure_maas_txlongpoll_rabbitmq_user
2155+ # Handle celery/rabbitmq publishing
2156+ configure_maas_workers_rabbitmq_user "$ipaddr"
2157+ # handle database upgrade
2158+ if [ -f /etc/dbconfig-common/maas-region-controller.conf ]; then
2159+ # source dbconfig-common db config for maas-region-controller
2160+ # before upgrading database, otherwise a new config is written
2161+ # but the password is no longer preserved.
2162+ . /etc/dbconfig-common/maas-region-controller.conf
2163+ else
2164+ dbc_go maas-region-controller $@
2165+ fi
2166+ configure_maas_database "$dbc_dbpass"
2167+
2168+ maas_sync_migrate_db
2169+
2170+fi
2171+
2172+restart_apache2
2173+
2174+restart_squid_deb_proxy
2175+
2176+db_stop
2177+
2178+#DEBHELPER#
2179+
2180+exit 0
2181
2182=== added file 'debian/maas-region-controller.postrm'
2183--- debian/maas-region-controller.postrm 1970-01-01 00:00:00 +0000
2184+++ debian/maas-region-controller.postrm 2012-11-13 12:12:21 +0000
2185@@ -0,0 +1,52 @@
2186+#!/bin/sh
2187+
2188+set -e
2189+
2190+. /usr/share/debconf/confmodule
2191+
2192+if [ -f /etc/dbconfig-common/maas.conf ]; then
2193+ if [ -f /usr/share/dbconfig-common/dpkg/postrm ]; then
2194+ . /usr/share/dbconfig-common/dpkg/postrm.pgsql
2195+ dbc_go maas-region-controller $@
2196+ fi
2197+fi
2198+
2199+case "$1" in
2200+ purge)
2201+ rm -rf /var/log/maas
2202+ rm -rf /var/lib/maas
2203+ if [ -h /etc/apache2/conf.d/maas-http.conf ]; then
2204+ rm -rf /etc/apache2/conf.d/maas-http.conf
2205+ fi
2206+
2207+ # Restarting apache2
2208+ if [ -x /usr/sbin/invoke-rc.d ]; then
2209+ invoke-rc.d apache2 restart || true
2210+ else
2211+ /etc/init.d/apache2 restart || true
2212+ fi
2213+
2214+ # Delete symlink
2215+ if [ -L /etc/squid-deb-proxy/mirror-dstdomain.acl.d/99-maas ]; then
2216+ rm -rf /etc/squid-deb-proxy/mirror-dstdomain.acl.d/99-maas
2217+ fi
2218+
2219+ # Remove rabbitmq/longpoll/celery
2220+ longpoll_user="maas_longpoll"
2221+ longpoll_vhost="/maas_longpoll"
2222+ workers_user="maas_workers"
2223+ workers_vhost="/maas_workers"
2224+ if [ -x /usr/sbin/rabbitmqctl ]; then
2225+ rabbitmqctl delete_vhost "$longpoll_vhost" || true
2226+ rabbitmqctl delete_user "$longpoll_user" || true
2227+
2228+ rabbitmqctl delete_vhost "$workers_vhost" || true
2229+ rabbitmqctl delete_user "$workers_user" || true
2230+ fi
2231+esac
2232+
2233+#DEBHELPER#
2234+
2235+db_stop
2236+
2237+exit 0
2238
2239=== added file 'debian/maas-region-controller.prerm'
2240--- debian/maas-region-controller.prerm 1970-01-01 00:00:00 +0000
2241+++ debian/maas-region-controller.prerm 2012-11-13 12:12:21 +0000
2242@@ -0,0 +1,18 @@
2243+#!/bin/sh
2244+
2245+set -e
2246+
2247+. /usr/share/debconf/confmodule
2248+
2249+#DEBHELPER#
2250+
2251+if [ -x /usr/sbin/invoke-rc.d ]; then
2252+ invoke-rc.d apache2 stop || true
2253+else
2254+ /etc/init.d/apache2 stop || true
2255+fi
2256+
2257+. /usr/share/dbconfig-common/dpkg/prerm.pgsql
2258+dbc_go maas-region-controller $@
2259+
2260+exit 0
2261
2262=== added file 'debian/maas-region-controller.templates'
2263--- debian/maas-region-controller.templates 1970-01-01 00:00:00 +0000
2264+++ debian/maas-region-controller.templates 2012-11-13 12:12:21 +0000
2265@@ -0,0 +1,22 @@
2266+Template: maas/installation-note
2267+Type: note
2268+Default: true
2269+_Description: Ubuntu MAAS Server
2270+ The Ubuntu MAAS Server has been installed in your system. You
2271+ can access the MAAS Web interface here:
2272+ .
2273+ http://${MAAS_URL}/MAAS
2274+ .
2275+ If the automatically detected address above is not in the same
2276+ network as the MAAS clients, you need to reconfigure it:
2277+ .
2278+ sudo dpkg-reconfigure maas-region-controller
2279+
2280+Template: maas/default-maas-url
2281+Type: string
2282+_Description: Ubuntu MAAS PXE/Provisioning network address:
2283+ The Ubuntu MAAS Server automatically detects the IP address
2284+ that is used for PXE and provisioning. However, it needs to be
2285+ in the same network as the clients. If the automatically
2286+ detected address is not in the same network as the clients, it
2287+ must be changed.
2288
2289=== added file 'debian/maintscript'
2290--- debian/maintscript 1970-01-01 00:00:00 +0000
2291+++ debian/maintscript 2012-11-13 12:12:21 +0000
2292@@ -0,0 +1,2 @@
2293+rm_conffile /etc/init/maas-celery.conf 0.1+bzr971+dfsg-0ubuntu2
2294+rm_conffile /etc/dbconfig-common/maas.conf 0.1+bzr971+dfsg-0ubuntu2
2295
2296=== added directory 'debian/patches'
2297=== added file 'debian/patches/01-fix-database-settings.patch'
2298--- debian/patches/01-fix-database-settings.patch 1970-01-01 00:00:00 +0000
2299+++ debian/patches/01-fix-database-settings.patch 2012-11-13 12:12:21 +0000
2300@@ -0,0 +1,26 @@
2301+Index: maas-0.1+bzr702+dfsg.orig/contrib/maas_local_settings.py
2302+===================================================================
2303+--- maas-0.1+bzr702+dfsg.orig.orig/contrib/maas_local_settings.py 2012-06-29 12:03:20.000000000 -0400
2304++++ maas-0.1+bzr702+dfsg.orig/contrib/maas_local_settings.py 2012-06-29 12:17:00.733389757 -0400
2305+@@ -7,7 +7,7 @@
2306+ DEFAULT_MAAS_URL = "http://maas.internal.example.com/"
2307+
2308+ # Absolute path to the directory static files should be collected to.
2309+-STATIC_ROOT = '/var/lib/maas/static/'
2310++STATIC_ROOT = '/usr/share/maas/web/static/'
2311+
2312+ # Prefix to use for MAAS's urls.
2313+ # If FORCE_SCRIPT_NAME is None (the default), all the urls will start with
2314+@@ -68,9 +68,9 @@
2315+ 'default': {
2316+ # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' etc.
2317+ 'ENGINE': 'django.db.backends.postgresql_psycopg2',
2318+- 'NAME': '',
2319+- 'USER': '',
2320+- 'PASSWORD': '',
2321++ 'NAME': 'maasdb',
2322++ 'USER': 'maas',
2323++ 'PASSWORD': 'maas',
2324+ 'HOST': 'localhost',
2325+ }
2326+ }
2327
2328=== added file 'debian/patches/02-pserv-config.patch'
2329--- debian/patches/02-pserv-config.patch 1970-01-01 00:00:00 +0000
2330+++ debian/patches/02-pserv-config.patch 2012-11-13 12:12:21 +0000
2331@@ -0,0 +1,38 @@
2332+Description: Use default settings for MAAS PSERV
2333+ Use default settings for MAAS pserv. These default settings
2334+ include port, logfile, oops directory, cobbler url and username
2335+Author: Andres Rodriguez <andreserl@ubuntu.com>
2336+
2337+Index: maas-0.1+bzr917+dfsg.orig/etc/pserv.yaml
2338+===================================================================
2339+--- maas-0.1+bzr917+dfsg.orig.orig/etc/pserv.yaml 2012-08-23 16:22:46.483599114 -0400
2340++++ maas-0.1+bzr917+dfsg.orig/etc/pserv.yaml 2012-08-23 16:22:56.579599373 -0400
2341+@@ -6,7 +6,7 @@
2342+ ## running server.
2343+ #
2344+ # logfile: "pserv.log"
2345+-logfile: "/dev/null"
2346++logfile: "/var/log/maas/pserv.log"
2347+
2348+ ## OOPS configuration (optional).
2349+ #
2350+@@ -15,7 +15,7 @@
2351+ # or directories other than what the oops machinery creates there.
2352+ #
2353+ # directory:
2354+- directory: "logs/oops"
2355++ directory: "/var/log/maas/oops"
2356+ # reporter:
2357+ reporter: "maas-pserv"
2358+
2359+@@ -33,10 +33,8 @@
2360+ tftp:
2361+ # root: /var/lib/maas/tftp
2362+ # port: 69
2363+- port: 5244
2364+ ## The URL to be contacted to generate PXE configurations.
2365+ # generator: http://localhost/MAAS/api/1.0/pxeconfig/
2366+- generator: http://localhost:5243/api/1.0/pxeconfig/
2367+
2368+ ## Boot configuration.
2369+ boot:
2370
2371=== added file 'debian/patches/03-txlongpoll-config.patch'
2372--- debian/patches/03-txlongpoll-config.patch 1970-01-01 00:00:00 +0000
2373+++ debian/patches/03-txlongpoll-config.patch 2012-11-13 12:12:21 +0000
2374@@ -0,0 +1,39 @@
2375+Description: Use default settings for MAAS txlongpoll
2376+ Use default settings for MAAS txlongpoll. These default settings
2377+ include oops directory, Message broker configuration, logfile.
2378+Author: Andres Rodriguez <andreserl@ubuntu.com>
2379+
2380+Index: maas-0.1+bzr398+dfsg.orig/etc/txlongpoll.yaml
2381+===================================================================
2382+--- maas-0.1+bzr398+dfsg.orig.orig/etc/txlongpoll.yaml 2012-04-03 09:49:48.109427702 -0400
2383++++ maas-0.1+bzr398+dfsg.orig/etc/txlongpoll.yaml 2012-04-03 09:53:07.276282800 -0400
2384+@@ -17,7 +17,7 @@
2385+ # or directories other than what the oops machinery creates there.
2386+ #
2387+ # directory: ""
2388+- directory: "logs/oops"
2389++ directory: "/var/log/maas/oops"
2390+ ## The reporter used when generating OOPS reports.
2391+ # reporter: "LONGPOLL"
2392+ reporter: "maas-txlongpoll"
2393+@@ -25,14 +25,14 @@
2394+ ## Message broker configuration.
2395+ #
2396+ broker:
2397+- # host: "localhost"
2398+- # port: 5672
2399+- # username: "guest"
2400+- # password: "guest"
2401+- # vhost: "/"
2402++ host: "localhost"
2403++ port: 5672
2404++ username: "maas_longpoll"
2405++ password: "maaslongpoll"
2406++ vhost: "/maas_longpoll"
2407+
2408+ ## Where to log. This log can be rotated by sending SIGUSR1 to the
2409+ ## running server.
2410+ #
2411+ # logfile: "txlongpoll.log"
2412+-logfile: "/dev/null"
2413++logfile: "/var/log/maas/txlongpoll.log"
2414
2415=== added file 'debian/patches/series'
2416--- debian/patches/series 1970-01-01 00:00:00 +0000
2417+++ debian/patches/series 2012-11-13 12:12:21 +0000
2418@@ -0,0 +1,3 @@
2419+01-fix-database-settings.patch
2420+02-pserv-config.patch
2421+03-txlongpoll-config.patch
2422
2423=== added directory 'debian/po'
2424=== added file 'debian/po/POTFILES.in'
2425--- debian/po/POTFILES.in 1970-01-01 00:00:00 +0000
2426+++ debian/po/POTFILES.in 2012-11-13 12:12:21 +0000
2427@@ -0,0 +1,2 @@
2428+[type: gettext/rfc822deb] maas-region-controller.templates
2429+[type: gettext/rfc822deb] maas-cluster-controller.templates
2430
2431=== added file 'debian/po/templates.pot'
2432--- debian/po/templates.pot 1970-01-01 00:00:00 +0000
2433+++ debian/po/templates.pot 2012-11-13 12:12:21 +0000
2434@@ -0,0 +1,82 @@
2435+# SOME DESCRIPTIVE TITLE.
2436+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
2437+# This file is distributed under the same license as the PACKAGE package.
2438+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
2439+#
2440+#, fuzzy
2441+msgid ""
2442+msgstr ""
2443+"Project-Id-Version: maas\n"
2444+"Report-Msgid-Bugs-To: maas@packages.debian.org\n"
2445+"POT-Creation-Date: 2012-10-04 13:40-0400\n"
2446+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
2447+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
2448+"Language-Team: LANGUAGE <LL@li.org>\n"
2449+"Language: \n"
2450+"MIME-Version: 1.0\n"
2451+"Content-Type: text/plain; charset=CHARSET\n"
2452+"Content-Transfer-Encoding: 8bit\n"
2453+
2454+#. Type: note
2455+#. Description
2456+#: ../maas-region-controller.templates:1001
2457+msgid "Ubuntu MAAS Server"
2458+msgstr ""
2459+
2460+#. Type: note
2461+#. Description
2462+#: ../maas-region-controller.templates:1001
2463+msgid ""
2464+"The Ubuntu MAAS Server has been installed in your system. You can access the "
2465+"MAAS Web interface here:"
2466+msgstr ""
2467+
2468+#. Type: note
2469+#. Description
2470+#: ../maas-region-controller.templates:1001
2471+msgid " http://${MAAS_URL}/MAAS"
2472+msgstr ""
2473+
2474+#. Type: note
2475+#. Description
2476+#: ../maas-region-controller.templates:1001
2477+msgid ""
2478+"If the automatically detected address above is not in the same network as "
2479+"the MAAS clients, you need to reconfigure it:"
2480+msgstr ""
2481+
2482+#. Type: note
2483+#. Description
2484+#: ../maas-region-controller.templates:1001
2485+msgid " sudo dpkg-reconfigure maas-region-controller"
2486+msgstr ""
2487+
2488+#. Type: string
2489+#. Description
2490+#: ../maas-region-controller.templates:2001
2491+msgid "Ubuntu MAAS PXE/Provisioning network address:"
2492+msgstr ""
2493+
2494+#. Type: string
2495+#. Description
2496+#: ../maas-region-controller.templates:2001
2497+msgid ""
2498+"The Ubuntu MAAS Server automatically detects the IP address that is used for "
2499+"PXE and provisioning. However, it needs to be in the same network as the "
2500+"clients. If the automatically detected address is not in the same network as "
2501+"the clients, it must be changed."
2502+msgstr ""
2503+
2504+#. Type: string
2505+#. Description
2506+#: ../maas-cluster-controller.templates:1001
2507+msgid "Ubuntu MAAS API address:"
2508+msgstr ""
2509+
2510+#. Type: string
2511+#. Description
2512+#: ../maas-cluster-controller.templates:1001
2513+msgid ""
2514+"The MAAS Cluster Controller needs to contact the MAAS server to register its "
2515+"presence. Set the URL to the MAAS API here, e.g. http://192.168.1.1/MAAS"
2516+msgstr ""
2517
2518=== added file 'debian/python-django-maas.install'
2519--- debian/python-django-maas.install 1970-01-01 00:00:00 +0000
2520+++ debian/python-django-maas.install 2012-11-13 12:12:21 +0000
2521@@ -0,0 +1,2 @@
2522+debian/tmp/usr/lib/python*/dist-packages/maasserver
2523+debian/tmp/usr/lib/python*/dist-packages/metadataserver
2524
2525=== added file 'debian/python-maas-client.install'
2526--- debian/python-maas-client.install 1970-01-01 00:00:00 +0000
2527+++ debian/python-maas-client.install 2012-11-13 12:12:21 +0000
2528@@ -0,0 +1,1 @@
2529+debian/tmp/usr/lib/python*/dist-packages/apiclient
2530
2531=== added file 'debian/python-maas-provisioningserver.install'
2532--- debian/python-maas-provisioningserver.install 1970-01-01 00:00:00 +0000
2533+++ debian/python-maas-provisioningserver.install 2012-11-13 12:12:21 +0000
2534@@ -0,0 +1,4 @@
2535+debian/tmp/usr/lib/python*/dist-packages/provisioningserver
2536+
2537+# Install other stuff
2538+debian/extras/maas-provision usr/sbin
2539
2540=== added file 'debian/rules'
2541--- debian/rules 1970-01-01 00:00:00 +0000
2542+++ debian/rules 2012-11-13 12:12:21 +0000
2543@@ -0,0 +1,65 @@
2544+#!/usr/bin/make -f
2545+
2546+BUILDHOME = $(CURDIR)/debian/build
2547+PYTHON = $(shell pyversions -d)
2548+# Python enum modules.
2549+py_enums := $(wildcard src/*/enum.py)
2550+
2551+%:
2552+ dh $@ --with python2,apport --buildsystem=python_distutils
2553+
2554+override_dh_installinit:
2555+ dh_installinit --name maas-pserv
2556+ dh_installinit --name maas-txlongpoll
2557+ dh_installinit --name maas-region-celery
2558+ dh_installinit --name maas-cluster-celery
2559+ dh_installinit --name maas-dhcp-server
2560+
2561+override_dh_auto_build:
2562+ dh_auto_build
2563+
2564+ mkdir -p $(BUILDHOME)
2565+ HOME=$(BUILDHOME) PYTHONPATH=$(CURDIR)/src/ $(PYTHON) \
2566+ $(CURDIR)/src/maasserver/utils/jsenums.py \
2567+ $(py_enums) > $(BUILDHOME)/enums.js
2568+
2569+override_dh_auto_install:
2570+ dh_auto_install
2571+
2572+ # Move static files
2573+ install -d -m 755 $(CURDIR)/debian/tmp/usr/share/maas/web/static
2574+ mv $(CURDIR)/debian/tmp/usr/lib/python*/*-packages/maasserver/static \
2575+ $(CURDIR)/debian/tmp/usr/share/maas/web/
2576+
2577+ # Install built enums.js file.
2578+ cp $(BUILDHOME)/enums.js $(CURDIR)/debian/tmp/usr/share/maas/web/static/js/
2579+
2580+ # install the apparmor profile
2581+ install -d -m 755 $(CURDIR)/debian/tmp/etc/apparmor.d/dhcpd.d
2582+ install -m 644 $(CURDIR)/debian/maas-dhcp.apparmor \
2583+ $(CURDIR)/debian/tmp/etc/apparmor.d/dhcpd.d/maas
2584+
2585+ dh_install --list-missing
2586+
2587+override_dh_auto_clean:
2588+ dh_auto_clean
2589+ rm -rf $(BUILDHOME)
2590+ rm -rf src/*.egg-info
2591+
2592+DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST)))
2593+REV=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \
2594+ | sed -rne 's,^Version: .*[+~]bzr([0-9]+).*,\1,p')
2595+VER=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog \
2596+ | sed -rne 's,^Version: ([^-]+).*,\1,p')
2597+get-orig-source:
2598+ bzr export -r $(REV) --root=maas-$(VER).orig \
2599+ maas_$(VER).orig.tar.gz lp:maas/1.2
2600+ rm -rf maas-$(VER)
2601+ tar -xf maas_$(VER).orig.tar.gz
2602+ rm maas_$(VER).orig.tar.gz
2603+ rm -rf maas-$(VER).orig/src/maasserver/static/jslibs/
2604+ rm -rf maas-$(VER).orig/contrib/python-tx-tftp
2605+ GZIP=--best tar -cz --owner root --group root --mode a+rX \
2606+ -f maas_$(VER).orig.tar.gz \
2607+ maas-$(VER).orig
2608+ rm -r maas-$(VER).orig
2609
2610=== added directory 'debian/source'
2611=== added file 'debian/source/format'
2612--- debian/source/format 1970-01-01 00:00:00 +0000
2613+++ debian/source/format 2012-11-13 12:12:21 +0000
2614@@ -0,0 +1,1 @@
2615+3.0 (quilt)
2616
2617=== added directory 'debian/tests'
2618=== added file 'debian/tests/control'
2619--- debian/tests/control 1970-01-01 00:00:00 +0000
2620+++ debian/tests/control 2012-11-13 12:12:21 +0000
2621@@ -0,0 +1,2 @@
2622+Tests: maas-package-test
2623+Depends: @, python-nose, xvfb, python-pip
2624
2625=== added file 'debian/tests/maas-integration.py'
2626--- debian/tests/maas-integration.py 1970-01-01 00:00:00 +0000
2627+++ debian/tests/maas-integration.py 2012-11-13 12:12:21 +0000
2628@@ -0,0 +1,72 @@
2629+# TODO
2630+# - send ipmi commands to turn on/off nodes
2631+# - run import pxe files
2632+# - check node states once they're on/off
2633+# - check node state changes (declared -> commissionig -> ready)
2634+import os
2635+from subprocess import check_output
2636+import sys
2637+from unittest import TestCase
2638+
2639+from pyvirtualdisplay import Display
2640+from sst.actions import (
2641+ assert_url, assert_text_contains, assert_title_contains, click_button,
2642+ get_element, go_to, write_textfield)
2643+
2644+
2645+sys.path.insert(0, "/usr/share/maas")
2646+os.environ['DJANGO_SETTINGS_MODULE'] = 'maas.settings'
2647+from maasserver.models import User
2648+
2649+MAAS_URL = "http://10.98.0.13/MAAS"
2650+ADMIN_USER = "admin"
2651+PASSWORD = "test"
2652+
2653+
2654+class TestMAASIntegration(TestCase):
2655+
2656+ def setUp(self):
2657+ self.display = Display(visible=0, size=(1280, 1024))
2658+ self.display.start()
2659+
2660+ def tearDown(self):
2661+ self.display.stop()
2662+
2663+ def createadmin(self):
2664+ """Run sudo maas createsuperuser."""
2665+ cmd_output = check_output(
2666+ ["sudo", "maas", "createsuperuser", "--username=%s" % ADMIN_USER,
2667+ "--email=example@canonical.com", "--noinput"])
2668+ ## Set password for admin user.
2669+ try:
2670+ admin = User.objects.get(username=ADMIN_USER)
2671+ except User.DoesNotExist:
2672+ admin = User(username=ADMIN_USER)
2673+ admin.set_password(PASSWORD)
2674+ admin.save()
2675+ return cmd_output
2676+
2677+ def installation(self):
2678+ # Check the installation worked.
2679+ go_to(MAAS_URL)
2680+ assert_text_contains(
2681+ get_element(tag="body"), "No admin user has been created yet")
2682+
2683+ def createadmin_and_login(self):
2684+ ## Creates the admin user.
2685+ output = self.createadmin()
2686+ self.assertEqual(output, 'Superuser created successfully.')
2687+ ## Login with the newly created admin user
2688+ go_to(MAAS_URL)
2689+ assert_text_contains(
2690+ get_element(tag="body"), "Login to lenovo-RD230-01 MAAS")
2691+ write_textfield("id_username", ADMIN_USER)
2692+ write_textfield("id_password", PASSWORD)
2693+ click_button("Login")
2694+ assert_url("MAAS/")
2695+ assert_title_contains("Dashboard")
2696+
2697+ def test_integration(self):
2698+ # Run the integration tests in order.
2699+ self.installation()
2700+ self.createadmin_and_login()
2701
2702=== added file 'debian/tests/maas-package-test'
2703--- debian/tests/maas-package-test 1970-01-01 00:00:00 +0000
2704+++ debian/tests/maas-package-test 2012-11-13 12:12:21 +0000
2705@@ -0,0 +1,5 @@
2706+#!/bin/sh
2707+set -e -u
2708+exec 2>&1
2709+pip install sst
2710+nosetests debian/tests/maas-integration.py
2711
2712=== added file 'debian/watch'
2713--- debian/watch 1970-01-01 00:00:00 +0000
2714+++ debian/watch 2012-11-13 12:12:21 +0000
2715@@ -0,0 +1,2 @@
2716+version=3
2717+http://launchpad.net/maas/+download https://launchpad.net/maas/.*/maas-(.*).tar.*