Hi Yujun,

Thanks for the feedback.

Releng aims to provide a similar service to the OPNFV projects like you 
explained but some of the limitations you listed below are due to Jenkins 
itself and how to manage CI in a consistent manner.
We need to keep some kind of alignment and ensure that what we are doing on 
Jenkins and CI in general fits into the overall framework.

In general, only the Jenkins job configurations and simple wrapper scripts 
should be located in releng repo. (excluding common utilities such as Test 
Result API which will move into a separate repo)
The scripts that do project specific stuff such as running unit tests, builds 
and so on should be owned, developed, and maintained by corresponding projects.

The overall structure followed by releng is like this or from [1].
- preprocessing
- actual build/test
- postprocessing

Preprocessing is simply doing general cleanup stuff, fixing permissions and so 
on before the actual build starts and this is common for all projects.
Postprocessing deals with similar common stuff such as uploading artifacts to 
artifact repo.

The scripts that are consumed by releng from projects are the ones that matter 
and I expect that these change more often than Jenkins jobs or wrappes 
themselves.
Normally you don't need to touch jobs/wrappers if you are not doing a total 
structure change such as changing the job type from Freestyle to Multijob.
These scripts are generally located in <project_repo>/ci/build.sh, 
<project_repo>/ci/test.sh which get executed by the wrapper scripts which in 
turn run by Jenkins jobs.

When it comes to docker; it is a bit different since the use of docker 
containers for the test projects started in releng as common/community 
initiative and the build scripts have been in releng repo developed/maintained 
by the community at large, not just releng itself.
But this is due wanting to have some kind of alignment and historical reasons 
which can be changed if the projects require different way of doing builds and 
so on. (I think Storperf is an example to this.)

We have plans to look into Zuul v3 and start a PoC but we are waiting for 
OpenStack to finalize their migration and fix the issues they are experiencing.
But we also need to keep in mind that we go further in our CI comparing to 
OpenStack so it is not just about OpenStack fixing all the issues but also 
fulfilling OPNFV needs. (one problem we will face is the number/types of 
plugins we use on our Jenkins and the impacts of having long running tests.)

If you can point to specific examples or list additional needs we can take them 
into our backlog and improve what we do.

[1] 
https://wiki.opnfv.org/download/attachments/11699697/image2017-6-6%2022%3A56%3A30.png?version=1&modificationDate=1496783473000&api=v2

/Fatih

From: <infra-wg-boun...@lists.opnfv.org> on behalf of "Yujun Zhang (ZTE)" 
<zhangyujun+...@gmail.com>
Date: Wednesday, 1 November 2017 at 02:19
To: David McBride <dmcbr...@linuxfoundation.org>
Cc: "infra...@lists.opnfv.org" <infra...@lists.opnfv.org>, test-wg 
<test...@lists.opnfv.org>, "opnfv-tech-discuss@lists.opnfv.org" 
<opnfv-tech-discuss@lists.opnfv.org>, Trevor Cooper <trevor.coo...@intel.com>
Subject: Re: [infra-wg] [infra][releng] proposal for RELENG project to take 
ownership of docker build resources

Not sure I fully understand the word "ownership" and the scope of building 
resources. For sure it is good to maintain the build scripts and global config 
in releng.

But for project specific configuration, it is not so convenient to manage them 
in a central repository. Sometimes I have to wait for committers of releng to 
merge my patch which just fixes a small bug of the the build job for my 
project. Most time the validation of releng job is only possible after the 
patch is merged. When I found it does not work, I have to go over the steps 
again. It is not so productive since this workflow involves two teams (releng 
and project).

Ideally, I would expect releng to provide the building resource as a service  
and the project specific configuration managed inside project repository. This 
is much like the solution provided by some CI SaaS like Travis-CI[1]. And also 
the trend in OpenStack infra brought in by zuul v3, which is called in repo 
configuration.

This is not just about docker building, but also applies for other verification 
job.

[1]: https://travis-ci.org/
[2]: https://docs.openstack.org/infra/manual/zuulv3.html#what-is-zuul-v3

On Wed, Nov 1, 2017 at 5:56 AM David McBride 
<dmcbr...@linuxfoundation.org<mailto:dmcbr...@linuxfoundation.org>> wrote:
please +1, 0, or -1 to indicate your position

Team,

This topic came up during our release meeting two weeks ago.  I took an action 
to get a discussion started in the infra meeting.

The proposal is for the RELENG project to take ownership of docker build 
resources (scripts,config files, 
etc.)<https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=tree;f=jjb/releng>  
for the purpose of providing a common docker build capability available to all 
users of OPNFV CI.  Active committers to these resources will remain unchanged.

We had a good discussion on Monday.  There was general consensus that this 
proposal makes sense.  The minutes are 
here<http://ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2017/opnfv-meeting.2017-10-30-14.59.html>.

I took an action at the infra meeting to start a discussion on the mailing list 
to seek additional feedback.  Please respond to this email to indicate whether 
you support the proposal.  Also feel free to add your comments.  Thanks.

David


--
David McBride
Release Manager, OPNFV
Mobile: +1.805.276.8018<tel:%2B1.805.276.8018>
Email/Google Talk: 
dmcbr...@linuxfoundation.org<mailto:dmcbr...@linuxfoundation.org>
Skype: davidjmcbride1
IRC: dmcbride
_______________________________________________
infra-wg mailing list
infra...@lists.opnfv.org<mailto:infra...@lists.opnfv.org>
https://lists.opnfv.org/mailman/listinfo/infra-wg
--
Yujun Zhang
_______________________________________________
opnfv-tech-discuss mailing list
opnfv-tech-discuss@lists.opnfv.org
https://lists.opnfv.org/mailman/listinfo/opnfv-tech-discuss

Reply via email to