Commit graph

51 commits

Author SHA1 Message Date
Anders Ingemann
8aefa93646 Remove map and unmap methods on singlepartitionmap 2013-10-27 18:11:53 +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
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
Anders Ingemann
77c8b36151 Added pause-on-error switch for debugging 2013-10-27 18:10:44 +01:00
Anders Ingemann
b5c5acf5b1 PEP8-ify things. 2013-08-17 17:28:46 +02:00
Anders Ingemann
5864665b1f Make mirror param in manifest optional 2013-08-17 16:04:20 +02:00
Anders Ingemann
9de86b9b8a Remove "mount_dir" from base manifest schema. 2013-08-17 16:04:20 +02:00
Anders Ingemann
38715df6e9 Remove "device" from base manifest-schema
What is it? It's not used anywhere?
2013-08-17 16:04:20 +02:00
Olivier Sallou
398a4da313 make mirror mandatory in manifest 2013-08-13 10:43:29 +02:00
Olivier Sallou
afa9352d85 set mirror in bootstrapper instead of image 2013-08-13 09:52:03 +02:00
Anders Ingemann
7318240f59 Better error message on task order errors 2013-08-11 18:25:05 +02:00
Anders Ingemann
631901a827 Fix error when plugins key was not present 2013-08-11 18:05:54 +02:00
Olivier Sallou
cd6e10c6a1 Merge branch 'python' of https://github.com/andsens/build-debian-cloud into python 2013-07-31 08:03:08 +02:00
Anders Ingemann
59bae6e497 Create unique identifier in BootstrapInformation
Can be used to uniquely name temporary resources
2013-07-13 15:12:46 +02:00
Anders Ingemann
b3311a8ff6 Only add default tarball_dir if tarball is true 2013-07-13 15:12:45 +02:00
Olivier Sallou
17876070a5 add mirror attribute 2013-07-10 15:43:39 +02:00
root
ed76870ec9 fix raw image creation 2013-07-10 14:42:03 +02:00
Anders Ingemann
311db52f7b Ensure minimum volume size of 1M 2013-07-09 21:31:10 +02:00
Anders Ingemann
be387673c0 Add log message to indicate a successful completion of all tasks 2013-07-08 23:14:08 +02:00
Anders Ingemann
1a21b4d90e remove superfluous normpath() 2013-07-08 23:14:05 +02:00
Anders Ingemann
d3ab01f88f Implement initialize() fn for providers and plugins ,silence boto debug 2013-07-08 23:14:04 +02:00
Anders Ingemann
6dfdc2ed6d make tasklist.remove() behave like discard() 2013-07-08 23:14:03 +02:00
Anders Ingemann
b8341c48e4 allow removal of multiple tasks at once 2013-07-08 23:14:03 +02:00
Anders Ingemann
a471c7ef71 Refactor manifest to allow plugin manifest validation 2013-07-08 23:14:03 +02:00
Anders Ingemann
1b512e08fc Make plugin loading a little prettier 2013-07-08 23:14:02 +02:00
Anders Ingemann
3bf64a6e80 catch keyboard interrupt 2013-07-08 23:14:02 +02:00
Anders Ingemann
7789bc6b16 Relative timestamp in logfile 2013-07-08 23:14:02 +02:00
Anders Ingemann
b92f70e548 bootstrap task implemented 2013-07-08 23:14:01 +02:00
Anders Ingemann
4d86ae5bea Implement MountVolume task, catch less exceptions 2013-07-08 23:14:01 +02:00
Anders Ingemann
5418ac87ca Move bootstrapdir requirement to main json schema 2013-07-08 23:14:01 +02:00
Anders Ingemann
29394270c6 Remove tasks not in tasklist from dependency graph
Use filter() for filtering instead of list comprehensions
2013-07-08 23:14:01 +02:00
Anders Ingemann
237dde9285 Remove task.run() it is hiding missing run functions 2013-07-08 23:14:01 +02:00
Anders Ingemann
442397fb2e Way better rollback architecture through improvements in flexibility 2013-07-08 23:14:00 +02:00
Anders Ingemann
2135cdbc1a PEP8 fixes 2013-07-08 23:14:00 +02:00
Anders Ingemann
96028f96e1 Various improvements and additions.
I couldn't be bothered to untangle this, so here it goes:
* Log colors depending on loglevel
* Simplified Filelogger
* Remove description=None from basetask
* create_list creates task list from argument now
* Task rollback feature: If a task fails, the tasklist calls rollback() on the completed tasks in reverse order
* Added TaskException to common.exceptions as a base to extend from
* Added TriggerRollback task to common.tasks for development purposes
* An EBS volume for bootstrapping is now created and attached to the instance (including rollback actions)
* EC2 Connect task now depends on host.GetInfo
2013-07-08 23:14:00 +02:00
Anders Ingemann
1240294784 Validate volume size is an integer 2013-07-08 23:14:00 +02:00
Anders Ingemann
79a699a360 Better schema validation and errors 2013-07-08 23:13:59 +02:00
Anders Ingemann
b701bd028b refactor logging setup 2013-07-08 23:13:59 +02:00
Anders Ingemann
88ebeadd25 fix phases and their ordering 2013-07-08 23:13:59 +02:00
Anders Ingemann
2f9fa4e6f7 Allow comments in manifest files 2013-07-08 23:13:59 +02:00
Anders Ingemann
a401f9edc0 Order by phases as well 2013-07-08 23:13:59 +02:00
Anders Ingemann
0f29b3d0e2 Cycle detection and topological sorting 2013-07-08 23:13:59 +02:00
Anders Ingemann
1e4af40b3c Task dependencies, bogus implementation 2013-07-08 23:13:59 +02:00
Anders Ingemann
5689b77011 Manifest validation, simplified main run fn 2013-07-08 23:13:58 +02:00
Anders Ingemann
a8364fe04d logging 2013-07-08 23:13:58 +02:00
Anders Ingemann
d18fa6dd6b Use prettier format syntax 2013-07-08 23:13:58 +02:00
Anders Ingemann
867fc9b276 Move taskname printout 2013-07-08 23:13:58 +02:00