OPNFV CI Transformation


Trevor Bramwell
 

Hey Project Leads,

I wanted to get your feedback on a recommendation I plan to bring to the
TSC. After comparing the options for CI SaaS platforms I settled
on recommending we move from Gerrit and Jenkins to GitLab and GitLab-CI.

As some of you'll be curious as to "Why GitLab vs <insert other CI platform>",
I've included a link on the final slide to some of my research[2].

If you have some time to look over the presentation and respond with any
questions or comments, it would be greatly appreciated. Or if you'd like
to discuss this with more bandwidth I've asked Jack to add it to the
Tech Discuss call agenda next Monday[1].

Regards,
Trevor Bramwell

[1] https://wiki.opnfv.org/display/PROJ/Weekly+Technical+Discussion
[2] https://wiki.lfnetworking.org/x/CwhoAg


Alec Hothan
 

Hi Trevor,

 

As  PTL and CI/CD user, I am excited to finally see a way – any way - out of the current Jenkins-Gerrit situation.

I found the Jenkins approach and need to go through JJB to be very cumbersome and hard to customize to each project’s needs (and no I do not want to become an expert in JJB). That CI/CD was the only service I hated in OPNFV.

 

Gitlab CI looks pretty good and I’d be interested to give it a try if you can provide any instructions specific to opnfv projects.

My immediate need for ci/cd is to be able to build intel x86 docker container and VM images in terms of ci/cd, which should be straightforward with Gitlab-CI.

The next step is to be able to run the builds and verify them on a LaaS pod. Has there been any discussion with the LaaS team yet on how this can be made possible?

 

 

So it is +1 for me.

 

Thanks for leading this,

 

   Alec

 

 

 

 

 

From: <opnfv-project-leads@...> on behalf of Trevor Bramwell <tbramwell@...>
Date: Tuesday, August 4, 2020 at 4:12 PM
To: <opnfv-project-leads@...>
Subject: [opnfv-project-leads] OPNFV CI Transformation

 

Hey Project Leads,

 

I wanted to get your feedback on a recommendation I plan to bring to the

TSC. After comparing the options for CI SaaS platforms I settled

on recommending we move from Gerrit and Jenkins to GitLab and GitLab-CI.

 

As some of you'll be curious as to "Why GitLab vs <insert other CI platform>",

I've included a link on the final slide to some of my research[2].

 

If you have some time to look over the presentation and respond with any

questions or comments, it would be greatly appreciated. Or if you'd like

to discuss this with more bandwidth I've asked Jack to add it to the

Tech Discuss call agenda next Monday[1].

 

Regards,

Trevor Bramwell

 

 

 

 


Georg Kunz <georg.kunz@...>
 

HI Trevor,

I think this is a good proposal. One question regarding the first table [1]: It seems githab-ci cannot report back to Gerrit, meaning that projects moving to the new CI system also have to move to Gitlab at the same time, making it more an ad-hoc move instead of a transition. Is that understanding correct?

[1] https://wiki.lfnetworking.org/display/LN/CI-as-a-Service+Platform+Research

Best regards
Georg


On 05.08.20, 01:11, "Trevor Bramwell via lists.opnfv.org" <opnfv-project-leads@lists.opnfv.org on behalf of tbramwell=linuxfoundation.org@lists.opnfv.org> wrote:

Hey Project Leads,

I wanted to get your feedback on a recommendation I plan to bring to the
TSC. After comparing the options for CI SaaS platforms I settled
on recommending we move from Gerrit and Jenkins to GitLab and GitLab-CI.

As some of you'll be curious as to "Why GitLab vs <insert other CI platform>",
I've included a link on the final slide to some of my research[2].

If you have some time to look over the presentation and respond with any
questions or comments, it would be greatly appreciated. Or if you'd like
to discuss this with more bandwidth I've asked Jack to add it to the
Tech Discuss call agenda next Monday[1].

Regards,
Trevor Bramwell

[1] https://wiki.opnfv.org/display/PROJ/Weekly+Technical+Discussion
[2] https://wiki.lfnetworking.org/x/CwhoAg


Trevor Bramwell
 

