# HG changeset patch # User Rob Hoes # Date 1294419411 0 # Node ID bd7e14b4c9e36e5616530a2f14d130845edd3b07 # Parent ee1f39a1e592c6bace29a4a3b65efb53f8162b0f CA-36391: Improve failure behaviour of xe host-apply-edition Signed-off-by: Rob Hoes diff -r ee1f39a1e592 -r bd7e14b4c9e3 ocaml/xapi/cli_operations.ml --- a/ocaml/xapi/cli_operations.ml +++ b/ocaml/xapi/cli_operations.ml @@ -2571,6 +2571,7 @@ Client.Host.get_by_uuid rpc session_id (List.assoc "host-uuid" params) else get_host_from_session rpc session_id in + let current_license_server = Client.Host.get_license_server rpc session_id host in let edition = List.assoc "edition" params in if List.mem_assoc "license-server-address" params then begin let address = List.assoc "license-server-address" params in @@ -2592,6 +2593,8 @@ Client.Host.apply_edition rpc session_id host edition with | Api_errors.Server_error (name, args) when name = Api_errors.license_checkout_error -> + (* Put back original license server details *) + Client.Host.set_license_server rpc session_id host current_license_server; let alerts = Client.Message.get_since rpc session_id (Date.of_float now) in let print_if_checkout_error (ref, msg) = if msg.API.message_name = "LICENSE_NOT_AVAILABLE" || msg.API.message_name = "LICENSE_SERVER_UNREACHABLE" then