[openstack-dev] [heat]Policy on upgades required config changes

2014-03-04 Thread Steven Hardy
Hi all,

As some of you know, I've been working on the instance-users blueprint[1].

This blueprint implementation requires three new items to be added to the
heat.conf, or some resources (those which create keystone users) will not
work:

https://review.openstack.org/#/c/73978/
https://review.openstack.org/#/c/76035/

So on upgrade, the deployer must create a keystone domain and domain-admin
user, add the details to heat.conf, as already been done in devstack[2].

The changes requried for this to work have already landed in devstack, but
it was discussed to day and Clint suggested this may be unacceptable
upgrade behavior - I'm not sure so looking for guidance/comments.

My plan was/is:
- Make devstack work
- Talk to tripleo folks to assist in any transition (what prompted this
  discussion)
- Document the upgrade requirements in the Icehouse release notes so the
  wider community can upgrade from Havana.
- Try to give a heads-up to those maintaining downstream heat deployment
  tools (e.g stackforge/puppet-heat) that some tweaks will be required for
  Icehouse.

However some have suggested there may be an openstack-wide policy which
requires peoples old config files to continue working indefinitely on
upgrade between versions - is this right?  If so where is it documented?

The code itself will handle backwards compatibility where existing stacks
were created with the old code, but I had assumed (as a concession to code
simplicity) that some documented upgrade procedure would be acceptable
rather than hacking in some way to support the previous (broken, ref bug
#1089261) behavior when the config values are not found.

If anyone can clarify the requirement/expectation around config files and
upgrades that would be most helpful, thanks!

Steve

[1] https://blueprints.launchpad.net/heat/+spec/instance-users
[2] https://review.openstack.org/#/c/73324/
https://review.openstack.org/#/c/75424/
https://review.openstack.org/#/c/76036/

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-04 Thread Clint Byrum
Excerpts from Steven Hardy's message of 2014-03-04 09:39:21 -0800:
> Hi all,
> 
> As some of you know, I've been working on the instance-users blueprint[1].
> 
> This blueprint implementation requires three new items to be added to the
> heat.conf, or some resources (those which create keystone users) will not
> work:
> 
> https://review.openstack.org/#/c/73978/
> https://review.openstack.org/#/c/76035/
> 
> So on upgrade, the deployer must create a keystone domain and domain-admin
> user, add the details to heat.conf, as already been done in devstack[2].
> 
> The changes requried for this to work have already landed in devstack, but
> it was discussed to day and Clint suggested this may be unacceptable
> upgrade behavior - I'm not sure so looking for guidance/comments.
> 
> My plan was/is:
> - Make devstack work
> - Talk to tripleo folks to assist in any transition (what prompted this
>   discussion)
> - Document the upgrade requirements in the Icehouse release notes so the
>   wider community can upgrade from Havana.
> - Try to give a heads-up to those maintaining downstream heat deployment
>   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
>   Icehouse.
> 
> However some have suggested there may be an openstack-wide policy which
> requires peoples old config files to continue working indefinitely on
> upgrade between versions - is this right?  If so where is it documented?
> 

I don't think I said indefinitely, and I certainly did not mean
indefinitely.

What is required though, is that we be able to upgrade to the next
release without requiring a new config setting.

Also as we scramble to deal with these things in TripleO (as all of our
users are now unable to spin up new images), it is clear that it is more
than just a setting. One must create domain users carefully and roll out
a new password.

What I'm suggesting is that we should instead _warn_ that the old
behavior is being used and will be deprecated.

At this point, out of urgency, we're landing fixes. But in the future,
this should be considered carefully.

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-05 Thread Steven Hardy
On Tue, Mar 04, 2014 at 02:06:16PM -0800, Clint Byrum wrote:
> Excerpts from Steven Hardy's message of 2014-03-04 09:39:21 -0800:
> > Hi all,
> > 
> > As some of you know, I've been working on the instance-users blueprint[1].
> > 
> > This blueprint implementation requires three new items to be added to the
> > heat.conf, or some resources (those which create keystone users) will not
> > work:
> > 
> > https://review.openstack.org/#/c/73978/
> > https://review.openstack.org/#/c/76035/
> > 
> > So on upgrade, the deployer must create a keystone domain and domain-admin
> > user, add the details to heat.conf, as already been done in devstack[2].
> > 
> > The changes requried for this to work have already landed in devstack, but
> > it was discussed to day and Clint suggested this may be unacceptable
> > upgrade behavior - I'm not sure so looking for guidance/comments.
> > 
> > My plan was/is:
> > - Make devstack work
> > - Talk to tripleo folks to assist in any transition (what prompted this
> >   discussion)
> > - Document the upgrade requirements in the Icehouse release notes so the
> >   wider community can upgrade from Havana.
> > - Try to give a heads-up to those maintaining downstream heat deployment
> >   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
> >   Icehouse.
> > 
> > However some have suggested there may be an openstack-wide policy which
> > requires peoples old config files to continue working indefinitely on
> > upgrade between versions - is this right?  If so where is it documented?
> > 
> 
> I don't think I said indefinitely, and I certainly did not mean
> indefinitely.
> 
> What is required though, is that we be able to upgrade to the next
> release without requiring a new config setting.

So log a warning for one cycle, then it's OK to expect the config after
that?

I'm still unclear if there's an openstack-wide policy on this, as the whole
time-based release with release-notes (which all of openstack is structured
around and adheres to) seems to basically be an uncomfortable fit for folks
like tripleo who are trunk chasing and doing CI.

> Also as we scramble to deal with these things in TripleO (as all of our
> users are now unable to spin up new images), it is clear that it is more
> than just a setting. One must create domain users carefully and roll out
> a new password.

Such are the pitfalls of life at the bleeding edge ;)

