On Fri, Nov 29, 2013 at 10:05 AM, Jose A. Lopes <[email protected]> wrote:
> The instance shutdown retry loop only forces shutdown on timeout, not
> if the hypervisor raises an exception.  However, forcing instance
> shutdown in this situation is necessary to cope with instance shutdown
> detection and the possibility of managing instances created with other
> versions of Ganeti.
>
> Signed-off-by: Jose A. Lopes <[email protected]>
> ---
>  lib/backend.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/backend.py b/lib/backend.py
> index 9e12639..114a807 100644
> --- a/lib/backend.py
> +++ b/lib/backend.py
> @@ -1411,7 +1411,7 @@ def InstanceShutdown(instance, timeout, reason, 
> store_reason=True):
>
>    try:
>      utils.Retry(_TryShutdown(), 5, timeout)
> -  except utils.RetryTimeout:
> +  except (utils.RetryTimeout, RPCFail):#

I'm not convinced this is the right patch.
You're even retrying in the end of any condition that would be an rpc
fail: isn't this too broad?
Shouldn't this be coped with *inside* the hypervisor, instead of at
backend level?

Thanks,

Guido


>      # the shutdown did not succeed
>      logging.error("Shutdown of '%s' unsuccessful, forcing", iname)
>
> --
> 1.8.4.1
>



-- 
Guido Trotter
Ganeti Engineering
Google Germany GmbH
Dienerstr. 12, 80331, München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores
Steuernummer: 48/725/00206
Umsatzsteueridentifikationsnummer: DE813741370

Reply via email to