Jenkins version from 2.319.2 to 2.319.3 failed to load plugins

Hello,
We are trying to run Jenkins with IS -Jenkins blueocean@sha256:9d6ebd661a2fdb0b9ab465c7ebf86141487845ca69893fa4953a33cca505414bq
that uses Jenkins 2.319.3. The pod is not running and showing an Error that “failed to load plugin”
and earlier when using the older IS
name: jenkins-blueocean@sha256:42aa45dea5da0d182618099cf4609c582fab773e0b354fe9100aec2cd1280646
that runs on Jenkins 2.319.2 was successfully deployed .
Please suggest a best way to run Jenkins pods on Openshift 4 with 2.319.3 Jenkins .

By default jenkins will copy without overwriting /usr/share/jenkins/ref/plugins/ to $JENKINS_HOME/plugins/

So you’ll need to delete the old plugin version to get the new version.

I would recommend deleting $JENKINS_HOME/plugins/ as a pre start hook, and let it copy all the plugins from ref every startup. That way you always have the right plugins for the image.

If you have plugins not in the image, i recommend building your own image with all your requirements baked in - docker-jenkins/Dockerfile at b7f32ca9dec8a5279dd28834febbbf9cb3a3e996 · halkeye-docker/docker-jenkins · GitHub

If you don’t want to do the recommendations, then either use the update manager or the cli to update plugins manually.

Hello , i saw this following Errors while running the Pod,
These are few, in logs there are many and also WARNING “An illegal reflective access operation has occurred” and more WARNING.

  1. jenkins.InitReactorRunner$1 onTaskFailed Failed Loading plugin Pipeline: Supporting APIs v818.v4eb_969241b_c7 (workflow-support)
    java.io.IOException: Failed to load: Pipeline: Supporting APIs (818.v4eb_969241b_c7)
  • Jenkins (2.332) or higher required
  • Failed to load: Script Security Plugin (1175.v4b_d517d6db_f0)
  1. Failed to load: Pipeline: Job (1189.va_d37a_e9e4eda_)
  • Jenkins (2.332.1) or higher required
  • Failed to load: Pipeline: Supporting APIs (818.v4eb_969241b_c7)
  1. Failed to load: Jenkins Git client plugin (3.11.0)
  • Failed to load: Script Security Plugin (1175.v4b_d517d6db_f0)
  1. Failed to load: Jakarta Activation API (2.0.0-3)
  • Jenkins (2.332.1) or higher required
  1. Failed to load: Jakarta Mail API (2.0.0-6)
  • Jenkins (2.332.1) or higher required
  • Failed to load: Jakarta Activation API (2.0.0-3)
  1. Failed to load: Display URL API (2.3.6)
  • Jenkins (2.332.1) or higher required
  1. Failed to load: Jenkins Mailer Plugin (435.v79ef3972b_5c7)
  • Jenkins (2.332.1) or higher required
  • Failed to load: Jakarta Mail API (2.0.0-6)
  1. jenkins.InitReactorRunner$1 onTaskFailed Failed Loading plugin Checks API plugin v1.7.4 (checks-api)
    java.io.IOException: Failed to load: Checks API plugin (1.7.4)
  • Failed to load: Pipeline: Supporting APIs (818.v4eb_969241b_c7)

Thank You

Anyone can suggest me way to fix it ?
No body is replying on my Query .
@halkeye is not replying back .

Regards

I told you how to fix it. Delete your currently installed plugins so the docker image copies the new versions over (essentially cp -n /usr/share/jenkins/ref/plugins/ $JENKINS_HOME/plugins) or copy over the plugins by hand cp -f /usr/share/jenkins/ref/plugins/ $JENKINS_HOME/plugins) or use the update center cli tool to update plugins.

Hello @halkeye
Thank you for your response and effort.
But I dont know if this helps us - we use a prebuilt image from redhat, that was tested by redhat, use their official update mechanism to install some additional plugins from the official repo (including dependency resolution!)
It contains only the image from redhat (that can start) and the plugins added/updated by redhats official plugin mechanism via s2i build in the jenkins-blueocean-plugins buildconfig using the plugins.txt file. It does not contain any changes done by our dockerfile, only what redhat or the official plugin repo of jenkins provide!

Regards

Here is the Output of the Error , You can see it says "Overriding Plugins "
failed to create /var/lib/alternatives/java.new: Permission denied
failed to create /var/lib/alternatives/javac.new: Permission denied
CONTAINER_MEMORY_IN_MB=‘3072’, using /usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.el8_6.x86_64/bin/java and /usr/lib/jvm/java-11-openjdk-11.0.16.0.8-1.el8_6.x86_64/bin/javac
ln: failed to create symbolic link ‘/var/log/jenkins’: Permission denied
Overriding plugins stored in /var/lib/jenkins/plugins
Administrative monitors that contact the update center will remain active

Permission denied leads me to believe that the user you are running jenkins as can’t write to the necessary locations.

I would reach out to redhat. We as an open source community don’t support vendor specific builds. We don’t know what scripts it runs or what changes have been made.

Sounds like the container is not starting up as a user that can manage system stuff. I was trying to find out of the official image uses root, but i havn’t been able to find out for certain.

Seems like it should work.

Btw, 319 is over 6 months old now. There has been 2 more stable releases since then.

Can you share your Dockerfile / image that you are using?

Okay, But is there a way to change the Permission Mode , so we can write to the specific location.
Regards

Here is the Linn for specific image we are using .
Please have look.
Regards

Yes i will also do that , if we do not able to find a solution.
I understand your Point as this is Vendor Specific image, so makes sense to reach out Redhat Support.
Okay i will check for stable release also, so this for Test Server, for Prod we can use the Stable then .
Thank you for ur time ,
Regards