[Fuego] Problems with Jenkins in latest master

Daniel Sangorrin daniel.sangorrin at toshiba.co.jp
Fri Mar 30 02:33:36 UTC 2018

> -----Original Message-----
> From: fuego-bounces at lists.linuxfoundation.org [mailto:fuego-bounces at lists.linuxfoundation.org] On Behalf Of Tim.Bird at sony.com
> Sent: Friday, March 30, 2018 9:51 AM
> To: fuego at lists.linuxfoundation.org
> Subject: [Fuego] Problems with Jenkins in latest master
> Warning - long read ahead...
> OK - I took a look at the situation with Jenkins.  It's a big thorny mess.
> We currently install Jenkins 2.32.1 in our Fuego Docker image,
> but we load jenkins plugins from an online plugin hub.
> The description setter plugin  that is now being downloaded from
> that hub appears to require Jenkins 2.60.3.  A few other Jenkins
> plugins that are required by plugins or features in the default install
> also require 2.60.3.  This includes the following:
>  - Matrix Authentication
>  - Pipeline API
> Some other plugins, that are dependent on those, also fail to
> load correctly:
>  - Junit plugin (need Pipeline API)
>  - Matrix Project (Needs Junit plugin)
> Also, the description setter plugin has changed its behavior,
> so that it now is in the build step instead of the post-build
> step for a Jenkins job.  This means that our job creation
> code in ftc has to change, and we might not be able to use
> the description setter plugin the way we have been in the past.
> It appears that the ability to specify descriptions for when
> the job fails is not available any more.
> I tried upgrade Jenkins, but there are some wrinkles:
>  - Jenkins, from version 2.54 on, require openjdk-8,
> which is not in the default configuration of Jessie (which is
> the base image for our Docker image).
> - I tried upgrading our Docker image to 'Stretch', which is
> a newer version of Debian which does have openjdk-8,
> and ran into a few other miscellaneous issues.
> In the end, it might be a lot of work to address this issue,
> and we might still have quite a bit of rework to do to get
> the description setter working again - to show links to
> Fuego test artifacts for each build.
> Oh, and did I mention that the flot plugin (our Javascipt
> charting plugin for Jenkins) is also having problems with
> the latest Jenkins version (2.113)?
> There appear to be 2 options from here:
>  1) use an old description setter plugin, that still works
> in the post-build phase.
> The strategy here would be to grab an old copy of the description setter
> plugin, and any other 2.32 -era plugins, and statically include them
> in our fuego repository - then instead of installing plugins from the
> online jenkins plugin hub do the install from local files in the docker container.
> Also, freeze our usage (at least for the 1.3 release) to Jenkins 2.32.1.
> Ugh.
> 2) migrate everything to latest Jenkins and plugins, and rework ftc to
> deal with the new description setter.  If the description won't work at all
> in its new form, then rework how we do description setting in
> general.  Under JTA this used to be done with a groovy script, and we
> might be able to resurrect that code and still use the system we have now.
> Also, we would need to fix the flot plugin, and address any other issues
> that come up with a massive upgrade to several major Fuego components.
> Ugh also.
> To be honest I don't like how the description setter plugin works anyway,
> as it can only define the descriptions statically (well, with variables), at job
> creation time, instead of actually reacting to the state of the build at job
> execution (build/run) time.  In the long run, I'd rather generate a description
> file for the job  as a separate artifact in our run directory, and then
> if we're using Jenkins apply it to the run.  If we're using some other interface
> we could use it there as well.

Yeah, it's very annoying that it can't be used at build/run time.

> Either of these approaches is going to take some time to implement and
> test.  It looks like 1.3 will be delayed a bit while we sort this out.
> Let me know what you think, and what approach you think we should take.

Ouch this is ugly.
I would go for option 1 for the short term (1.3): Use frozen plugins/jenkins.


More information about the Fuego mailing list