Seriously though, apologies for the inconvenience - I have been asking for
feedback on these patches for at least a month, but clearly I should've
asked harder.

As was discussed on IRC yesterday, I think some sort of (initially non-voting)
feedback from tripleo CI to heat gerrit is pretty much essential given that
you're so highly coupled to us or this will just keep happening.

> What I'm suggesting is that we should instead _warn_ that the old
> behavior is being used and will be deprecated.
> 
> At this point, out of urgency, we're landing fixes. But in the future,
> this should be considered carefully.

Ok, well I raised this bug:

https://bugs.launchpad.net/heat/+bug/1287980

So we can modify the stuff so that it falls back to the old behavior
gracefully and will solve the issue for folks on the time-based releases.

Hopefully we can work towards the tripleo gate feedback so next time this
is less of a suprise for all of us ;)

Steve

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-10 Thread Clint Byrum
Excerpts from Steven Hardy's message of 2014-03-05 04:24:51 -0800:
> On Tue, Mar 04, 2014 at 02:06:16PM -0800, Clint Byrum wrote:
> > Excerpts from Steven Hardy's message of 2014-03-04 09:39:21 -0800:
> > > Hi all,
> > > 
> > > As some of you know, I've been working on the instance-users blueprint[1].
> > > 
> > > This blueprint implementation requires three new items to be added to the
> > > heat.conf, or some resources (those which create keystone users) will not
> > > work:
> > > 
> > > https://review.openstack.org/#/c/73978/
> > > https://review.openstack.org/#/c/76035/
> > > 
> > > So on upgrade, the deployer must create a keystone domain and domain-admin
> > > user, add the details to heat.conf, as already been done in devstack[2].
> > > 
> > > The changes requried for this to work have already landed in devstack, but
> > > it was discussed to day and Clint suggested this may be unacceptable
> > > upgrade behavior - I'm not sure so looking for guidance/comments.
> > > 
> > > My plan was/is:
> > > - Make devstack work
> > > - Talk to tripleo folks to assist in any transition (what prompted this
> > >   discussion)
> > > - Document the upgrade requirements in the Icehouse release notes so the
> > >   wider community can upgrade from Havana.
> > > - Try to give a heads-up to those maintaining downstream heat deployment
> > >   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
> > >   Icehouse.
> > > 
> > > However some have suggested there may be an openstack-wide policy which
> > > requires peoples old config files to continue working indefinitely on
> > > upgrade between versions - is this right?  If so where is it documented?
> > > 
> > 
> > I don't think I said indefinitely, and I certainly did not mean
> > indefinitely.
> > 
> > What is required though, is that we be able to upgrade to the next
> > release without requiring a new config setting.
> 
> So log a warning for one cycle, then it's OK to expect the config after
> that?
> 

Correct.

> I'm still unclear if there's an openstack-wide policy on this, as the whole
> time-based release with release-notes (which all of openstack is structured
> around and adheres to) seems to basically be an uncomfortable fit for folks
> like tripleo who are trunk chasing and doing CI.
>

So we're continuous delivery focused, but we are not special. HP Cloud
and Rackspace both do this, and really anyone running a large cloud will
most likely do so with CD, as the value proposition is that you don't
have big scary upgrades, you just keep incrementally upgrading and
getting newer, better code. We can only do this if we have excellent
testing, which upstream already does and which the public clouds all
do privately as well of course.

Changes like the one that was merged last week in Heat turn into
stressful fire drills for those deployment teams.

> > Also as we scramble to deal with these things in TripleO (as all of our
> > users are now unable to spin up new images), it is clear that it is more
> > than just a setting. One must create domain users carefully and roll out
> > a new password.
> 
> Such are the pitfalls of life at the bleeding edge ;)
> 

This is mildly annoying as a stance, as that's not how we've been
operating with all of the other services of OpenStack. We're not crazy
for wanting to deploy master and for wanting master to keep working. We
are a _little_ crazy for wanting that without being in the gate.

> Seriously though, apologies for the inconvenience - I have been asking for
> feedback on these patches for at least a month, but clearly I should've
> asked harder.
> 

Mea culpa too, I did not realize what impact this would have until it
was too late.

