Signed-off-by: Rob Hoes <[email protected]>

# HG changeset patch
# User Rob Hoes <[email protected]>
# Date 1294419411 0
# Node ID bd7e14b4c9e36e5616530a2f14d130845edd3b07
# Parent  ee1f39a1e592c6bace29a4a3b65efb53f8162b0f
CA-36391: Improve failure behaviour of xe host-apply-edition

Signed-off-by: Rob Hoes <[email protected]>

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
# HG changeset patch
# User Rob Hoes <[email protected]>
# Date 1294419411 0
# Node ID bd7e14b4c9e36e5616530a2f14d130845edd3b07
# Parent  ee1f39a1e592c6bace29a4a3b65efb53f8162b0f
CA-36391: Improve failure behaviour of xe host-apply-edition

Signed-off-by: Rob Hoes <[email protected]>

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
_______________________________________________
xen-api mailing list
[email protected]
http://lists.xensource.com/mailman/listinfo/xen-api

Reply via email to