Re: avoiding unnecessarily entering upgrade mode
On 6 August 2014 19:09, Dimiter Naydenov dimiter.nayde...@canonical.com wrote: 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. If you are referring to Upgraded-To version field in agent config, I think this is set after the upgrade completes, so it might be unavailable before that. I think this should be OK. The upgradedToVersion field in an agent.conf will be set to the last version for which upgrade steps were successfully performed. If this is the same as version.Current then we know there will be no upgrade to perform. If they are different, or if upgradedToVersion is not set, then we know there may be upgrade steps to perform. Thanks, Menno -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
Re: avoiding unnecessarily entering upgrade mode
On 7 August 2014 03:13, William Reade william.re...@canonical.com wrote: SGTM too. It should always have worked like this -- rerunning all our upgrade steps every time is *crazy*. Sorry, I got this detail wrong. The machine agent isn't rerunning upgrade steps unnecessarily, but it is waiting for an unnecessarily long time before the deciding on whether upgrades are required. This is what I'm fixing (today). - Menno -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
Re: avoiding unnecessarily entering upgrade mode
That sounds like what I would have expected was happening (we only run upgrade steps if we think they have a reason to change things, and then only set the last known version once all the upgrade steps have finished.) I'm concerned about the if there is a mongo problem, because if we're running into problems for things we think are idempotent, then we might have a genuine problem with them. John =:- On Wed, Aug 6, 2014 at 3:21 AM, Horacio Duran horacio.du...@canonical.com wrote: You had my verbal SGTM but have it written also On Tuesday, August 5, 2014, David Cheney david.che...@canonical.com wrote: SGTM. On Wed, Aug 6, 2014 at 11:10 AM, Menno Smits menno.sm...@canonical.com wrote: 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 -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
Re: avoiding unnecessarily entering upgrade mode
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 This SGTM as well, however (see below)... On 6.08.2014 04:10, Menno Smits wrote: 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. If you are referring to Upgraded-To version field in agent config, I think this is set after the upgrade completes, so it might be unavailable before that. 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 https://bugs.launchpad.net/bugs/1350111 Cheers, Menno - -- Dimiter Naydenov dimiter.nayde...@canonical.com juju-core team -BEGIN PGP SIGNATURE- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJT4dTFAAoJENzxV2TbLzHw67QH/i3n2oAsM4f2JZws1HZLQ+GL Q9aqMPdZUPZwbNcHvawgNrB8oWsY5PpaTjjgDSxhuDYZIsGSCzGIU/HSzTDhJPK4 4W/83TEXQQ7DoXVGI5Gbt4YToucunGtnyEB0xvd+sKjuTIq28fBeDqt0js/UNnCs a4A3FPPybvv8F6PjThWPmqTsSeArlJ+Qa8alNjl0oIqCihTf9OH5/0lgJ4M0Gs8d uM3M5UndMSzeoJQ7glBprqWmy1WRICEOEU/F4tuF5HgjPwulJbtItDHfK/Z54YBf W55ElyaOWZMGPIl2DiQru5KBjIgb1S5/YjRyqvyf4yxQseu58Z6fYtkpa6kzXP0= =aL8G -END PGP SIGNATURE- -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
Re: avoiding unnecessarily entering upgrade mode
SGTM too. It should always have worked like this -- rerunning all our upgrade steps every time is *crazy*. On Wed, Aug 6, 2014 at 3:19 AM, David Cheney david.che...@canonical.com wrote: SGTM. On Wed, Aug 6, 2014 at 11:10 AM, Menno Smits menno.sm...@canonical.com wrote: 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 -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
Re: avoiding unnecessarily entering upgrade mode
SGTM. On Wed, Aug 6, 2014 at 11:10 AM, Menno Smits menno.sm...@canonical.com wrote: 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 -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev
Re: avoiding unnecessarily entering upgrade mode
You had my verbal SGTM but have it written also On Tuesday, August 5, 2014, David Cheney david.che...@canonical.com wrote: SGTM. On Wed, Aug 6, 2014 at 11:10 AM, Menno Smits menno.sm...@canonical.com javascript:; wrote: 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 javascript:; Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev -- Juju-dev mailing list Juju-dev@lists.ubuntu.com javascript:; Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev -- Juju-dev mailing list Juju-dev@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/juju-dev