> As was discussed on IRC yesterday, I think some sort of (initially non-voting)
> feedback from tripleo CI to heat gerrit is pretty much essential given that
> you're so highly coupled to us or this will just keep happening.
> 

TripleO will be in the gate some day (hopefully soon!) and then this
will be less of an issue as you'd see failures early on, and could open
bugs and get us to fix our issue sooner.

However you'd still need to provide the backward compatibility for a
single cycle. Servers aren't upgraded instantly, and keystone may not be
ready for this v3/domain change until after users have fully rolled out
Icehouse. Whether one is CD or stable release focused, one still needs a
simple solution to rolling out a massive update.

> > What I'm suggesting is that we should instead _warn_ that the old
> > behavior is being used and will be deprecated.
> > 
> > At this point, out of urgency, we're landing fixes. But in the future,
> > this should be considered carefully.
> 
> Ok, well I raised this bug:
> 
> https://bugs.launchpad.net/heat/+bug/1287980
> 
> So we can modify the stuff so that it falls back to the old behavior
> gracefully and will solve the issue for folks on the time-based releases.
> 
> Hopefully we can work towards the tripleo gate feedback so ne

Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-10 Thread Keith Bray
I want to echo Clint's responses... We do run close to Heat master here at
Rackspace, and we'd be happy to set up a non-voting job to notify when a
review would break Heat on our cloud if that would be beneficial.  Some of
the breaks we have seen have been things that simply weren't caught in
code review (a human intensive effort), were specific to the way we
configure Heat for large-scale cloud use, applicable to the entire Heat
project, and not necessarily service provider specific.

-Keith

On 3/10/14 5:19 PM, "Clint Byrum"  wrote:

>Excerpts from Steven Hardy's message of 2014-03-05 04:24:51 -0800:
>> On Tue, Mar 04, 2014 at 02:06:16PM -0800, Clint Byrum wrote:
>> > Excerpts from Steven Hardy's message of 2014-03-04 09:39:21 -0800:
>> > > Hi all,
>> > > 
>> > > As some of you know, I've been working on the instance-users
>>blueprint[1].
>> > > 
>> > > This blueprint implementation requires three new items to be added
>>to the
>> > > heat.conf, or some resources (those which create keystone users)
>>will not
>> > > work:
>> > > 
>> > > https://review.openstack.org/#/c/73978/
>> > > https://review.openstack.org/#/c/76035/
>> > > 
>> > > So on upgrade, the deployer must create a keystone domain and
>>domain-admin
>> > > user, add the details to heat.conf, as already been done in
>>devstack[2].
>> > > 
>> > > The changes requried for this to work have already landed in
>>devstack, but
>> > > it was discussed to day and Clint suggested this may be unacceptable
>> > > upgrade behavior - I'm not sure so looking for guidance/comments.
>> > > 
>> > > My plan was/is:
>> > > - Make devstack work
>> > > - Talk to tripleo folks to assist in any transition (what prompted
>>this
>> > >   discussion)
>> > > - Document the upgrade requirements in the Icehouse release notes
>>so the
>> > >   wider community can upgrade from Havana.
>> > > - Try to give a heads-up to those maintaining downstream heat
>>deployment
>> > >   tools (e.g stackforge/puppet-heat) that some tweaks will be
>>required for
>> > >   Icehouse.
>> > > 
>> > > However some have suggested there may be an openstack-wide policy
>>which
>> > > requires peoples old config files to continue working indefinitely
>>on
>> > > upgrade between versions - is this right?  If so where is it
>>documented?
>> > > 
>> > 
>> > I don't think I said indefinitely, and I certainly did not mean
>> > indefinitely.
>> > 
>> > What is required though, is that we be able to upgrade to the next
>> > release without requiring a new config setting.
>> 
>> So log a warning for one cycle, then it's OK to expect the config after
>> that?
>> 
>
>Correct.
>
>> I'm still unclear if there's an openstack-wide policy on this, as the
>>whole
>> time-based release with release-notes (which all of openstack is
>>structured
>> around and adheres to) seems to basically be an uncomfortable fit for
>>folks
>> like tripleo who are trunk chasing and doing CI.
>>
>
>So we're continuous delivery focused, but we are not special. HP Cloud
>and Rackspace both do this, and really anyone running a large cloud will
>most likely do so with CD, as the value proposition is that you don't
>have big scary upgrades, you just keep incrementally upgrading and
>getting newer, better code. We can only do this if we have excellent
>testing, which upstream already does and which the public clouds all
>do privately as well of course.
>
>Changes like the one that was merged last week in Heat turn into
>stressful fire drills for those deployment teams.
>
>> > Also as we scramble to deal with these things in TripleO (as all of
>>our
>> > users are now unable to spin up new images), it is clear that it is
>>more
>> > than just a setting. One must create domain users carefully and roll
>>out
>> > a new password.
>> 
>> Such are the pitfalls of life at the bleeding edge ;)
>> 
>
>This is mildly annoying as a stance, as that's not how we've been
>operating with all of the other services of OpenStack. We're not crazy
>for wanting to deploy master and for wanting master to keep working. We
>are a _little_ crazy for wanting that without being in the gate.
>
>> Seriously though, apologies for the inconvenience - I have been asking
>>for
>> feedback on these patches for at least a month, but clearly I should've
>> asked harder.
>> 
>
>Mea culpa too, I did not realize what impact this would have until it
>was too late.
>
>> As was discussed on IRC yesterday, I think some sort of (initially
>>non-voting)
>> feedback from tripleo CI to heat gerrit is pretty much essential given
>>that
>> you're so highly coupled to us or this will just keep happening.
>> 
>
>TripleO will be in the gate some day (hopefully soon!) and then this
>will be less of an issue as you'd see failures early on, and could open
>bugs and get us to fix our issue sooner.
>
>However you'd still need to provide the backward compatibility for a
>single cycle. Servers aren't upgraded instantly, and keystone may not be
>ready for this v3/domain change until after users ha

Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Steven Hardy
Hi Keith & Clint,

