Comments (9)
Any potential dependency change?
from puppet-jenkins.
No, not as far as I can see. I'll check next time I'm with this client (next week now).
Thanks,
R.
from puppet-jenkins.
I'm experiencing this same issue.
from puppet-jenkins.
This happens for core plugins. See https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial#Plugintutorial-Deployingacustombuildofacoreplugin
from puppet-jenkins.
This kind of makes me wonder if we should add a .pinned to each plugin managed by puppet. That would resolve this (I think) and also ensure things defined by puppet are as puppet says.
from puppet-jenkins.
Fixed this issue by changing:
--- a/manifests/plugin.pp
+++ b/manifests/plugin.pp
@@ -78,7 +78,7 @@ define jenkins::plugin(
file { "${plugin_dir}/${plugin}" :
require => Exec["download-${name}"],
- owner => 'jenkins',
+ owner => 'root',
mode => '0644',
notify => Service['jenkins'],
}
from puppet-jenkins.
tobias-m: Thank you, that worked!
But I'm struggling to see why ...
File["${plugin_dir}/${plugin}"]
requires that Exec["download-{$name}"]
is executed before it, which does a rm -rf ${name} ${name}.* && wget --no-check-certificate ${base_url}${plugin}
.
As I read the code, the rm
deletes both the plugin folder and any file starting with the plugin name (such as swarm.hpi
or ldap.jpi
), and the wget
downloads the new .hpi file for the plugin. After this, Service['jenkins']
is notified, and the plugin folder is populated by Jenkins.
Now, why would it have an impact who (root
in your fix, otherwise jenkins
) owns this .hpi file prior to the Jenkins service being notified (I assume restarted)?
from puppet-jenkins.
This is overriding what jenkins is trying to do with the hpi file. By default, jenkins wants to own and control all of the core modules. Changing the owner to root prevents the jenkins user from managing the file the way it wants to. I imagine there's an empty catch block in the code that's keeping this from blowing up completely. I think the better solution is to add a .pinned file for each core module that jenkins manages. See #131.
from puppet-jenkins.
I believe this issue should be resolved by #389 so I'm going to close this issue. Please reopen it if the problem is reproducible with the current master.
from puppet-jenkins.
Related Issues (20)
- Plugin download / installation not idempotent HOT 1
- Add a way to set the open files limit in systemd service HOT 1
- Error HOT 1
- Error HOT 1
- Support: casc HOT 1
- Jenkins is no longer forking (--daemon has been removed) HOT 2
- Does no longer work with jenkins 2.332.1 or 2.335 onwards
- Support for Jenkins < 2.332 HOT 1
- Fact 'jenkins_plugins' can exceed value length limit: 4096 HOT 2
- Convert Terminology to match current Jenkins Terminology
- Puppet removes plugin when plugin was installed using the Jenkins ui
- How to install jenkins on a mounted partition HOT 1
- Class jenkins::slave : Rights issues on the jenkins-slave file with systemd
- function hiera_array is deprecated HOT 2
- Puppet enterprise error line 425 Could not find class ::java HOT 1
- Jenkins Redhat repo certificate has expired HOT 2
- undefined method strip HOT 8
- jenkins_plugins fact is locale-dependent which can cause a plugin installation loop HOT 2
- jenkins-cli.jar has been renamed in the jenkins rpm. HOT 6
- jenkins present.pp does not fix single-quotes for xml 1.1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from puppet-jenkins.