History | View | Annotate | Download (18.2 kB)
Fix a bug in tmp dir removal
snf-image-creator removed /var/tmp if the directory was empty
Support python-sendfile 2.x
Support both versions (1.2.x and 2.x) of python-sendfile. Inv1.2.x (py-sendfile) the returning value of the sendfile function is atuple, where in v2.x (pysendfile) it's a simple integer.
Allow users to specify tmp dir for large files
The cow file when creating images or the temporary image file whenbundling the host system may be large. Allow the user to overwritethe directory under which those files get created.
Merge branch 'stable-0.1'
Fix a bug in image shrinking code pt2
Handle correct extended partitions with id 0xf
Minor fixes in output messages
Fix pep8 errors
Retry cleanup commands if they fail
Add a new try_fail_repeat function that wraps cleanup system commandsand retries them if they fail. There are cases where commands likedmsetup, umount and losetup -d may fail with device is busy. In mostof the cases, sleeping for halve a second and retrying does the job.
Make sure the tmp bunble_volume img gets deleted
Remove progress bar for guestfs.launch() progress
In Guestfs you get notifications about progress on some functions likelaunch() by registring callback functions. When using guestfs from python,this is fragile. If the callback functions raises an exception, you end up...
Remove temporary bundeled image during cleanup
Fix a bug in image shrinking code
Credits go to Giannis Spiliopoulos <gspilio@admin.grnet.gr>
Create fs in image partitions in bundle_volume
Also do a code cleanup
Fix bugs in bundle_volume module
The partition table of the image is created correct. The partitionsare not yet filled.
Further development in bundle_volume
Nothing is working yet
Fix the image partitions in bundle_volume
Check the file system usage and accordingly reduce the size of thelast partition in the image.
Futher development for bundle_volume
Create a sparse file under /mnt in the size of the root hard diskand copy the mbr into this file. Not yet workable.
Add new bundle_volume module
This is not yet workable but it will host the code for creatingimages out of a running system.
Use py-sendfile in favor of pysendfile
The former is older but there are packages for it in distros likeUbuntu.
Handle keaboard interrupts and TERM signals.
Mount the media ro if --print-sysprep is specified
Make the cow file size equal to the original media
The size of the cow file was hardcoded to 1G. This was buggy, becausefor a big image, the resize operation could fill up the cow file andfail.
Remove the image size from the image metadata
Fix minor typos
Fixed many `E127 continuation line over-indented for visual indent'errors
Leave 2048 sectors space at the end when shrinking
Most partition manipulation programs leave 2048 sector empty spaceafter the last partition.
Fix error message for non supported media source
Allow readonly mount in DiskDevice class
Add an option to DiskDevice's mount method to allow readonly mount
Add size param in the Output.Progress constructor
Disable recovery proc if libguestfs ver < 1.17.14
In older versions of libguestfs, the recovery process did not closethe file descriptors it inherited. This could case problems if theparent process had open pipes.
Unify output by creating a seperated output module
All image-creator components now output messages using an instanceof one of the output classes.
Remove the swap partition when shrinking
If the swap partition is the last partition in the media, then it canbe safely removed. The image-creator will save enough info in theSWAP metadata to recreate it.
Move get_os_class from image_creator to os_type
This is needed because otherwise setup.py fails on some systems. Alsodo some more cleanup.
Fix a bug introduced in commit e108efd285b34d5a28e
Not all needed code parts where updated when the size() method inDiskDevice class was abandoned in favor of the size attribute.
Cleanup code in disk module
Add support for GUID Partition Tables
Minor cleanup (typos, comments, etc)
Switch to ansicolor for coloring & fix pep8 errors
Use progress for progress bar & implement register
Add progress bar in pithos upload & compute md5sum
Seperate snapshoting from get_device in Disk class
Fix typos in var names
Add options for enabling/disabling sysprep tasks
Also merge data_cleanup tasks with syspreps and did a major cleanup
Add silent mode option
All printing had to be reordered and now it is done from a central point.
Move image_extract method into DiskDevice
Correct image size computation
This commit fixes a bug where size method in DiskDevice returned thepayload size of the device one byte shorter than it actually was.
Fix linux sysprep_acpid & remove output indents
Beautify program's output.
Fix license, copyright and pep8 infractions
Fix wrong variable name in progress_callback
Create an exception based error reporting system
All modules should use image_creator.FatalError exception to reportfatal errors.
Split DiskDevice constructor in 2 parts
In the constructor only variable initialization is performed. This isneeded because the constructor is executed before the DiskDeviceinstance is appended to the device list, and if something fails there,then the resources may be cleaned up in an incorrect order.
Remove python-losetup dependency
The package is buggy and we can use pbs to do the same thing.
Add an extra yield in progress_generator
This is needed to suppress the StopIteration exception
Add progress bar for the guestfs launch method
Handle imported commands that aren't in the PATH
This fixes cases where a normal user tries to execute the program andthe program raises pbs.CommandNotFound exceptions because it tries toimport a command from sbin, which is not in the path.
Add input options and populate image metadata
Hooray! This is the first release that actually works!
Document basic classes and methods
Make DiskDevice.shrink() return the new disk size
Major code revision
Fix code for cleanup of image data
Add OS specific classes
Use libguestfs to access the image
Further development
Make the cow file sparseAdd method in Device to list the partitionsAdd a "is bootable" flag in Device constructor
Initial commit