On Tue, Mar 11, 2014 at 05:05:21AM +, Keith Bray wrote:
> I want to echo Clint's responses... We do run close to Heat master here at
> Rackspace, and we'd be happy to set up a non-voting job to notify when a
> review would break Heat on our cloud if that would be beneficial.  Some of
> the breaks we have seen have been things that simply weren't caught in
> code review (a human intensive effort), were specific to the way we
> configure Heat for large-scale cloud use, applicable to the entire Heat
> project, and not necessarily service provider specific.

I appreciate the feedback and I've certainly learned something during
this process and will endeavor to provide uniformly backwards compatible
changes in future.  I certainly agree we can do things better next time :)

Hopefully you can appreciate that the auth related features I've been
working on have been a large and difficult undertaking, and that once the
transitional pain has passed will bring considerable benefits for both
users and deployers.

One frustration I have is lack of review feedback for most of the
instance-users and v3 keystone work (except for a small and dedicated
subset of the heat-core team, thanks!).  So my feedback to you is if you're
running close to master, we really really need your help during the review
process, to avoid post-merge stress for everyone :)

Re gate CI - it sounds like a great idea, voting and non-voting feedback is
hugely valuable in addition to human reviewer feedback, so hopefully we can
work towards getting such tests in place.

Anyway, apologies again for any inconvenience, hopefully all is working OK
now with the fallback patch I provided.

Steve

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Sean Dague
On 03/04/2014 12:39 PM, Steven Hardy wrote:
> Hi all,
> 
> As some of you know, I've been working on the instance-users blueprint[1].
> 
> This blueprint implementation requires three new items to be added to the
> heat.conf, or some resources (those which create keystone users) will not
> work:
> 
> https://review.openstack.org/#/c/73978/
> https://review.openstack.org/#/c/76035/
> 
> So on upgrade, the deployer must create a keystone domain and domain-admin
> user, add the details to heat.conf, as already been done in devstack[2].
> 
> The changes requried for this to work have already landed in devstack, but
> it was discussed to day and Clint suggested this may be unacceptable
> upgrade behavior - I'm not sure so looking for guidance/comments.
> 
> My plan was/is:
> - Make devstack work
> - Talk to tripleo folks to assist in any transition (what prompted this
>   discussion)
> - Document the upgrade requirements in the Icehouse release notes so the
>   wider community can upgrade from Havana.
> - Try to give a heads-up to those maintaining downstream heat deployment
>   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
>   Icehouse.
> 
> However some have suggested there may be an openstack-wide policy which
> requires peoples old config files to continue working indefinitely on
> upgrade between versions - is this right?  If so where is it documented?

This is basically enforced in code in grenade, the language for this
actually got lost in the project requirements discussion in the TC, I'll
bring that back in the post graduation requirements discussion we're
having again.

The issue is - Heat still doesn't materially participate in grenade.
Heat is substantially far behind the other integrated projects in it's
integration with the upstream testing. Only monday did we finally start
gating on a real unit of work for Heat (the heat-slow jobs). If I was
letter grading projects right now on upstream testing I'd give Nova an
A, Neutron a C (still no full run, no working grenade), and Heat a D.

So in short. Heat did the wrong thing. You should be able to use your
configs from the last release. This is what all the mature projects in
OpenStack do. In the event that you *have* to make a change like that it
requires an UpgradeImpact tag in the commit. And those should be limited
really aggressively. This is the whole point of the deprecation cycle.

-Sean

-- 
Sean Dague
Samsung Research America
s...@dague.net / sean.da...@samsung.com
http://dague.net



