21 Commits

Author SHA1 Message Date
Alessandro Pilotti
b59a89e5e5 Adds Python 3.x compatible exception handling
Fixes exception handling syntax for Python 3.x compatibility

Changes generated with:

    2to3 -f except -w -n cloudbaseinit
2014-09-07 21:03:01 +03:00
Alessandro Pilotti
5a9dbcfbd2 Replaces usages of "locals()" 2014-02-19 18:19:18 +02:00
Alessandro Pilotti
62ce24e218 Refactoring factory methods in functions
Classes are not need in the existing factories.
2014-02-19 17:57:57 +02:00
Alessandro Pilotti
198065f2ca Adds support for multiple instances
Saves plugins data in a per-instance section. This is
useful in case an instance is snapshotted and new instances
are booted from the new image.
2014-02-19 00:34:50 +02:00
Alessandro Pilotti
d7dff62e0a Move to oslo.config 2014-02-10 04:47:28 +02:00
Alessandro Pilotti
b4b3f6bb4e Normalize line endings 2014-02-09 21:41:45 +02:00
Alessandro Pilotti
024758ff10 Adds plugins shared_data support 2013-12-17 00:19:53 +02:00
Alessandro Pilotti
dc57f3f089 Implements Windows OS version check with Win32 API
The goal is to support execution during serialize
after Sysprep where WMI is not available
2013-11-16 16:44:12 +02:00
Alessandro Pilotti
1e4b0275af Adds stop_service_on_exit option 2013-11-15 08:36:18 +02:00
Alessandro Pilotti
72c75ed1ba Adds allow_reboot option 2013-11-12 00:31:11 +08:00
Alessandro Pilotti
68ac62da98 Reboot immediately if a reboot is required
This will avoid issues when executing further plugins (e.g. user_data scripts) with a pending reboot
2013-11-06 09:14:34 +02:00
Alessandro Pilotti
e9b28c51af Adds plugin platform and min os version check
Some plugins support only a given platform and / or a minimum OS version.

ExtendVolumesPlugin is not supported on Windows XP.

This commit adds support for filtering the plugins based on OS
requirements.
2013-08-15 21:36:34 +03:00
Alessandro Pilotti
fcdf299aff Fixes bug in waiting for sysprep completion
wait_for_boot_completion() needs to be called before get_metadata_service()
as the metadata service constructor can fail due to Windows APIs not yet
available.
2013-08-13 00:34:30 +03:00
Alessandro Pilotti
dcafa75141 Logging improvements 2013-05-01 11:31:42 +03:00
Alessandro Pilotti
9a4d0de82e Individual plugin execution completion
Each plugin can now determine if it needs to be executed during the next boot.
Execution completion is now saved for each plugin upon completion.
As a result, in case of an exception during the execution of a plugin, the
plugin will be executed again during the next boot.
2013-04-29 08:01:24 +03:00
Alessandro Pilotti
ae4a270af4 Avoid stopping the service in case of reboot 2013-03-31 04:18:43 +03:00
Alessandro Pilotti
77aa4922c4 Adds clean service shutdown on Windows 2013-03-30 18:41:11 +02:00
Alessandro Pilotti
3b807d53c4 Adds check for sysprep completion 2013-03-30 17:23:08 +02:00
Alessandro Pilotti
fcd8271c5b pylint and pep8 2013-03-29 00:10:07 +02:00
Alessandro Pilotti
41bdcce044 Added check on reboot 2012-12-02 07:13:17 +02:00
Alessandro Pilotti
df6c42aedb Initial commit 2012-12-01 23:50:15 +02:00