Commit graph

100 commits

Author SHA1 Message Date
Anders Ingemann
a840dc28f3 MBR-gap, grub and GPT offset are now subtracted
automatically from the first available partition.
There is no need to fiddle with sizes while keeping the offsets in mind any longer.
Introduced Bytes() class which makes it a lot easier to handle size units.
2014-01-19 13:21:35 +01:00
Anders Ingemann
3c39ac6734 Minor changes to GPT and grub support 2014-01-19 10:46:59 +01:00
Anders Ingemann
328b971289 GPT support for both extlinux and grub 2014-01-19 01:02:29 +01:00
Anders Ingemann
81a4ec78eb Post-MBR size increased to 2.
Also, move the size addition into the volume model
2014-01-18 23:35:21 +01:00
Anders Ingemann
1e97600013 Label GPT partitions 2014-01-18 23:27:52 +01:00
Anders Ingemann
889812b1ad Rename MBR partition table to MSDOS
Calling it MBR is just confusing
2014-01-18 23:27:52 +01:00
Anders Ingemann
8165297a02 Generalize link_dm_node() it works for all devices
Also accept some new parameters to adjust offsets and startsecotrs when creating the disk mapping
2014-01-18 16:36:41 +01:00
Tomasz Rybak
4b9d801734 Allow for building unstable release images. 2014-01-12 21:18:51 +01:00
Anders Ingemann
45521b2377 Merge remote and local package array in manifest
This allows us to specify the order of installation for packages
Fixes #127
2014-01-12 12:46:59 +01:00
Anders Ingemann
f632e5efce Verify lines in packages.sources 2014-01-09 17:24:47 +01:00
Anders Ingemann
ebd8f71fdb Fix bug in packages stanza (fixes #126)
Created 3 new tasks:
  AddManifestSources
	AddRemoteManifestPackages
	AddLocalManifestPackages
They are added independently depending on what is specified in the manifest.
2014-01-09 17:21:29 +01:00
Anders Ingemann
0092e1c2c2 Don't instantiate tasks
In practice they are just typed functions with attributes, having a reference to an object is just confusing.
So: Task.run() is now a classmethod
2014-01-06 22:58:21 +01:00
Anders Ingemann
039a35a344 Fix bug in ManifestError __str__ function
+ some formatting fixes
2014-01-06 22:58:21 +01:00
Anders Ingemann
e1881da2bc Simplify tasklist by passing a set to the modules 2014-01-06 22:58:21 +01:00
Anders Ingemann
a4ead02a9b Remove provider specific manifests
Manifest and module loading has been refactored
Provider modules now must implement validate_manifest like plugins do
Simplified loading of manifests
2014-01-05 14:03:04 +01:00
Anders Ingemann
8b5bc77650 Fallback values in a prettier way 2014-01-05 02:25:29 +01:00
Anders Ingemann
44f3296426 Extlinux support
The bootloader is now specified in the manifest
2014-01-05 02:25:28 +01:00
Anders Ingemann
98d4a074b1 Reorganize imports a little 2014-01-05 02:25:28 +01:00
Anders Ingemann
7afd04f1c9 Distinguish between bootstrap and apt mirror
They can both be set independently now.
If the bootstrap mirror is not set, it falls back to the apt mirror,
which in turn falls back to the geo redirector.
2014-01-05 02:25:27 +01:00
Anders Ingemann
d9a7f3d1e4 Make plugins key a required manifest property 2014-01-05 02:25:26 +01:00
Anders Ingemann
50f45d31d4 Refactor manifest_vars use in package handling 2013-12-29 20:58:06 +01:00
Anders Ingemann
8d32339fda Introduced a global manifest_vars dictionary
All manifest entries can now be accessed from the manifest itself
2013-12-29 20:58:06 +01:00
Anders Ingemann
1c93094833 Integrated package plugin with base system
New phase introduced "package installation" (fixes #114)
Apt source lines are now parsed, this allows to verify the target release of added packages.
All packages (except locales) are now installed *after* bootstrapping (fixes #123)
Added env argument to log_(check_)call
HostDependencies have been refactored a little
2013-12-29 20:58:06 +01:00
Anders Ingemann
1d69f65a7f Support for vmdk disk format 2013-12-29 16:50:22 +01:00
Anders Ingemann
51041f6aa2 Generalize VirtualBoxVolume, introduce QEMUVolume 2013-12-29 16:50:22 +01:00
Anders Ingemann
61b5dd2ef0 run_id is now in hex per default
... since its primary use is as a string
2013-12-29 16:50:21 +01:00
Anders Ingemann
293557827f Fix PEP8 style fixes 2013-12-14 23:18:43 +01:00
Anders Ingemann
d3dc44bc48 Rename tasks() to avoid clashes with modules
The functions are now called resolve_tasks() and resolve_rollback_tasks().
A little more verbose function names but also clearer.
2013-12-14 23:18:41 +01:00
Anders Ingemann
668b9896c1 Modularize init script installation
Don't install various init scripts when using cloud-init
2013-12-14 23:18:41 +01:00
Anders Ingemann
637f49904a Move swap partition before root 2013-12-14 23:18:40 +01:00
Anders Ingemann
2af0968156 Implement partition mounts.
This solves quite a few challenges with mounting directories into root etc.
2013-12-14 23:18:39 +01:00
Anders Ingemann
970cbfccf2 Fix bug when fetching fsm state 2013-12-14 23:18:39 +01:00
Anders Ingemann
71be571f93 Fix #104. Remove "enabled" from plugin manifests 2013-11-22 09:03:47 +01:00
Anders Ingemann
663b868b41 Fix #107. Rename before and after task properties
`before' becomes `successors' and `after' becomes `predecessors'
2013-11-22 09:03:47 +01:00
Anders Ingemann
71adb3d04e Manifest schema now validates partition definition
S3 partitioning is disallowed for now
2013-10-29 22:41:29 +01:00
Anders Ingemann
cf3c861a27 Added the dry-run option 2013-10-27 18:37:43 +01:00
Anders Ingemann
6c800145dc Alias s3 backing to raw 2013-10-27 18:11:59 +01:00
Anders Ingemann
0fdcc2e27b Fix bug when no boot partition is specified 2013-10-27 18:11:58 +01:00
Anders Ingemann
e1ab4dc1ae EC2 provider can now bootstrap EBS volumes again
Use tasksets in EC2 provider
2013-10-27 18:11:58 +01:00
Anders Ingemann
754e414742 Document post-mbr gap and make it MBR-only 2013-10-27 18:11:58 +01:00
Anders Ingemann
f075d1f2b9 Remove ambiguous tasklist function replace() 2013-10-27 18:11:57 +01:00
Anders Ingemann
1bf61770d9 Access fsm states directly 2013-10-27 18:11:56 +01:00
Anders Ingemann
fb0fa1e94e Unmap partitions 2013-10-27 18:11:55 +01:00
Anders Ingemann
6ddd8809a3 Partitioning fixes 2013-10-27 18:11:55 +01:00
Anders Ingemann
387aa62750 Remove FSM from NoPartitions p-map
Don't set the volume device_path by calling 'create'
2013-10-27 18:11:55 +01:00
Anders Ingemann
8891a18e4b Remove mount_specials from FSM
It makes modelling the different states more complicated
2013-10-27 18:11:54 +01:00
Anders Ingemann
3c32310346 Remove mountpoints from partitions 2013-10-27 18:11:54 +01:00
Anders Ingemann
ecdc255752 Simplify FSM framework. Only model relevant states 2013-10-27 18:11:53 +01:00
Anders Ingemann
738ba47c65 Add references instead of instances to the tasklist 2013-10-27 18:11:53 +01:00
Anders Ingemann
8aefa93646 Remove map and unmap methods on singlepartitionmap 2013-10-27 18:11:53 +01:00