Commit graph

73 commits

Author SHA1 Message Date
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
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
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
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
b1195c5c3b Fail when guest add. install exits with $? != 1 2014-01-05 02:25:25 +01:00
Anders Ingemann
2e6478f8bb Automatically install correct linux headers for guest additions 2014-01-05 02:25:25 +01:00
Anders Ingemann
0612987fec New task: AddDefaultSources 2014-01-05 02:25:23 +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
d0ec90f491 Support installation of VirtualBox Guest Additions 2013-12-15 17:25:57 +01:00
Anders Ingemann
06e7f61d8c Revert "Remove extension property from volumes"
This reverts commit c454114a22.
2013-12-15 00:51:51 +01:00
Anders Ingemann
c454114a22 Remove extension property from volumes 2013-12-14 23:18:42 +01:00
Anders Ingemann
7660e15c93 Don't disable PC speaker and GetTTY procs on vbox 2013-12-14 23:18:42 +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
0a49901476 Implement hvm support for ec2 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
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
0fac91c2fc Remove qcow2 from supported vbox volume backings
We can handle raw and vdi images right now
2013-11-22 09:03:48 +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
bcd1735ebd Remove unneeded virtualbox assets folder 2013-11-06 22:35:07 +01:00
Anders Ingemann
9b906aeaf8 Disallow gpt for virtualbox 2013-11-06 22:34:49 +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
a397091e46 Generalize req. host package additions 2013-10-27 18:11:59 +01:00
Anders Ingemann
a07e02cfcc Add required packages in the right places 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
b025f6ed35 Refactor remount() into common function 2013-10-27 18:11:57 +01:00
Anders Ingemann
54791268e1 Fix TuneFS task 2013-10-27 18:11:56 +01:00
Anders Ingemann
6ddd8809a3 Partitioning fixes 2013-10-27 18:11:55 +01:00
Anders Ingemann
c78866f103 Take partitionmap into consideration in device.map
Simplify boot task a little
2013-10-27 18:11:55 +01:00
Anders Ingemann
977b1f290f Remove duplicate task addition 2013-10-27 18:11:55 +01:00
Anders Ingemann
ba1842ca2b Move nbd modprobe check into separate function
Only require max_part param for partition manifests
2013-10-27 18:11:54 +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
e740a3b4d8 Fix grub install 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
c756eb3f74 Introduce task-sets to combat the unwieldy amount of tasks 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
4b2711893f Dont require package sysv-rc to be installed 2013-10-27 18:11:53 +01:00
Anders Ingemann
885ace7b48 Updates to networking in vbox 2013-10-27 18:11:53 +01:00
Anders Ingemann
c744196d2f Fix required packages 2013-10-27 18:11:52 +01:00
Anders Ingemann
d6502089e2 Implemented both MBR and GPT partitioning.
VirtualBox seems to not like GPT
2013-10-27 18:11:14 +01:00
Anders Ingemann
6f05774d2c Try fixing grub, added some comments 2013-10-27 18:11:14 +01:00
Anders Ingemann
efecc15382 VDI images working now
*Helpful error messages included
2013-10-27 18:11:13 +01:00
Anders Ingemann
0eb5eecfc2 Place everything in info.workspace
instead of spreading files all around the disk
2013-10-27 18:11:13 +01:00
Anders Ingemann
9cb4b3e375 Rename mount_dir to workspace
We'll be using it for a bucnh of different things in the future
2013-10-27 18:11:13 +01:00
Anders Ingemann
ff7c04c120 Support for partitions
MAJOR refactor. The volume is now abstracted into a model along with a partitionmap and partitions.
Volumes and partitions are now controlled via an FSM to ensure that commands are called in the proper sequence.
GRUB can now be installed properly onto loop devices by using dmsetup to fake a proper harddisk.
2013-10-27 18:11:12 +01:00
Olivier Sallou
929a77b5a3 add missing kpartx package for Host 2013-09-09 22:50:00 +02:00