Re: [openstack-dev] [Solum] Gated Source Code Flow (was: Weekly Team Meeting)

2013-11-13 Thread Roshan Agrawal
Speaking of tests: we have unit tests and we will have integration tests. Unit 
tests may not require a fully deployment application, but integration tests do. 
The nature of tests executed during the CI/gate process will determine what 
Solum API needs to be invoked [based on if we we need a fully deployment 
environment to run the integration tests or need something less elaborate to 
run the unit tests]

From: Clayton Coleman [ccole...@redhat.com]
Sent: Wednesday, November 13, 2013 3:09 PM
To: OpenStack Development Mailing List (not for usage questions)
Subject: Re: [openstack-dev] [Solum] Gated Source Code Flow (was: Weekly Team 
Meeting)

- Original Message -
> Clayton,
>
> On Nov 13, 2013, at 11:41 AM, Clayton Coleman 
>  wrote:
>
> > - Original Message -
> >> Hello,
> >>
> >> Solum meets Tuesdays at 1600 UTC in #openstack-meeting-alt (formerly in
> >> #solum)
> >>
> >>
> >> Note: Due to the Nov 3rd change in Daylight Savings Time, this now happens
> >> at
> >> 08:00 US/Pacific (starts in about 45 minutes from now)
> >>
> >>
> >> Agenda: https://wiki.openstack.org/wiki/Meetings/Solum
> >
> > In the meeting yesterday there was a mention of a "gated" source code flow
> > (where a push might go to an external system, and the gate system
> > github/gerritt/etc would control when the commit goes back to the primary
> > repository).  I've added that flow to
> > https://wiki.openstack.org/wiki/File:Solum_r01_flow.jpeg as well as a
> > mention of the DNS abstraction (a deployed assembly may or may not have an
> > assigned DNS identity).
>
> Are the two "source change notification abstraction" flows really different?
> Could we express this with two lines converging on "Notify Solum API …" in a
> single flow with two similar entrances.

I think you hit on something fundamental - I reswizzled the diagram to show the 
"gate" flow moving into the normal "source push" flow after tests pass. 
https://wiki.openstack.org/w/images/7/72/Solum_r01_flow.jpeg

>
> One key difference that I noticed between those two proposed flows are that
> the "gate" type uses the Solum API to test code, and the "push" one does
> not. Perhaps both should run unit tests in the same way with an option to
> bypass steps for those who don't want them?

Yeah - this also highlights that an input to the "build" flow might be the 
desired outcome - possibly "no deploy", "deploy", "deploy as temporary assembly 
X", or "deploy as temporary assembly X without tests". There may be consumers 
who wish to make Solum the end result of a flow, but if the tools and 
abstractions Solum offers for build and deploy are compelling, we should expect 
to want to let external systems utilize Solum as much as possible.  Another 
point of discussion is whether "test" is part of both "build" and "deploy", or 
just part of "deploy".  If it's part of both, perhaps "deploy" and "build" need 
to have similar ways of letting someone run their tests at the right 
opportunities.


___
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] [Solum] Gated Source Code Flow (was: Weekly Team Meeting)

2013-11-13 Thread Clayton Coleman


- Original Message -
> Clayton,
> 
> On Nov 13, 2013, at 11:41 AM, Clayton Coleman 
>  wrote:
> 
> > - Original Message -
> >> Hello,
> >> 
> >> Solum meets Tuesdays at 1600 UTC in #openstack-meeting-alt (formerly in
> >> #solum)
> >> 
> >> 
> >> Note: Due to the Nov 3rd change in Daylight Savings Time, this now happens
> >> at
> >> 08:00 US/Pacific (starts in about 45 minutes from now)
> >> 
> >> 
> >> Agenda: https://wiki.openstack.org/wiki/Meetings/Solum
> > 
> > In the meeting yesterday there was a mention of a "gated" source code flow
> > (where a push might go to an external system, and the gate system
> > github/gerritt/etc would control when the commit goes back to the primary
> > repository).  I've added that flow to
> > https://wiki.openstack.org/wiki/File:Solum_r01_flow.jpeg as well as a
> > mention of the DNS abstraction (a deployed assembly may or may not have an
> > assigned DNS identity).
> 
> Are the two "source change notification abstraction" flows really different?
> Could we express this with two lines converging on "Notify Solum API …" in a
> single flow with two similar entrances.

I think you hit on something fundamental - I reswizzled the diagram to show the 
"gate" flow moving into the normal "source push" flow after tests pass. 
https://wiki.openstack.org/w/images/7/72/Solum_r01_flow.jpeg

