Allow an external kernel to be used to boot guests.
[mclu.git] / template.ml
index 29af293..4db0b66 100644 (file)
@@ -78,6 +78,8 @@ type template_info = {
   minimum_size : int64 option;
   disk_bus : string option;
   network_model : string option;
+  has_xml_target : bool;
+  needs_external_kernel : bool;
 }
 
 let probe ?(verbose = false) filename =
@@ -135,9 +137,19 @@ let probe ?(verbose = false) filename =
     | Some [answer] -> Some answer
     | _ -> None in
 
+  let has_xml_target = run_template ~verbose filename "xml" [] <> None in
+
+  let needs_external_kernel =
+    match run_template ~verbose filename "needs-external-kernel" [] with
+    | None -> false
+    | Some ["1"|"yes"] -> true
+    | Some _ -> false in
+
   { base_image = base_image;
     minimum_memory = minimum_memory;
     recommended_memory = recommended_memory;
     minimum_size = minimum_size;
     disk_bus = disk_bus;
-    network_model = network_model }
+    network_model = network_model;
+    has_xml_target = has_xml_target;
+    needs_external_kernel = needs_external_kernel; }