Hey Alec,

Thanks for the feedback!

I wrote up a guide a while back[1]. The simplest approach is to mirror
your project in from Github, but you can also skip that and create a
repository directly in Gitlab and push your code up. If you go through
the UI to setup CI, they should provide you a list of template to get
started. If not, here's a link to their basic Docker setup[2].

The PoC I did actually utilized LaaS machines. It was pretty
straight-forward to get a machine connected by installing the
gitlab-runner binary. The guide I wrote also includes a link to
Gitlab's instructions on how to do that[3].

Regards,
Trevor Bramwell

[1] https://wiki.opnfv.org/display/INF/PoC+Setup#PoCSetup-Gitlab-CI
[2] https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/lib/gitlab/ci/templates/Docker.gitlab-ci.yml
[3] https://docs.gitlab.com/runner/install/linux-manually.html

On Wed, Aug 05, 2020 at 04:36:42AM +0000, Alec Hothan (ahothan) wrote:
Hi Trevor,

As PTL and CI/CD user, I am excited to finally see a way – any way - out of the current Jenkins-Gerrit situation.
I found the Jenkins approach and need to go through JJB to be very cumbersome and hard to customize to each project’s needs (and no I do not want to become an expert in JJB). That CI/CD was the only service I hated in OPNFV.

Gitlab CI looks pretty good and I’d be interested to give it a try if you can provide any instructions specific to opnfv projects.
My immediate need for ci/cd is to be able to build intel x86 docker container and VM images in terms of ci/cd, which should be straightforward with Gitlab-CI.
The next step is to be able to run the builds and verify them on a LaaS pod. Has there been any discussion with the LaaS team yet on how this can be made possible?


So it is +1 for me.

Thanks for leading this,

Alec





From: <opnfv-project-leads@lists.opnfv.org> on behalf of Trevor Bramwell <tbramwell@linuxfoundation.org>
Date: Tuesday, August 4, 2020 at 4:12 PM
To: <opnfv-project-leads@lists.opnfv.org>
Subject: [opnfv-project-leads] OPNFV CI Transformation

Hey Project Leads,

I wanted to get your feedback on a recommendation I plan to bring to the
TSC. After comparing the options for CI SaaS platforms I settled
on recommending we move from Gerrit and Jenkins to GitLab and GitLab-CI.

As some of you'll be curious as to "Why GitLab vs <insert other CI platform>",
I've included a link on the final slide to some of my research[2].

If you have some time to look over the presentation and respond with any
questions or comments, it would be greatly appreciated. Or if you'd like
to discuss this with more bandwidth I've asked Jack to add it to the
Tech Discuss call agenda next Monday[1].

Regards,
Trevor Bramwell

[1] https://wiki.opnfv.org/display/PROJ/Weekly+Technical+Discussion
[2] https://wiki.lfnetworking.org/x/CwhoAg




Trevor Bramwell
 

Hey Georg,

