On Wed, Sep 17, 2014 at 11:15 AM, Dimiter Naydenov <[email protected]> wrote: > 2. Even if not all state server have synchronized some time after the > upgrade, it's possible for the worker to connect to an apiserver which > is not yet "fully upgraded" to support APIV1. The worker tries to > connect, requests version 1, does not get it and terminates, > triggering a restart and hopefully connecting to another apiserver > which supports APIV1 (or keeps restarting until it does, but it should > be for a relatively short time).
Rather than failing out, I'd prefer to see us generalise the "waiting for state server to be upgraded" approach used in Uniter.getJoinedRelations -- it's good that we can and do recover, but it'd be even better if we anticipated the situation and logged it calmly at info level (rather than spamming the log with errors that aren't really errors). > So, once there's an upgrade step in place, I see no point in keeping > the older worker code (using APIV0 only) around. The only reason for > keeping the old code is if we happen to connect to an apiserver which > does not support APIV1 (therefore we can't use the new worker code > which only works with APIV1) and have to fall back to the old code. +1 to dropping old worker code, though. Cheers William -- Juju-dev mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