signature.asc
Description: OpenPGP digital signature
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Steven Hardy
On Tue, Mar 11, 2014 at 07:04:32AM -0400, Sean Dague wrote:
> On 03/04/2014 12:39 PM, Steven Hardy wrote:
> > Hi all,
> > 
> > As some of you know, I've been working on the instance-users blueprint[1].
> > 
> > This blueprint implementation requires three new items to be added to the
> > heat.conf, or some resources (those which create keystone users) will not
> > work:
> > 
> > https://review.openstack.org/#/c/73978/
> > https://review.openstack.org/#/c/76035/
> > 
> > So on upgrade, the deployer must create a keystone domain and domain-admin
> > user, add the details to heat.conf, as already been done in devstack[2].
> > 
> > The changes requried for this to work have already landed in devstack, but
> > it was discussed to day and Clint suggested this may be unacceptable
> > upgrade behavior - I'm not sure so looking for guidance/comments.
> > 
> > My plan was/is:
> > - Make devstack work
> > - Talk to tripleo folks to assist in any transition (what prompted this
> >   discussion)
> > - Document the upgrade requirements in the Icehouse release notes so the
> >   wider community can upgrade from Havana.
> > - Try to give a heads-up to those maintaining downstream heat deployment
> >   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
> >   Icehouse.
> > 
> > However some have suggested there may be an openstack-wide policy which
> > requires peoples old config files to continue working indefinitely on
> > upgrade between versions - is this right?  If so where is it documented?
> 
> This is basically enforced in code in grenade, the language for this
> actually got lost in the project requirements discussion in the TC, I'll
> bring that back in the post graduation requirements discussion we're
> having again.
> 
> The issue is - Heat still doesn't materially participate in grenade.
> Heat is substantially far behind the other integrated projects in it's
> integration with the upstream testing. Only monday did we finally start
> gating on a real unit of work for Heat (the heat-slow jobs). If I was
> letter grading projects right now on upstream testing I'd give Nova an
> A, Neutron a C (still no full run, no working grenade), and Heat a D.

Thanks for this, I know we have a lot more work to do in tempest, but
evidently grenade integration is something we should priotitize as soon as
possible.  Any volunteers out there? :)

> So in short. Heat did the wrong thing. You should be able to use your
> configs from the last release. This is what all the mature projects in
> OpenStack do. In the event that you *have* to make a change like that it
> requires an UpgradeImpact tag in the commit. And those should be limited
> really aggressively. This is the whole point of the deprecation cycle.

Ok, got that message loud and clear now, thanks ;)

Do you have a link to docs which describe the deprecation cycle and
openstack-wide policy for introducing backwards incompatible changes?

The thing I'm still not that clear on, is if we want to eventually require
a specific config option, and we can't just have an upgrade requirement to
add it as I was expecting - is it enough to just output a warning for one
release cycle then require it?

Then I guess my question is how do we rationalize the requirements of
trunk-chasing downstream users wrt the time based releases as part of the
deprecation cycle policy?

i.e if we branch stable/icehouse then I immediately post a patch removing
the deprecated fallback path, it may still break downstream users who don't
care about the stable-branch process and I have no way of knowing (other
than, as in this case, finding out too late when they shout at me..).

Thanks for contributing to the discussion, hopefully it's not only me who's
somewhat confused by the process, and the requirement to satisfy two quite
different sets of release constraints for downstream deployers.

Perhaps we need a wiki page similar to the StableBranch page which spells
out the requirements for projects wrt trunk-chasing deployers, unless one
exists already?.

Steve

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Sean Dague
On 03/11/2014 07:48 AM, Steven Hardy wrote:
> On Tue, Mar 11, 2014 at 07:04:32AM -0400, Sean Dague wrote:
>> On 03/04/2014 12:39 PM, Steven Hardy wrote:
>>> Hi all,
>>>
>>> As some of you know, I've been working on the instance-users blueprint[1].
>>>
>>> This blueprint implementation requires three new items to be added to the
>>> heat.conf, or some resources (those which create keystone users) will not
>>> work:
>>>
>>> https://review.openstack.org/#/c/73978/
>>> https://review.openstack.org/#/c/76035/
>>>
>>> So on upgrade, the deployer must create a keystone domain and domain-admin
>>> user, add the details to heat.conf, as already been done in devstack[2].
>>>
>>> The changes requried for this to work have already landed in devstack, but
>>> it was discussed to day and Clint suggested this may be unacceptable
>>> upgrade behavior - I'm not sure so looking for guidance/comments.
>>>
>>> My plan was/is:
>>> - Make devstack work
>>> - Talk to tripleo folks to assist in any transition (what prompted this
>>>   discussion)
>>> - Document the upgrade requirements in the Icehouse release notes so the
>>>   wider community can upgrade from Havana.
>>> - Try to give a heads-up to those maintaining downstream heat deployment
>>>   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
>>>   Icehouse.
>>>
>>> However some have suggested there may be an openstack-wide policy which
>>> requires peoples old config files to continue working indefinitely on
>>> upgrade between versions - is this right?  If so where is it documented?
>>
>> This is basically enforced in code in grenade, the language for this
>> actually got lost in the project requirements discussion in the TC, I'll
>> bring that back in the post graduation requirements discussion we're
>> having again.
>>
>> The issue is - Heat still doesn't materially participate in grenade.
>> Heat is substantially far behind the other integrated projects in it's
>> integration with the upstream testing. Only monday did we finally start
>> gating on a real unit of work for Heat (the heat-slow jobs). If I was
>> letter grading projects right now on upstream testing I'd give Nova an
>> A, Neutron a C (still no full run, no working grenade), and Heat a D.
> 
> Thanks for this, I know we have a lot more work to do in tempest, but
> evidently grenade integration is something we should priotitize as soon as
> possible.  Any volunteers out there? :)
> 
>> So in short. Heat did the wrong thing. You should be able to use your
>> configs from the last release. This is what all the mature projects in
>> OpenStack do. In the event that you *have* to make a change like that it
>> requires an UpgradeImpact tag in the commit. And those should be limited
>> really aggressively. This is the whole point of the deprecation cycle.
> 
> Ok, got that message loud and clear now, thanks ;)
> 
> Do you have a link to docs which describe the deprecation cycle and
> openstack-wide policy for introducing backwards incompatible changes?
> 
> The thing I'm still not that clear on, is if we want to eventually require
> a specific config option, and we can't just have an upgrade requirement to
> add it as I was expecting - is it enough to just output a warning for one
> release cycle then require it?

