Plugin installation failed. No manifest at /plugins/<plugin-name>/META-INF/MANIFEST.MF

THE SETUP

Operating System: OS/400 (a.k.a IBMi Server)

Java Version: Please see below

cecuser@p1313-pvm1:~/jenkins_home $ java -version
java version "17.0.10" 2024-01-16
IBM Semeru Runtime Certified Edition (build 17.0.10+7)
Eclipse OpenJ9 VM (build openj9-0.43.0, JRE 17 OS/400 ppc64-64-Bit Compressed References 20240224_000000 (JIT enabled, AOT enabled)
OpenJ9   - 2c3d78b48
OMR      - ea8124dbc
JCL      - dde9c9ccfe1 based on jdk-17.0.10+7)

Installed Plugins: Currently No Plugins are installed

How Jenkins is Run: via WAR file

Reverse Proxy setup: No

How is it installed: First, wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war and then did a java -jar with required parameters as below

java -DJENKINS_HOME=/home/cecuser/jenkins_home -jar '/home/cecuser/jenkins/jenkins.war' '--httpPort=9095'

Browser: Chrome 131.0.6778.109



THE PROBLEM

I have used Jenkins previously (5-6 months ago) on this same IBMi server and was able to install the plugins without any issues. But now I tried to do a fresh installation and the plugins are not getting installed. I know Jenkins is not officially supported for OS/400 (a.k.a IBM i) architecture, but I wouldn’t have posted this question if it worked previously. I also tried uploading the .hpi files manually, but still the plugin installation fails. Below is the error message from my log.

It says the manifest file is not found?

2024-12-12 10:47:52.025+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of ssh-slaves on behalf of admin
2024-12-12 10:47:52.025+0000 [id=249]	INFO	h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading ssh-slaves
2024-12-12 10:47:52.199+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install ssh-slaves
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/ssh-slaves/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:52.199+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of matrix-auth on behalf of admin
2024-12-12 10:47:52.231+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install matrix-auth
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/matrix-auth/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:52.231+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of pam-auth on behalf of admin
2024-12-12 10:47:52.232+0000 [id=249]	INFO	h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading pam-auth
2024-12-12 10:47:52.408+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install pam-auth
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/pam-auth/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:52.408+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of ldap on behalf of admin
2024-12-12 10:47:52.408+0000 [id=249]	INFO	h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading ldap
2024-12-12 10:47:53.533+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install ldap
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/ldap/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:53.533+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of email-ext on behalf of admin
2024-12-12 10:47:53.534+0000 [id=249]	INFO	h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading email-ext
2024-12-12 10:47:53.805+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install email-ext
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/email-ext/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:53.806+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of mailer on behalf of admin
2024-12-12 10:47:53.840+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install mailer
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/mailer/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:53.840+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of theme-manager on behalf of admin
2024-12-12 10:47:53.841+0000 [id=249]	INFO	h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading theme-manager
2024-12-12 10:47:54.013+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install theme-manager
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/theme-manager/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:54.013+0000 [id=249]	INFO	h.model.UpdateCenter$DownloadJob#run: Starting the installation of dark-theme on behalf of admin
2024-12-12 10:47:54.014+0000 [id=249]	INFO	h.m.UpdateCenter$UpdateCenterConfiguration#download: Downloading dark-theme
2024-12-12 10:47:54.166+0000 [id=249]	SEVERE	h.model.UpdateCenter$DownloadJob#run: Failed to install dark-theme
java.io.IOException: Plugin installation failed. No manifest at /home/cecuser/jenkins_home/plugins/dark-theme/META-INF/MANIFEST.MF
	at hudson.ClassicPluginStrategy.createPluginWrapper(ClassicPluginStrategy.java:169)
	at hudson.PluginManager.dynamicLoad(PluginManager.java:964)
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2379)
Caused: java.io.IOException: Failed to dynamically deploy this plugin
	at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2383)
	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2012)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)
	at java.base/java.lang.Thread.run(Thread.java:857)