> 
> One key difference that I noticed between those two proposed flows are that
> the "gate" type uses the Solum API to test code, and the "push" one does
> not. Perhaps both should run unit tests in the same way with an option to
> bypass steps for those who don't want them?

Yeah - this also highlights that an input to the "build" flow might be the 
desired outcome - possibly "no deploy", "deploy", "deploy as temporary assembly 
X", or "deploy as temporary assembly X without tests". There may be consumers 
who wish to make Solum the end result of a flow, but if the tools and 
abstractions Solum offers for build and deploy are compelling, we should expect 
to want to let external systems utilize Solum as much as possible.  Another 
point of discussion is whether "test" is part of both "build" and "deploy", or 
just part of "deploy".  If it's part of both, perhaps "deploy" and "build" need 
to have similar ways of letting someone run their tests at the right 
opportunities.


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


Re: [openstack-dev] [Solum] Gated Source Code Flow (was: Weekly Team Meeting)

2013-11-13 Thread Georgy Okrokvertskhov
Hi Adrian,

It looks like that the final stage on all pictures is a "Deploy" stage.
What kind of process do you have in mind for CI\CD?
When you use "gate" system it is typical to have multiple gates. The usual
ones are: "code review\approved", "smoke test \ unit test pass",
"integration test pass", "performance\scalability test pass", "accepted for
production". Each gate might be a quite complex process for the large
application including multiple deployment to different stage environments.
Also it is typical to have one build and then promote it between different
stages.

Will Solum API support flexible CI\CD flows where user can define specific
stages and gates and actions for each of them?

Thanks
Georgy


On Wed, Nov 13, 2013 at 12:27 PM, Adrian Otto wrote:

> Clayton,
>
> On Nov 13, 2013, at 11:41 AM, Clayton Coleman 
>  wrote:
>
> > - Original Message -
> >> Hello,
> >>
> >> Solum meets Tuesdays at 1600 UTC in #openstack-meeting-alt (formerly in
> >> #solum)
> >>
> >>
> >> Note: Due to the Nov 3rd change in Daylight Savings Time, this now
> happens at
> >> 08:00 US/Pacific (starts in about 45 minutes from now)
> >>
> >>
> >> Agenda: https://wiki.openstack.org/wiki/Meetings/Solum
> >
> > In the meeting yesterday there was a mention of a "gated" source code
> flow (where a push might go to an external system, and the gate system
> github/gerritt/etc would control when the commit goes back to the primary
> repository).  I've added that flow to
> https://wiki.openstack.org/wiki/File:Solum_r01_flow.jpeg as well as a
> mention of the DNS abstraction (a deployed assembly may or may not have an
> assigned DNS identity).
>
> Are the two "source change notification abstraction" flows really
> different? Could we express this with two lines converging on "Notify Solum
> API …" in a single flow with two similar entrances.
>
> One key difference that I noticed between those two proposed flows are
> that the "gate" type uses the Solum API to test code, and the "push" one
> does not. Perhaps both should run unit tests in the same way with an option
> to bypass steps for those who don't want them?
>
> Adrian
> ___
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>



-- 
Georgy Okrokvertskhov
Technical Program Manager,
Cloud and Infrastructure Services,
Mirantis
http://www.mirantis.com
Tel. +1 650 963 9828
Mob. +1 650 996 3284
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Solum] Gated Source Code Flow (was: Weekly Team Meeting)

2013-11-13 Thread Adrian Otto
Clayton,

On Nov 13, 2013, at 11:41 AM, Clayton Coleman 
 wrote:

> - Original Message -
>> Hello,
>> 
>> Solum meets Tuesdays at 1600 UTC in #openstack-meeting-alt (formerly in
>> #solum)
>> 
>> 
>> Note: Due to the Nov 3rd change in Daylight Savings Time, this now happens at
>> 08:00 US/Pacific (starts in about 45 minutes from now)
>> 
>> 
>> Agenda: https://wiki.openstack.org/wiki/Meetings/Solum
> 
> In the meeting yesterday there was a mention of a "gated" source code flow 
> (where a push might go to an external system, and the gate system 
> github/gerritt/etc would control when the commit goes back to the primary 
> repository).  I've added that flow to 
> https://wiki.openstack.org/wiki/File:Solum_r01_flow.jpeg as well as a mention 
> of the DNS abstraction (a deployed assembly may or may not have an assigned 
> DNS identity).

Are the two "source change notification abstraction" flows really different? 
Could we express this with two lines converging on "Notify Solum API …" in a 
single flow with two similar entrances.

One key difference that I noticed between those two proposed flows are that the 
"gate" type uses the Solum API to test code, and the "push" one does not. 
Perhaps both should run unit tests in the same way with an option to bypass 
steps for those who don't want them?

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