Commit graph

188 commits

Author SHA1 Message Date
Anders Ingemann
411578a498 *Always* use link_dm_node() when install grub 1.99
Grub install fails when in a chrooted environment,
it has nothing to do with the volume being a loopback volume
2015-04-16 22:22:47 +02:00
Anders Ingemann
4ad1d51624 Take @ssgelm's advice in #155 and copy the mount table
df warnings no more :-)
2015-04-16 22:22:47 +02:00
Anders Ingemann
7f4d46a330 Fix serialization error when ManifestException is thrown
("__init__() takes at least 3 arguments (2 given)")
2015-04-16 22:22:46 +02:00
Anders Ingemann
07e4c97c09 Fix PEP8 nitpick 2015-04-16 22:22:26 +02:00
Anders Ingemann
ec96de3a0e fix log_call logging when command is a string 2015-04-16 22:21:46 +02:00
Anders Ingemann
d26ba8bea4 Simplify exception throwing in sed_i 2015-04-16 22:21:46 +02:00
Anders Ingemann
f63d3c73aa Use subn to count the actual replacements done in inline_replace() 2015-04-16 22:21:46 +02:00
Anders Ingemann
e9a3845281 Fix serialization of CalledProcessError 2015-04-16 22:21:45 +02:00
Anders Ingemann
75e70c96f7 Fix extlinux booting on jessie when /boot is on another partition 2015-04-16 22:21:45 +02:00
Anders Ingemann
a62ce1705a Remove the PartitionGap class, it's way too much of a hassle to work with
Instead pad_start and pad_end have been introduced
2015-04-16 22:21:44 +02:00
Anders Ingemann
05006f2d83 Allow using integers for more operations with Sectors 2015-04-16 22:21:44 +02:00
Anders Ingemann
016fef606f Account for PartitioGap in a few more places 2015-04-16 22:21:44 +02:00
Anders Ingemann
744001a9ab grub now works on jessie 2015-04-16 22:21:43 +02:00
Anders Ingemann
6b6b636f3b extlinux is now running on jessie 2015-04-16 22:21:43 +02:00
Anders Ingemann
f6e4903a8e Update the kernel image after package installation 2015-04-16 22:21:43 +02:00
Anders Ingemann
ac7e32d35e Preserve stacktraces when reraising exceptions 2015-04-16 22:21:43 +02:00
Anders Ingemann
149db4c989 Add new task: DeterminKernelVersion, this can potentially fix a lot of small problems 2015-04-16 22:21:43 +02:00
Anders Ingemann
f43e2480a5 Allow serialization of Sectors class 2015-04-16 22:21:42 +02:00
Anders Ingemann
b537f2d987 Remove __abs__ from bytes and sectors, one should convert to int instead 2015-04-16 22:21:42 +02:00
Anders Ingemann
7310129f4e Disable getty processes on jessie through logind config 2015-04-16 22:21:42 +02:00
Anders Ingemann
a476248ed6 Partition volumes by sectors instead of bytes
This allows for finer grained control over the partition sizes and gaps
2015-04-16 22:21:13 +02:00
Anders Ingemann
3ff1c57980 Don't require qemu for raw volumes, use truncate instead 2015-04-16 22:21:13 +02:00
Anders Ingemann
9a6975ce7d Add new Sectors unit, enhance Bytes unit, add unit tests for both 2015-04-16 22:21:12 +02:00
Anders Ingemann
7b77b484f2 Fix #179 2015-04-16 22:21:12 +02:00
Anders Ingemann
5823c9119b Split grub and extlinux installs into separate modules 2015-04-16 22:21:12 +02:00
Anders Ingemann
b6976eb6e9 Lowercase L for InstallExlinux taskname 2015-04-16 22:18:58 +02:00
Anders Ingemann
2aebc870a4 Fix extlinux config for squeeze 2015-04-16 22:18:57 +02:00
Anders Ingemann
58d66fea68 Make extlinux output boot messages to the serial console (fixes #136) 2015-04-16 22:18:57 +02:00
Anders Ingemann
200c5086e5 Extend sed_i to raise Exceptions when the expected amount of replacements is not met 2015-04-16 22:15:21 +02:00
Anders Ingemann
e9137ac172 Make serialization a lot more easy to handle 2015-04-16 22:15:20 +02:00
Anders Ingemann
2b6fefd789 Fix serialization of exceptions 2015-04-16 22:15:20 +02:00
Jonh Wendell
1290694f9a Add the manifest "include-source-type" key for packages object
It controls whether to include the 'deb-src' lines in image's
source.list.

Currently they are always included. This patch changes this
behavior by not including them by default; the user must set
this new config to true in order to include them.

This saves a bit of bandwidth in default installations. Also,
the use of src packages is not so usual in ordinary installations.
2015-03-03 19:39:58 -03:00
Anders Ingemann
31d61e778b Fix some more pep8 errors 2015-02-22 16:49:52 +01:00
Jonh Wendell
ea21dcfcec Don't boot quietly on extlinux (aws)
So that we are able to see the System Log through EC2 console
or command line tools.
2015-02-05 10:45:31 -02:00
Brian Mattern
4bd71a2dbe Blacklist floppy module to speed up boot by several seconds.
Add UpdateInitramfs task which is needed for this to take effect.
Enable both tasks for GCE.

Console output before
=====================
[    1.877142] sd 0:0:1:0: [sda] Attached SCSI disk
[    1.880163] sd 0:0:1:0: Attached scsi generic sg0 type 0
[    2.684132] tsc: Refined TSC clocksource calibration: 2500.000 MHz
[    4.824081] floppy0: no floppy controllers found
[    5.103671] work still pending
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
[    5.313107] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
...
[    7.751955] alg: No test for crc32 (crc32-pclmul)
[   10.728078] floppy0: no floppy controllers found
[   11.006680] work still pending
[....] Activating swap... done
[   11.258954] EXT4-fs (sda1): re-mounted. Opts: (null)

Console output after
====================
[    1.829785] sd 0:0:1:0: [sda] Attached SCSI disk
[    1.832806] sd 0:0:1:0: Attached scsi generic sg0 type 0
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
[    1.969862] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
...
[    2.878920] alg: No test for crc32 (crc32-pclmul)
[....] Activating swap... done
[    2.986642] EXT4-fs (sda1): re-mounted. Opts: (null)

Delint.

Delint
2015-01-24 13:17:42 -08:00
Noah Fontes
4093693c2e Add support for enhanced networking on EC2.
This change adds a provider option, enhanced_networking,
which installs the Intel virtual networking driver for
SR-IOV using DKMS. It also modifies the EC2 AMI registration
to include support for SR-IOV.
2014-11-29 13:46:57 -08:00
jbergler
57909eb9bc Allow mixed kernel/userspace architecture.
This is to allow building an image for a 64bit machine but with 32bit userspace.

Probably not a common usecase but ideal if you need to address more higher quantities of memory but cant migrate to a full 64bit userspace due to something like ruby eating twice as much memory.
2014-11-20 17:23:28 +00:00
Tim Smith
3410118250 Fix typo in AdjustExpandRootScript
This commit fixes a typo in common.tasks.initd.AdjustExpandRootScript (a
missing double-quote in the search regex) that rendered it ineffective.
2014-10-09 21:05:48 -07:00
Rick Wright
96a1683c26 Fix task ordering to better support customizations
This ensures that preferences are written before apt update and also ensures
that in GCE the backports are added to the sources before the provider-specific
SetPackageRepositories happens.

Change-Id: I3c85f922c49c2a6fbd3c0f2bad1072eff0d098c8
2014-09-08 11:45:55 -07:00
Jimmy Kaplowitz
c412c4cdcf Fix list of tasks and their ordering
- GCE provider wasn't including the GCE SetHostname task, without which
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604883 was
  preventing the hostname from getting set after reboot.
- During the GCE build, one of the GCE cleaning tasks was trying to run
  an apt-get update after the build-time resolv.conf file was removed.
  Fix this ordering by moving the network.Remove* tasks to the
  system_cleaning phase as they should have been all along, and adding
  an appropriate ordering rule for the GCE cleaning task.
- Add the fallback http.debian.net mirror after, not before, our mirror.
- The puppet plugin's ApplyPuppetManifest task specified that it should
  run before the network.Remove* tasks within the system_modification
  phase. Now that those tasks have been moved to a later phase
  (system_cleaning), remove this dependency. I have no puppet manifest
  to test this change, but am including it in hopes of avoiding a
  breakage there. Hopefully someone who uses puppet can test this or at
  least confirm that it's correct.

Change-Id: Ieca97f288f456bab119989f4cbc4c3993a755830
2014-07-24 20:20:54 -07:00
Anders Ingemann
9e61ac94d2 Add a word, to make error message about nbd more understable 2014-07-16 22:08:14 +02:00
Anders Ingemann
e41dbdd807 Rename variable in load_yaml to match load_json 2014-07-16 22:08:13 +02:00
Tiago Ilieve
cc95f146b1 Add AddDefaultSources as AddBackports predecessor 2014-07-13 02:57:37 -03:00
Tiago Ilieve
8f43ee1dc7 Move AddBackports to common.tasks.apt
The `AddBackports` task is needed by many different plugins, so is
better if it is available as a common task.

This closes #96.
2014-07-12 14:42:52 -03:00
Anders Ingemann
e4a9cc837a Differentiate installation of grub 1.99 and grub 2 2014-07-09 23:17:05 +02:00
Anders Ingemann
34bb45bb00 Factor release codename fetching out into common.tools
This allows code that runs before the bootstrapinformation object has been created
to also figure out the release codename
2014-07-09 23:17:05 +02:00
Anders Ingemann
376baae583 Take advantage of the YAML multiline notation 2014-07-09 23:17:04 +02:00
Anders Ingemann
03a0746299 Convert every JSON file to YAML
Lines removed: over 500. Readiblity gained: A shitload
Now you can actually get an overview of a manifest on a single screen height.
I am sure that it will also save a lot of hassle when modifying schema in the future.
No more "expected property name" etc. because of an extraneous comma
Comments are of course natively support, so there's no need for this minify_json hokey pokey
2014-07-09 23:17:04 +02:00
Jimmy Kaplowitz
19240dc201 Support executing commands in a specific cwd
Simply plumbed through to Popen(), which already supports this.

Change-Id: If1fdf0a33c96f3aad42407fdc7c9c9f7d4b95c00
2014-06-19 17:16:39 -07:00
Tiago Ilieve
aa1f8cf189 Update volume image path after move it
The `loopback.MoveImage` task wasn't updating `info.volume.image_path`
after moving the volume image file. That made `volume.Delete` to fail
when called, because it would try to remove a file that didn't exist
anymore.
2014-06-07 12:48:45 -03:00