2024-12-12 10:47:54.167+0000 [id=249]	INFO	h.m.UpdateCenter$CompleteBatchJob#run: Completing installing of plugin batch…
2024-12-12 10:47:54.356+0000 [id=356]	INFO	jenkins.InitReactorRunner$1#onAttained: Started initialization
2024-12-12 10:47:54.359+0000 [id=360]	INFO	jenkins.InitReactorRunner$1#onAttained: Listed all plugins
2024-12-12 10:47:54.361+0000 [id=365]	INFO	jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
2024-12-12 10:47:54.364+0000 [id=370]	INFO	jenkins.InitReactorRunner$1#onAttained: Started all plugins
2024-12-12 10:47:54.366+0000 [id=375]	INFO	jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
2024-12-12 10:47:54.369+0000 [id=381]	INFO	jenkins.InitReactorRunner$1#onAttained: System config loaded
2024-12-12 10:47:54.371+0000 [id=385]	INFO	jenkins.InitReactorRunner$1#onAttained: System config adapted
2024-12-12 10:47:54.374+0000 [id=390]	INFO	jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2024-12-12 10:47:54.376+0000 [id=394]	INFO	jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2024-12-12 10:47:54.380+0000 [id=400]	INFO	jenkins.InitReactorRunner$1#onAttained: Completed initialization
2024-12-12 10:47:54.382+0000 [id=249]	INFO	h.m.UpdateCenter$CompleteBatchJob#run: Completed installation of 0 plugins in 21 sec
2024-12-12 10:48:08.715+0000 [id=121]	INFO	winstone.Logger#logInternal: JVM is terminating. Shutting down Jetty
2024-12-12 10:48:08.716+0000 [id=121]	INFO	org.eclipse.jetty.server.Server#doStop: Stopped oejs.Server@378068f7{STOPPING}[12.0.14,sto=0]
2024-12-12 10:48:08.743+0000 [id=121]	INFO	o.e.j.server.AbstractConnector#doStop: Stopped ServerConnector@564f5800{HTTP/1.1, (http/1.1)}{0.0.0.0:9095}
2024-12-12 10:48:08.748+0000 [id=121]	INFO	hudson.lifecycle.Lifecycle#onStatusUpdate: Stopping Jenkins
2024-12-12 10:48:08.751+0000 [id=121]	INFO	jenkins.model.Jenkins$16#onAttained: Started termination
2024-12-12 10:48:08.762+0000 [id=121]	INFO	jenkins.model.Jenkins$16#onAttained: Completed termination
2024-12-12 10:48:08.762+0000 [id=121]	INFO	jenkins.model.Jenkins#_cleanUpDisconnectComputers: Starting node disconnection
2024-12-12 10:48:08.769+0000 [id=121]	INFO	jenkins.model.Jenkins#_cleanUpShutdownPluginManager: Stopping plugin manager
2024-12-12 10:48:08.769+0000 [id=121]	INFO	jenkins.model.Jenkins#_cleanUpPersistQueue: Persisting build queue
2024-12-12 10:48:08.779+0000 [id=121]	INFO	jenkins.model.Jenkins#_cleanUpAwaitDisconnects: Waiting for node disconnection completion
2024-12-12 10:48:08.779+0000 [id=121]	INFO	hudson.lifecycle.Lifecycle#onStatusUpdate: Jenkins stopped
2024-12-12 10:48:08.789+0000 [id=121]	INFO	winstone.Logger#logInternal: Jetty shutdown successfully

I did the basic troubleshooting as per this guide Fix Jenkins Plugin Installation Failed Error: A Deep Guide - DevopsRoles.com Better 2024, and yet couldn’t figure out.

Any help is greatly appreciated.
Thanks,
Ravi.

Hi,
Did you manage to fully resolve the No manifest issue in the end?
I’m running into the same problem on AIX/PASE (IBM i) and wondering if you have any update or workaround that worked reliably for you.
Thanks!

Is a hotspot JDK available for OS/400? Jenkins supports the hotspot JDK, not the Semeru or OpenJ9 JDK. The Jenkins platform SIG stopped all effort on the OpenJ9 and Semeru JDKs a few years ago.