If it has a sane default, so will just work for people, you can add it.
If not, there has to be *BIG RED FLAGS*. UpgradeImpact was designed for
that as an easy way for CD folks to know how bad a weekend they were
going to have.

You could also deprecate whatever the old method was, make the new
options optional, cross a cycle boundary, then move to the new method.

> Then I guess my question is how do we rationalize the requirements of
> trunk-chasing downstream users wrt the time based releases as part of the
> deprecation cycle policy?
> 
> i.e if we branch stable/icehouse then I immediately post a patch removing
> the deprecated fallback path, it may still break downstream users who don't
> care about the stable-branch process and I have no way of knowing (other
> than, as in this case, finding out too late when they shout at me..).

So I will not say the model is anything close to perfect, however we are
under freeze right now. So if the last patch before freeze specified
deprecation, and the first patch in new master was to remove the thing,
we're still talking about 6 weeks signaling in tree. For CDing folks
that should be sufficient.

I do think we probably need to move to release or time based deprecation
models. So what is intended by a 1 release deprecation is really 5 - 6
months. And what's intended by a 2 release deprecation is really 11 - 12
months.

That's probably a reasonable conversation all on it's own.

> Thanks for contributing to the discussion, hopefully it's not only me who's
> somewhat confused by the process, and the requirement to satisfy two quite
> different sets of release constraints for downstream deployers.
> 
> Perhaps we need a wiki page similar to 

Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Steven Dake

On 03/11/2014 04:04 AM, Sean Dague wrote:

On 03/04/2014 12:39 PM, Steven Hardy wrote:

Hi all,

As some of you know, I've been working on the instance-users blueprint[1].

This blueprint implementation requires three new items to be added to the
heat.conf, or some resources (those which create keystone users) will not
work:

https://review.openstack.org/#/c/73978/
https://review.openstack.org/#/c/76035/

So on upgrade, the deployer must create a keystone domain and domain-admin
user, add the details to heat.conf, as already been done in devstack[2].

The changes requried for this to work have already landed in devstack, but
it was discussed to day and Clint suggested this may be unacceptable
upgrade behavior - I'm not sure so looking for guidance/comments.

My plan was/is:
- Make devstack work
- Talk to tripleo folks to assist in any transition (what prompted this
   discussion)
- Document the upgrade requirements in the Icehouse release notes so the
   wider community can upgrade from Havana.
- Try to give a heads-up to those maintaining downstream heat deployment
   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
   Icehouse.

However some have suggested there may be an openstack-wide policy which
requires peoples old config files to continue working indefinitely on
upgrade between versions - is this right?  If so where is it documented?

This is basically enforced in code in grenade, the language for this
actually got lost in the project requirements discussion in the TC, I'll
bring that back in the post graduation requirements discussion we're
having again.

The issue is - Heat still doesn't materially participate in grenade.
Heat is substantially far behind the other integrated projects in it's
integration with the upstream testing. Only monday did we finally start
gating on a real unit of work for Heat (the heat-slow jobs). If I was
letter grading projects right now on upstream testing I'd give Nova an
A, Neutron a C (still no full run, no working grenade), and Heat a D.

Sean,

I agree the Heat community hasn't done a bang-up job of getting 
integrated with Tempest.  We only have 50 functional tests implemented.  
The community clearly needs to do more and provide better functional 
coverage with Heat.


It is inappropriate to say "Only monday did we finally start gating" 
because that was a huge move in the right direction.  It took alot of 
effort and should not be so easily dismissed.  Clearly the community, 
and especially the core developers, are making an effort.  Keep in mind 
we have to balance upstream development work, answering user questions, 
staying on top of a 5 page review queue, keeping relationships and track 
of the various integrated projects which are consuming Heat as a 
building block, plus all of the demands of our day jobs.