It is true GitLab won't provide feedback to Gerrit, but it does
support polling any git repository (OPNFV's Gerrit repos in this case).

But instead of going the route of configure Gitlab projects to poll
Gerrit, my plan would be to first enable push mirroring from Gerrit to
GitLab to the OPNFV group[1]. That way changes are automatically
synced to GitLab. While that's going on, we'd utilize the PoC group
I created[2] to develop and test the CI (We wouldn't want to use the
official one as any changes would be overwritten by the force-push
mirroring).

Once the CI development is complete the .gitlab.yml file would be committed
to Gerrit and get synced out. Then, assuming all the other changes have
been closed, and hardware enrolled/CI running, we could set the repo to
read-only and that project would switch their development to GitLab.

I'd consider that more of a transition than ad-hoc and my goal is for
this to be as non-disruptive as possible.

Regards,
Trevor Bramwell

[1] https://gitlab.com/opnfv
[2] https://gitlab.com/opnfv-poc

On Wed, Aug 05, 2020 at 07:35:32AM +0000, Georg Kunz wrote:
HI Trevor,

I think this is a good proposal. One question regarding the first table [1]: It seems githab-ci cannot report back to Gerrit, meaning that projects moving to the new CI system also have to move to Gitlab at the same time, making it more an ad-hoc move instead of a transition. Is that understanding correct?

[1] https://wiki.lfnetworking.org/display/LN/CI-as-a-Service+Platform+Research

Best regards
Georg


On 05.08.20, 01:11, "Trevor Bramwell via lists.opnfv.org" <opnfv-project-leads@lists.opnfv.org on behalf of tbramwell=linuxfoundation.org@lists.opnfv.org> wrote:

Hey Project Leads,

I wanted to get your feedback on a recommendation I plan to bring to the
TSC. After comparing the options for CI SaaS platforms I settled
on recommending we move from Gerrit and Jenkins to GitLab and GitLab-CI.

As some of you'll be curious as to "Why GitLab vs <insert other CI platform>",
I've included a link on the final slide to some of my research[2].

If you have some time to look over the presentation and respond with any
questions or comments, it would be greatly appreciated. Or if you'd like
to discuss this with more bandwidth I've asked Jack to add it to the
Tech Discuss call agenda next Monday[1].

Regards,
Trevor Bramwell

[1] https://wiki.opnfv.org/display/PROJ/Weekly+Technical+Discussion
[2] https://wiki.lfnetworking.org/x/CwhoAg




Georg Kunz <georg.kunz@...>
 

Hi Trevor,

Ok, got it. Sounds like a plan.

Thanks
Georg

On 05.08.20, 21:22, "Trevor Bramwell" <tbramwell@linuxfoundation.org> wrote:

Hey Georg,

It is true GitLab won't provide feedback to Gerrit, but it does
support polling any git repository (OPNFV's Gerrit repos in this case).

But instead of going the route of configure Gitlab projects to poll
Gerrit, my plan would be to first enable push mirroring from Gerrit to
GitLab to the OPNFV group[1]. That way changes are automatically
synced to GitLab. While that's going on, we'd utilize the PoC group
I created[2] to develop and test the CI (We wouldn't want to use the
official one as any changes would be overwritten by the force-push
mirroring).

Once the CI development is complete the .gitlab.yml file would be committed
to Gerrit and get synced out. Then, assuming all the other changes have
been closed, and hardware enrolled/CI running, we could set the repo to
read-only and that project would switch their development to GitLab.

I'd consider that more of a transition than ad-hoc and my goal is for
this to be as non-disruptive as possible.

Regards,
Trevor Bramwell

[1] https://gitlab.com/opnfv
[2] https://gitlab.com/opnfv-poc

On Wed, Aug 05, 2020 at 07:35:32AM +0000, Georg Kunz wrote:
> HI Trevor,
>
> I think this is a good proposal. One question regarding the first table [1]: It seems githab-ci cannot report back to Gerrit, meaning that projects moving to the new CI system also have to move to Gitlab at the same time, making it more an ad-hoc move instead of a transition. Is that understanding correct?
>
> [1] https://wiki.lfnetworking.org/display/LN/CI-as-a-Service+Platform+Research
>
> Best regards
> Georg
>
>
> On 05.08.20, 01:11, "Trevor Bramwell via lists.opnfv.org" <opnfv-project-leads@lists.opnfv.org on behalf of tbramwell=linuxfoundation.org@lists.opnfv.org> wrote:
>
> Hey Project Leads,
>
> I wanted to get your feedback on a recommendation I plan to bring to the
> TSC. After comparing the options for CI SaaS platforms I settled
> on recommending we move from Gerrit and Jenkins to GitLab and GitLab-CI.
>
> As some of you'll be curious as to "Why GitLab vs <insert other CI platform>",
> I've included a link on the final slide to some of my research[2].
>
> If you have some time to look over the presentation and respond with any
> questions or comments, it would be greatly appreciated. Or if you'd like
> to discuss this with more bandwidth I've asked Jack to add it to the
> Tech Discuss call agenda next Monday[1].
>
> Regards,
> Trevor Bramwell
>
> [1] https://wiki.opnfv.org/display/PROJ/Weekly+Technical+Discussion
> [2] https://wiki.lfnetworking.org/x/CwhoAg
>
>
>
>