Commit graph

120 commits

Author SHA1 Message Date
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
44b23c9cd8 Try and fix hvm registration
It's still not working unfortunately, but it's a step in the right direction
2014-01-05 02:25:29 +01:00
Anders Ingemann
4ef77f1b69 Install enhanced networking drivers on HVM AMIs 2014-01-05 02:25:28 +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
2b5664b0b2 Add `assets' variable to task __init__ files 2014-01-05 02:25:27 +01:00
Anders Ingemann
af2397720d Fix import bug in ec2 provider 2014-01-05 02:25:27 +01:00
Anders Ingemann
0612987fec New task: AddDefaultSources 2014-01-05 02:25:23 +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
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
a7bc4446c2 root_device_name simplified
It's not needed for s3 and always sda on ebs
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
2e29ac0f93 Rename expand-volume script to expand-root
Also move task for adjustment of that script into common.
It still needs some modifications to support device names other than xvda
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
Sonny Garcia
e8b4334fdb adds ami name when registering s3-based ami
boto docs indicates that name is only applied to EBS-based images, but that's
not true. this has been tested and populates the "AMI Name".
2013-11-07 17:53:53 -06:00
Anders Ingemann
90826662ac Disallow gpt for ebs AMIs 2013-11-06 22:33:18 +01:00
Anders Ingemann
c62dcccd8d credential keys now actually work when set via env
all credential keys are converted to uppercase, dashes replaced with underscores and prefixed with 'AWS_'
2013-11-04 17:31:32 +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
1db38ec7dd New task for adjusting the expand-volume script
By default it only expands /dev/xvda
2013-10-27 18:11:59 +01:00
Anders Ingemann
6eb56721dc AWS provider fully working again (S3 & EBS)
EBS booted AMIs now also support partitions
2013-10-27 18:11:59 +01:00
Anders Ingemann
a397091e46 Generalize req. host package additions 2013-10-27 18:11:59 +01:00
Anders Ingemann
c95b9077e5 Add helpful message to volsize%1024 error 2013-10-27 18:11:59 +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
ecdc255752 Simplify FSM framework. Only model relevant states 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
0eb5eecfc2 Place everything in info.workspace
instead of spreading files all around the disk
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
b5c5acf5b1 PEP8-ify things. 2013-08-17 17:28:46 +02:00
Anders Ingemann
e1fc5ea972 Use long options wherever possible.
This makes the code a lot easier to understand
2013-08-17 15:00:53 +00:00
Anders Ingemann
3630d72f0a Use absolute paths everywhere 2013-08-17 15:00:25 +00:00
James Bromberger
ca151834fe Fix import. 2013-08-13 14:33:35 +00:00
Anders Ingemann
0785e21ab0 Move parts of packages task module into common tasks 2013-08-10 19:01:54 +02:00
Anders Ingemann
5dc00d920c Easier overview of tasks being added 2013-08-10 17:52:24 +02:00
Anders Ingemann
1b329d1082 Move host task to common tasks 2013-08-10 17:20:10 +02:00
Anders Ingemann
15e59ab2c8 __init__.py cleanups 2013-08-10 17:15:51 +02:00
Anders Ingemann
ec6639c8be Move security task to common tasks
Converted root pw task to plugin
2013-08-10 17:12:58 +02:00
Anders Ingemann
5ae3d92a22 Move some of the ec2 initd stuff to common tasks 2013-08-10 16:51:42 +02:00
Anders Ingemann
9de7793a92 Move filesystem and loopback task modules to common 2013-08-10 16:38:45 +02:00
Anders Ingemann
35d962fc03 fixup! Move bootstrap.py to common tasks. Reverted bootstrap task to use geo-redirector as mirror. 2013-08-10 16:31:46 +02:00
Anders Ingemann
6c6f50c03e Remove network and locale tasks to common 2013-08-10 16:27:43 +02:00
Anders Ingemann
b36e611742 Move cleanup tasks to common tasks module 2013-08-10 16:24:12 +02:00
Anders Ingemann
8767e414ac Move bootstrap.py to common tasks.
Reverted bootstrap task to use geo-redirector as mirror.
2013-08-10 16:22:16 +02:00
Anders Ingemann
0f9fc75182 Generalized "boot" task module.
Keeping ConfigureGrub provider specific for now
2013-08-10 16:18:48 +02:00