summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/vm-configurator.vala9
-rw-r--r--src/vm-creator.vala12
2 files changed, 18 insertions, 3 deletions
diff --git a/src/vm-configurator.vala b/src/vm-configurator.vala
index abba7c7..aa1f179 100644
--- a/src/vm-configurator.vala
+++ b/src/vm-configurator.vala
@@ -102,9 +102,6 @@ private class Boxes.VMConfigurator {
}
public static void post_install_setup (Domain domain) {
- try {
- domain.set_custom_xml (INSTALLED_XML, BOXES_NS, BOXES_NS_URI);
- } catch (GLib.Error error) { assert_not_reached (); /* We are so screwed if this happens */ }
set_post_install_os_config (domain);
domain.set_lifecycle (DomainLifecycleEvent.ON_REBOOT, DomainLifecycleAction.RESTART);
@@ -125,6 +122,12 @@ private class Boxes.VMConfigurator {
domain.set_devices (devices);
}
+ public static void mark_as_installed (Domain domain) {
+ try {
+ domain.set_custom_xml (INSTALLED_XML, BOXES_NS, BOXES_NS_URI);
+ } catch (GLib.Error error) { assert_not_reached (); /* We are so screwed if this happens */ }
+ }
+
public static bool is_install_config (Domain domain) {
return get_os_state (domain) == INSTALLATION_STATE;
}
diff --git a/src/vm-creator.vala b/src/vm-creator.vala
index 300ed16..0376b31 100644
--- a/src/vm-creator.vala
+++ b/src/vm-creator.vala
@@ -95,6 +95,7 @@ private class Boxes.VMCreator {
var volume = get_storage_volume (connection, domain, null);
if (guest_installed_os (volume)) {
+ mark_as_installed (domain);
try {
domain.start (0);
} catch (GLib.Error error) {
@@ -129,6 +130,17 @@ private class Boxes.VMCreator {
}
}
+ private void mark_as_installed (Domain domain) {
+ debug ("Marking '%s' as installed.", domain.get_name ());
+ try {
+ var config = domain.get_config (0);
+ VMConfigurator.mark_as_installed (config);
+ domain.set_config (config);
+ } catch (GLib.Error error) {
+ warning ("Failed to marking domain '%s' as installed: %s", domain.get_uuid (), error.message);
+ }
+ }
+
private bool guest_installed_os (StorageVol volume) {
try {
var info = volume.get_info ();