Add .{,z}sh_history in the sensitive user data
Fix typos in windows.py
Add extra `smp' & `mem' sysprep params in Windows
Those parameter can be used to control how many CPUs and how much RAMthe Windows VM should have during the configuration
Make winexe an optional dependency
Check the presence of the winexe executable at runtime only if theinput media is a Windows system
Fix windows filesystem shrink
Make it work with Windows Server 2012 R2. The format ofshrink querymax command has changed.
Add KMS Client Setup Keys for new windows systems
Add KMS client setup keys for Windows Server 2012 R2 and Windows 8.1
Fix type in a windows error message
Remove backup file for shadow
In Linux when clearing out the account, remove the backup file:/etc/shadow-
Fix typo in comment
Rename diagnose to inspect
Add diagnose() method in OSBase derived classes
This can be used to perform various tests to determine if the mediais supported.
Allow image creation from unsupported media
Add a new "Unsupported" os_type class. Images that get created fromunsupported media have the EXCLUDE_ALL_TASKS property enabled.
In _foreach_file check if the directory exists
Otherwise print a warning.
Fix version check introduced in aca3e6508c7ae3f5ee
The fix was backported to version 1.16.11
Fix a typo in one of the input options
--print-sysprep should be --print-syspreps
Convert check_guestfs_version into an Image method
It used to be a function in util module
Fix multiple bugs in util.get_kvm_binary
The machine hardware name fetched by `uname m' should have beenstripped, and a --enable-kvm option should be added if the returnedexecutable was qemu-system<arch>
Print a meaningful msg if windows shrinking fails
Raise FatalError for guestfs < 1.17.18 in windows
If the media is windows and guestfs version is less than 1.17.18raise a Fatal Error. The versions below this have a bug andinspect_os will fail if the HKLM\SYSTEM\MountedDevices registry keyis missing. This key gets deleted by Microsoft Sysprep
Add {enable, disable}_guestfs methods in image cls
Fix a typo in a variable name
Don't copy the guestfs handler in the os_type cls
Merge branch 'hotfix-0.4.4' into develop
Conflicts: image_creator/os_type/unix.py image_creator/version.py version
Check if scrubbing is supported
Don't try to scrub data unless the used guestfs appliance supportsit
Ignore the absence pagefile.sys in windows
Add a function for finding out the kvm binary
On some systems it is kvm, on some others it is qemu-system-x86_64. On32bit PC it is qemu-system-i386
Add support for sysprep-parameters
The user may define parameters needed by the os_type classes to performthe system preparation tasks.
A new needed_sysprep_params method is added to os_type.OSBase thatreturns a list with parameters that should be defined by the user.
Add option for printing the needed sysprep params
Add support for performing sysprep on windows
In windows the do_sysprep method shuts down the guestfs vm and bootsthe image. This allows executing windows commands on the image remotely.
Monitor when the windows VM is up and running
Add the sysprep message printing in the decorator
Since all sysprep functions output a message when they get executed,add the message printing functionality to the sysprep decorator
Add various Windows syspreps
Disable the Windows firewall when the syspreps run
Add new windows sysprep for disabling hibernation
Add kwargs parameter to sysprep decorator
This can be used to add arbitrary attributes to the function itdecorates
Workaround a hivex bug
Reset the LocalAccountTokenFilterPolicy registry key in RunOnce. Thiskey is set by hivex offline when you boot windows, it seems to have awrong value.
Add sysprep in windows to clear the event logs
Make sysprep_info return a named tuple
It used to return a tuple
Add sysprep for shrinking in windows
It is not ready yet.
Add support for shrinking windows VMs
Sleep for 10 secs after you monitor Windows is up
When syspreping a Windows image, sleep for 10 seconds before youcontinue performing the various system preparation tasks.
Add kms_client_setup sysprep for windows images
This sysprep converts the windows image into a KMS client
Use --uninstall in winexe
Mix minor typos
Add a new winexe module
This contains a wrapper class for winexe utility
Monitor VM ps when waiting for windows booting
When waiting for windows to boot, also check that the Windows VMprocess is up.
Add connectivity checks for the windows VM
When booting the windows VM during sysprep, check if winexe worksbefore starting the system preparation tasks
Fix a bug in windows shrink sysprep
Make sure winexe returns error if a diskpart command fails
Don't list disabled users in Windows
Fix _get_users method in windows.py to not list user accounts thatare disabled.
Add decorators defining sysprep params
Fix small bugs and clean up the code
Fix some bugs and some other coding issues found using pylint
Add type field in the SysprepParam namedtuple
This is needed since the input we get from the input dialogs isalways strings.
In windows.py turn some constants to syspep params
Remove constants BOOT_TIMEOUT, SHUTDOWN_TIMEOUT and CONNECTION_RETRIESand add then as sysprep_parameters
Disable UAC remote restrictions in windows
Before launching the windows image with KVM, disable the UAC remoterestrictions. This is needed to make the image allow executingcommand through psexec. After the VM is shut down, the restrictionsare turned back on.
Pass the Image instance to the os_type classes
Those classes may need to access more Image data than the guestfshandler and the root device name
Add basic support for customizing windows images
Add do_sysprep method for windows that shuts down the guestfs backendprocess and starts a new kvm process with the snapshot disk attached toit.
Add missing _do_collect_metadata method in Windows
Code Cleanup
Move mount/umount from image to os_type module
Populate the USERS metadata for windows images
For windows images check the appropriate registry keys to find outthe system users
In cleanup_mail sysprep check if mail dirs exist
Check if /var/spool/mail exists before trying to remove the contentof the directory.
Monitor executed syspreps in os_type/__init__.py
Syspreps that have already been executed shouldn't get returned bylist_syspreps
Add cleanup_password sysprep for freebsd
Copy OSFAMILY to OS property if distro is unknown
If libguestfs's inspect_get_distro returns "unknown", then use theOSFAMILY image property value as OS value.
Beautify FreeBSD description returned by guestfs
Monitor passworded users in FreeBSD
In cleanup_userdata sysprep check if /home exists
Move linux specific code from unix.py to linux.py
Add missing docstrings
Clean-up the code using flake8
Fix minor typos
Treat kamaki config files as sensitive data
When cleaning up sensive user data on unix systems, remove .kamakircand .kamaki.history too.
Fix various typos, add .gitignore file
Fix various typos in messages, add .gitignore file forautomatically produced intermediate files.
Fix fix_acpid syspep
Extend the mechanism to recognise events with value "button/power.*" as power button events. It used to only check for events with value"button[ /]power".
Fix cleanup_userdata sysprep
The function used to ignore directories when cleaning sensitive data
Fix minor pep8 error
Do not allow empty USERS metadata fields
If snf-image-creator does not find any passworded user, then theUSERS metadata field is not created at all.
Fix pep8 errors
Fixed many `E127 continuation line over-indented for visual indent'errors
Fix a bug in _get_passworded_users method in Unix
The method used a wrong warning output function
Fix a warning message in linux fix_acpid sysprep
Use vfs_uuid instead of blkid to compute uuid
vfs_uuid is more suitable for this and it whas added before blkidin guestfs, hence it is supported in more guestfs versions.
Add get_sysprep_by_name method in os_type classes
This method returns a sysprep object with a given name. Now,(enable,disable)_sysprep work with sysprep objects instead of sysprepnames
Fix a bug introduced in 2e50092b2437913561a37c646e
The do_sysprep method was not updated to comply with the changesmade in list_syspreps method
In linux.py make sysprep names for descriptive
Add sysprep_info method in os_type classes
This method takes a sysprep object as argument and returns the nameand a description for this object.
Make os_type list_sysprep method return 1 list
The method used to return 2 lists of enabled and disabled sysprepobject. Since sysprep objs contail an `enabled' attribute, it is easyto determine which of those are enabled and which are not. There isno need to return 2 seperate lists.
Fix a bug introduced in 4e58b51b
The error function main.py used for outputing errors has been removedand the code was not updated to use the error method of SimpleOutputoutput class.Also did a minor cleanup: git_os_class function was renamed to os_cls
Unify output by creating a seperated output module
All image-creator components now output messages using an instanceof one of the output classes.
Remove get_metadata() from os_type classes
The metadata are collected in the constructor and are saved in themeta variable. This way they can be accessed and altered by thesysprep methods. There are cases where some metadata are not validand need to be updated after a sysprep action is performed. For...
Add remove_swap_entry sysprep in linux
This action will remove the swap entry from the fstab.
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.
Improve help msg for remove-user-accounts sysprep
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 options for printing sysprep and data cleanup
Add --print-data-cleanup and --print sysprep input options. If enabledthe program will output what data cleanup and syspep operations willand won't run a a selected input media
Fix pep8 error
Add cleanup method that removes user accounts
This method will remove all users that have id over 1000. In mostsystems this will remove all normal user accounts besides the firstone. This method will not run by default.
Add cleanup method that locks all user accounts
Add exclude_task decorator in os_type
This can be used to create a set of by default disabled data_cleanupand sysprep tasks.
Add silent mode option
All printing had to be reordered and now it is done from a central point.