Re: avoiding unnecessarily entering upgrade mode

2014-08-10 Thread Menno Smits
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

2014-08-10 Thread Menno Smits
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

2014-08-06 Thread John Meinel
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

2014-08-06 Thread Dimiter Naydenov
-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

2014-08-06 Thread William Reade
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

2014-08-05 Thread David Cheney
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

2014-08-05 Thread Horacio Duran
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