Right now, a Juju machine agent is in "upgrade mode" from the moment it starts until the upgrade-steps worker is finished. During this period API logins are heavily restricted and most of the agent's workers don't start until upgrade mode stops.
This happens even when there is no upgrade to perform. The upgrade-steps worker always runs at machine agent startup and upgrade mode is in force until it finishes. Upgrade mode is typically short-lived (say 10 seconds) but if something is wrong (e.g. mongo issues) the upgrade-steps worker may take longer or not finish resulting in the user seeing lots of "upgrade in progress" messages from the client and in the logs. This is particularly confusing when a user hasn't even requested an upgrade themselves. I would like to change the machine agent so that upgrade mode is only entered if the version in agent.conf is different from the running software version. This would mean that upgrade mode is only entered if there is an actual upgrade to perform. The version in agent.conf is only updated after a successful upgrade so it is the right thing to use to determine if upgrade mode should be entered. The current behaviour means that the (idempotent) upgrade steps for the current version are always run each time the machine agent starts. If the change I'm proposing is implemented this will no longer happen. Does this seem like a problem to anyone? For instance, do we rely on the upgrade steps for the current version being run after bootstrap? The ticket for this work is at: https://bugs.launchpad.net/bugs/1350111 Cheers, Menno
-- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev