let get_arg_speclist () = []
let destroy ~verbose ?host name =
- let nodes = Mclu_conf.nodes () in
- let node =
- match host with
- | Some host ->
- (try List.find (fun n -> host = n.Mclu_conf.hostname) nodes
- with Not_found ->
- eprintf "mclu: host '%s' not found\n" host;
- exit 1)
- | None ->
- (* No 'host:' prefix given, so we need to find the host. *)
- let guests = Mclu_list.active_guests ~verbose ~nodes () in
- let node, _ =
- try
- List.find (
- fun (node, doms) ->
- List.exists (
- fun dom ->
- name = dom.Mclu_list.dom_name
- ) doms
- ) guests
- with
- Not_found ->
- eprintf "mclu: guest '%s' not found\n" name;
- exit 1 in
- node in
-
+ let node, name = Mclu_list.find_guest ~verbose name in
let uri = node.Mclu_conf.libvirt_uri in
let cmd = sprintf "virsh -c %s destroy %s" (quote uri) (quote name) in
)
let run ~verbose = function
- | [ name ] ->
- let host, name = name_parse name in
- destroy ~verbose ?host name
+ | [ name ] -> destroy ~verbose name
| _ ->
eprintf "Usage: mclu destroy <[host:]name>\n";
exit 1