Update the factory tests.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Update the documentation for guest_factory.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Update the oz-examples man page.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Make file and command customization use less memory.

If we fetched files or commands via the URL mechanism
or through the base64 decoding mechanism, we used to
store all of the downloaded/decoded data in memory.
This is a huge memory hog, particularly for large
files.  Change this to use temporary files instead;
it will use much less memory, and is less code
to boot.

Note that commands still end up using the same amount
of memory, since they need to be read and executed
at some point.  But this is delayed until they are
actually used, and regardless this mechanism helps
for files.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Use /dev/ttyS1 for the reportip

Since we are now using /dev/ttyS0 for the serial
console, switch to using /dev/ttyS1 for the
reportip.  This fixes customization.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Make sure to refresh the pool before using it.

Sometimes the pools can get stale; this mostly
avoids the problem.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
fix directory creation
Re-arrange wait_for_guest_boot to always close socket.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Remove some unnecessary intermediate variables.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Allow mkdir_p to accept the empty string.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Generalized version for adding extra folders to installation media

This patch allows the user to add extra folders to the
installation media. This is useful for windows use case, as it
allows to put the $OEM$ folder for customization. In other
environments, it can be used for placing extra content that needs
to be loaded from the installation media.
Add ftp transfers to supported extra ISO types
Add http support to the extraiso mechanism

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Fix sparse file copying.

As pointed out by Ruslan Lutsenko (spil-ruslan),
you can't annotate \0 with r during copyfile_sparse.
That makes the sparseness go away.  Fix that here.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Make sure os.read/write() succeeds

...in the face of EINTR, and short writes (for write)

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Push the auto variable down into Guest.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Make sure all Ubuntu versions can find the preseed file.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Cleanup and clarify the kickstart injection code.

This splits out common functionality into
ozutil, and makes it easier to read.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Fix an obvious bug in the add_isoextras exception.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Fix up some documentation.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>