Commit graph

145 commits

Author SHA1 Message Date
Anders Ingemann
4cbc8e4f8e Related to 26bb907, both gpt and msdos partitions need the 1 sector gap now 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
e5dd68acc7 Extlinux booting on gpt now working 2015-04-16 22:21:44 +02:00
Anders Ingemann
9a50cea204 Add 1 sector gap between partitions on GPT 2015-04-16 22:21:44 +02:00
Anders Ingemann
4d74c72d99 Simplify GPT a little by explicitly taking care of the GPT primary & secondary
Do the math for the GPT offset a little differently
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
31b9cb5caa The dmsetup function still divided self.size by 512, which is not necessary any longer since we are calculating in actual sectors now 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
16eaade09a Fix sectors/bytes type problem with single partition 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
e8d6e7f602 factor AbstractPartition.Mount out into separate module and make it serializable 2015-04-16 22:15:20 +02:00
Anders Ingemann
e9137ac172 Make serialization a lot more easy to handle 2015-04-16 22:15:20 +02:00
Anders Ingemann
ab18516f79 Support SIGINT over the network 2015-04-16 22:15:20 +02:00
Anders Ingemann
2b6fefd789 Fix serialization of exceptions 2015-04-16 22:15:20 +02:00
Anders Ingemann
056d279b65 Read import in base.__init__ 2015-04-16 22:15:19 +02:00
Anders Ingemann
bc8967529d Move remote log stuff back into remote module 2015-04-16 22:15:19 +02:00
Anders Ingemann
909e5cee46 Put remote module into pkg root 2015-04-16 22:15:19 +02:00
Anders Ingemann
209651ef38 Dry run working in tests 2015-04-16 22:15:19 +02:00
Anders Ingemann
a7a3161d66 Require Pyro4 >= 4.30 2015-04-16 22:15:19 +02:00
Anders Ingemann
c5bc45218e Fix documentation 2015-04-16 22:15:19 +02:00
Anders Ingemann
65b9e10ce3 VirtualBox integration 2015-04-16 22:15:19 +02:00
Anders Ingemann
31c453070f Add log source to log messages 2015-04-16 22:15:18 +02:00
Anders Ingemann
0f4c08e51d Refactor, logging, comments 2015-04-16 22:15:18 +02:00
Anders Ingemann
08976ffe07 Remove unused import 2015-04-16 22:15:18 +02:00
Anders Ingemann
1ddc0fbc32 Add comment about random ports 2015-04-16 22:15:18 +02:00
Anders Ingemann
f8d79f06e3 More graceful CallbackServer shutdown 2015-04-16 22:15:18 +02:00
Anders Ingemann
d88d73c7f1 Allow listening on different ports on remote and local 2015-04-16 22:15:18 +02:00
Anders Ingemann
fd07954764 Remove manual deserialization 2015-04-16 22:15:18 +02:00
Anders Ingemann
ed222d579f Little refactor 2015-04-16 22:15:17 +02:00
Anders Ingemann
3542406b91 Fix (de-)serialization 2015-04-16 22:15:17 +02:00
Anders Ingemann
2b33561b82 Don't kill SSH, ask callback server to stop instead of commtimeout 2015-04-16 22:15:17 +02:00
Anders Ingemann
a35ae91b67 Simplify? Hopefully... 2015-04-16 22:15:17 +02:00
Anders Ingemann
282e22c001 debugging 2015-04-16 22:15:17 +02:00
Anders Ingemann
569e1246a5 Deserialize manifest 2015-04-16 22:15:17 +02:00
Anders Ingemann
922cabe80a Serialize exception info by printing it 2015-04-16 22:15:17 +02:00
Anders Ingemann
150b15bb4f (g|s)etstate for manifest 2015-04-16 22:15:17 +02:00
Anders Ingemann
aa9616f4a6 Stop callback server last 2015-04-16 22:15:17 +02:00
Anders Ingemann
16837b38c2 Close thread on both ends! 2015-04-16 22:15:17 +02:00
Anders Ingemann
e271f3e49a Initial work on integration testing started.
The work consists of three parts:
* Allow for bootstrapping remotely,
  this makes it possible to run the tests
  on e.g. OSX with VirtualBox installed
* Make bootstrapping a fully automated process
  where the manifests can be generated by the tests
  and the tests can call the bootstrapper directly in python
* Create a framework wherein instances can be booted up
  using the bootstrapped images and subsequently tested
2015-04-16 22:15:17 +02:00
Anders Ingemann
d06fbb4a2d Turn on nazi option for sphinx and fix warnings 2015-04-11 16:40:44 +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
f48d392df8 Fix pep8 error 2015-02-22 16:44:58 +01: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
Filipe Brandenburger
1fe10207b8 Check the value of the --color argument
Make sure it's either `auto' (the default), `always' or `never'. If it
does not match any of the values, raise a Docopt exception that causes
it to print usage and exit.

Tested:
- $ sudo ./bootstrap-vz --color=invalid manifests/gce.manifest.yml
  Value of --color must be one of auto, always or never.
  Usage: bootstrap-vz [options] MANIFEST

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-24 10:52:08 -07:00
Filipe Brandenburger
84cf497c66 Support --color option to indicate whether to use colors in the terminal
Mimic the behavior of the --color=<auto|always|never> found in tools
like `ls' and `grep'. Default to `auto' which checks whether stderr is a
tty to define whether colors are used.

Tested:
- Ran ./boostrap-vz --color=never and --color=always, confirmed
  colorization worked as expected.
- Ran ./boostrap-vz --color=auto ${manifest_file} 2>bootstrap.log,
  confirmed colors were not added to boostrap.log by default, repeated
  the test with --color=always and confirmed escape sequences were
  output.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-22 11:46:19 -07:00
Anders Ingemann
cca31b642f Add documentation for the run() function.
Also: Move the return statement in run() to the bottom
2014-07-09 23:31:16 +02:00
Anders Ingemann
0cc26d82d0 Allow passing data into the manifest.
This makes it possible to create dynamically created manifests
2014-07-09 23:17:05 +02:00
Anders Ingemann
7fe9c1ba36 Refactor logging setup to be more modular 2014-07-09 23:17:05 +02:00
Anders Ingemann
1dc9ae18db Do a basic validation of the manifest before accessing it.
This prevents cryptic error messages
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