We just don't have enough bandwidth on the core team to tackle writing 
all of the tempest test cases ourselves.  We have made an effort to 
distribute this work to the overall heat community via wishlist bugs in 
Heat which several new folks have picked up.  I hope to see our coverage 
improve over time, especially with more advanced scenario tests through 
this effort.


Regards
-steve


So in short. Heat did the wrong thing. You should be able to use your
configs from the last release. This is what all the mature projects in
OpenStack do. In the event that you *have* to make a change like that it
requires an UpgradeImpact tag in the commit. And those should be limited
really aggressively. This is the whole point of the deprecation cycle.

-Sean



___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Sean Dague
On 03/11/2014 10:15 AM, Steven Dake wrote:
> On 03/11/2014 04:04 AM, Sean Dague wrote:
>> On 03/04/2014 12:39 PM, Steven Hardy wrote:
>>> Hi all,
>>>
>>> As some of you know, I've been working on the instance-users blueprint[1].
>>>
>>> This blueprint implementation requires three new items to be added to the
>>> heat.conf, or some resources (those which create keystone users) will not
>>> work:
>>>
>>> https://review.openstack.org/#/c/73978/
>>> https://review.openstack.org/#/c/76035/
>>>
>>> So on upgrade, the deployer must create a keystone domain and domain-admin
>>> user, add the details to heat.conf, as already been done in devstack[2].
>>>
>>> The changes requried for this to work have already landed in devstack, but
>>> it was discussed to day and Clint suggested this may be unacceptable
>>> upgrade behavior - I'm not sure so looking for guidance/comments.
>>>
>>> My plan was/is:
>>> - Make devstack work
>>> - Talk to tripleo folks to assist in any transition (what prompted this
>>>   discussion)
>>> - Document the upgrade requirements in the Icehouse release notes so the
>>>   wider community can upgrade from Havana.
>>> - Try to give a heads-up to those maintaining downstream heat deployment
>>>   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
>>>   Icehouse.
>>>
>>> However some have suggested there may be an openstack-wide policy which
>>> requires peoples old config files to continue working indefinitely on
>>> upgrade between versions - is this right?  If so where is it documented?
>> This is basically enforced in code in grenade, the language for this
>> actually got lost in the project requirements discussion in the TC, I'll
>> bring that back in the post graduation requirements discussion we're
>> having again.
>>
>> The issue is - Heat still doesn't materially participate in grenade.
>> Heat is substantially far behind the other integrated projects in it's
>> integration with the upstream testing. Only monday did we finally start
>> gating on a real unit of work for Heat (the heat-slow jobs). If I was
>> letter grading projects right now on upstream testing I'd give Nova an
>> A, Neutron a C (still no full run, no working grenade), and Heat a D.
> Sean,
> 
> I agree the Heat community hasn't done a bang-up job of getting
> integrated with Tempest.  We only have 50 functional tests implemented. 
> The community clearly needs to do more and provide better functional
> coverage with Heat.
> 
> It is inappropriate to say "Only monday did we finally start gating"
> because that was a huge move in the right direction.  It took alot of
> effort and should not be so easily dismissed.  Clearly the community,
> and especially the core developers, are making an effort.  Keep in mind
> we have to balance upstream development work, answering user questions,
> staying on top of a 5 page review queue, keeping relationships and track
> of the various integrated projects which are consuming Heat as a
> building block, plus all of the demands of our day jobs.

I agree it was a huge step in the right direction. It's not clear to me
why expressing that this was very recent was inappropriate.

Recent conversations have made me realize that a lot of the Heat core
team doesn't realize that Heat's participation in upstream gating is
below average, so I decided to be blunt about it. Because it was only
after being blunt about that with the Neutron team in Hong Kong did we
get any real motion on it (Neutron has seen huge gains this cycle).

All the integrated projects have the same challenges.

Upstream QA is really important. It not only protects heat from itself,
it protects it from changes in other projects.

> We just don't have enough bandwidth on the core team to tackle writing
> all of the tempest test cases ourselves.  We have made an effort to
> distribute this work to the overall heat community via wishlist bugs in
> Heat which several new folks have picked up.  I hope to see our coverage
> improve over time, especially with more advanced scenario tests through
> this effort.

Bandwidth is a problem for everyone. It's a matter of priorities. The
fact that realistic upstream gating is considered wishlist priority in
from a Heat perspective is something I find troubling.

Putting the investment into realistic scenarios in Tempest / gate is
going to be a huge timesaving for the Heat team. It will ensure Heat is
functioning at every commit (not just releases), it will protect Heat
from chasing breaking issues in Keystone or Nova, and it will mean that
we'll expose more subtle issues that only come with being able to do
data analysis on 10k runs.

I get it's never fun to hear that a project is below average on a metric
that's important to the OpenStack community. But if we aren't honest and
open about these things they never change.

-Sean

--
Sean Dague
Samsung Research America
s...@dague.net / sean.da...@samsung.com
http://dague.net



signature.asc
Description: OpenPGP dig

Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Steven Dake

