(* Probe the template for various features. *)
let template_info = Template.probe ~verbose template_filename in
+ (* Check --size is not too small. *)
+ let size =
+ match !size, template_info.Template.minimum_size with
+ | 0L, None -> 0L (* virt-builder default *)
+ | 0L, Some min_size -> (* go with template minimum size *)
+ min_size
+ | size, Some min_size when size < min_size ->
+ eprintf "mclu: --size parameter is smaller than the minimum specified by the template (%s).\n"
+ (human_size min_size);
+ exit 1
+ | size, _ -> size in (* go with user-specified size *)
+
(* Decide how much RAM we will give the guest. This affects our
* choice of node, so do it early.
*)
fpf "export format=%s\n" (quote format);
fpf "export name=%s\n" (quote name);
fpf "export output=%s\n" (quote remote_image);
- (match !size with
+ (match size with
| 0L -> ()
| size -> fpf "export size=%s\n" (quote (sprintf "--size %Ldb" size))
);