On 03/11/2014 07:35 AM, Sean Dague wrote:

On 03/11/2014 10:15 AM, Steven Dake wrote:

On 03/11/2014 04:04 AM, Sean Dague wrote:

On 03/04/2014 12:39 PM, Steven Hardy wrote:

Hi all,

As some of you know, I've been working on the instance-users blueprint[1].

This blueprint implementation requires three new items to be added to the
heat.conf, or some resources (those which create keystone users) will not
work:

https://review.openstack.org/#/c/73978/
https://review.openstack.org/#/c/76035/

So on upgrade, the deployer must create a keystone domain and domain-admin
user, add the details to heat.conf, as already been done in devstack[2].

The changes requried for this to work have already landed in devstack, but
it was discussed to day and Clint suggested this may be unacceptable
upgrade behavior - I'm not sure so looking for guidance/comments.

My plan was/is:
- Make devstack work
- Talk to tripleo folks to assist in any transition (what prompted this
   discussion)
- Document the upgrade requirements in the Icehouse release notes so the
   wider community can upgrade from Havana.
- Try to give a heads-up to those maintaining downstream heat deployment
   tools (e.g stackforge/puppet-heat) that some tweaks will be required for
   Icehouse.

However some have suggested there may be an openstack-wide policy which
requires peoples old config files to continue working indefinitely on
upgrade between versions - is this right?  If so where is it documented?

This is basically enforced in code in grenade, the language for this
actually got lost in the project requirements discussion in the TC, I'll
bring that back in the post graduation requirements discussion we're
having again.

The issue is - Heat still doesn't materially participate in grenade.
Heat is substantially far behind the other integrated projects in it's
integration with the upstream testing. Only monday did we finally start
gating on a real unit of work for Heat (the heat-slow jobs). If I was
letter grading projects right now on upstream testing I'd give Nova an
A, Neutron a C (still no full run, no working grenade), and Heat a D.

Sean,

I agree the Heat community hasn't done a bang-up job of getting
integrated with Tempest.  We only have 50 functional tests implemented.
The community clearly needs to do more and provide better functional
coverage with Heat.

It is inappropriate to say "Only monday did we finally start gating"
because that was a huge move in the right direction.  It took alot of
effort and should not be so easily dismissed.  Clearly the community,
and especially the core developers, are making an effort.  Keep in mind
we have to balance upstream development work, answering user questions,
staying on top of a 5 page review queue, keeping relationships and track
of the various integrated projects which are consuming Heat as a
building block, plus all of the demands of our day jobs.

I agree it was a huge step in the right direction. It's not clear to me
why expressing that this was very recent was inappropriate.

Recent conversations have made me realize that a lot of the Heat core
team doesn't realize that Heat's participation in upstream gating is
below average, so I decided to be blunt about it. Because it was only
after being blunt about that with the Neutron team in Hong Kong did we
get any real motion on it (Neutron has seen huge gains this cycle).

All the integrated projects have the same challenges.

Upstream QA is really important. It not only protects heat from itself,
it protects it from changes in other projects.


We just don't have enough bandwidth on the core team to tackle writing
all of the tempest test cases ourselves.  We have made an effort to
distribute this work to the overall heat community via wishlist bugs in
Heat which several new folks have picked up.  I hope to see our coverage
improve over time, especially with more advanced scenario tests through
this effort.

Bandwidth is a problem for everyone. It's a matter of priorities. The
fact that realistic upstream gating is considered wishlist priority in
from a Heat perspective is something I find troubling.

Sean,

Unfortunately the root of the problem is there is no way to track in one 
place the suggested test cases for projects.  The Tempest community 
doesn't want test cases in the tempest launchpad tracker. At one point 
we were told to track the work using etherpads, which is absolutely 
ridiculous.


So we must resort to using wishlist priority.  In all cases, a user bug 
that has a negative impact on operation of Heat is higher priority then 
implementing functional testing.  I get that if we had functional 
testing, maybe that bug wouldn't have been filed in the first case.  
However, we are in a situation where we already have the bugs, and they 
already need to be addressed.


If the test cases were stored in tempest launchpad, they could be 
properly prioritized from a "upstream-testing POV".  The purpose of the 
Heat launchpad tracker is to ide

Re: [openstack-dev] [heat]Policy on upgades required config changes

2014-03-11 Thread Zane Bitter

On 11/03/14 01:05, Keith Bray wrote:

We do run close to Heat master here at
Rackspace, and we'd be happy to set up a non-voting job to notify when a
review would break Heat on our cloud if that would be beneficial.  Some of
the breaks we have seen have been things that simply weren't caught in
code review (a human intensive effort), were specific to the way we
configure Heat for large-scale cloud use, applicable to the entire Heat
project, and not necessarily service provider specific.


+1, thanks Keith that sounds like a great idea. it's obviously not 
possible to test every configuration, but testing a "typical large 
operator" configuration would be a big plus for the project.


cheers,
Zane.

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev