Merge lp:~fginther/ubuntu-ci-services-itself/lander-in-source-plugin into lp:ubuntu-ci-services-itself

Proposed by Francis Ginther
Status: Work in progress
Proposed branch: lp:~fginther/ubuntu-ci-services-itself/lander-in-source-plugin
Merge into: lp:ubuntu-ci-services-itself
Diff against target: 43 lines (+11/-1)
2 files modified
charms/precise/lander-jenkins/hooks/hooks.py (+11/-0)
juju-deployer/lander.yaml.tmpl (+0/-1)
To merge this branch: bzr merge lp:~fginther/ubuntu-ci-services-itself/lander-in-source-plugin
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Canonical CI Engineering Pending
Review via email: mp+209145@code.launchpad.net

Commit message

Add the required jenkins plugin for lander operation as an in-source file.

Description of the change

Add the required jenkins plugin for lander operation as an in-source file.

Is there a better way to store this file? It's a 90K binary. The only solution that comes to mind is to wrap it in a debian package and put it in the ppa.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:301
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/281/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/uci-engine-ci/281/rebuild

review: Approve (continuous-integration)
Revision history for this message
Paul Larson (pwlars) wrote :

How about having it wget from https://updates.jenkins-ci.org/download/plugins/parameterized-trigger/ and push that either directly to the instance, or to a swift location the instance can pull from?

Otherwise, if you want to just keep it in the tree, it might not be *that* bad. I don't think we expect to be doing frequent version changes - which would be very ugly with the binary blob there. With just a single 90k file in the tree, it shouldn't be too terrible.

Revision history for this message
Francis Ginther (fginther) wrote :

> How about having it wget from https://updates.jenkins-ci.org/download/plugins
> /parameterized-trigger/ and push that either directly to the instance, or to a
> swift location the instance can pull from?

I failed to mention that one of the goals of this MP is to completely remove the dependency on an external site 'updates.jenkins-ci.org'. https://bugs.launchpad.net/ubuntu-ci-services-itself/+bug/1285302

Even if we wget the file during the deploy script, I think that's still going to be a problem.

I spent a little bit of time experimenting with a jenkins-parameterized-trigger-plugin package which just wraps the plugin file in a deb. It looks promising, so I'm going to set this to Work In Progress will I pursue that.

Revision history for this message
Francis Ginther (fginther) wrote :

We're going to keep the dependency on jenkins-ci.org for now, so there is no urgency to change things just for this. Will keep on hold until after phase 0.

Unmerged revisions

301. By Francis Ginther

Add the required jenkins plugins as an in source file.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'charms/precise/lander-jenkins/hooks/hooks.py'
2--- charms/precise/lander-jenkins/hooks/hooks.py 2014-02-28 18:57:57 +0000
3+++ charms/precise/lander-jenkins/hooks/hooks.py 2014-03-03 23:16:43 +0000
4@@ -146,6 +146,8 @@
5
6 def setup_plugins(config):
7 juju_info('Installing plugins.')
8+
9+ # First, install plugins specified in the config
10 plugin_list = config['plugins'].split()
11 plugins_site = config['plugins-site']
12 for plugin in plugin_list:
13@@ -166,6 +168,15 @@
14 plugin_file]
15 subprocess.check_call(cmd)
16
17+ # Now install any plugins specified in the local plugin dir
18+ plugin_dir = os.path.join(core.hookenv.charm_dir(), 'plugins')
19+ for plugin in os.listdir(plugin_dir):
20+ plugin_file = os.path.join(JENKINS_HOME, 'plugins', plugin)
21+ shutil.copy(os.path.join(plugin_dir, plugin), plugin_file)
22+ cmd = ['chown', '-R', '{}.{}'.format(JENKINS_USER, JENKINS_GROUP),
23+ plugin_file]
24+ subprocess.check_call(cmd)
25+
26
27 def _install_from_tarball(config):
28 juju_info('grabbing service from tarball...')
29
30=== added directory 'charms/precise/lander-jenkins/plugins'
31=== added file 'charms/precise/lander-jenkins/plugins/parameterized-trigger-2.14.hpi'
32Binary files charms/precise/lander-jenkins/plugins/parameterized-trigger-2.14.hpi 1970-01-01 00:00:00 +0000 and charms/precise/lander-jenkins/plugins/parameterized-trigger-2.14.hpi 2014-03-03 23:16:43 +0000 differ
33=== modified file 'juju-deployer/lander.yaml.tmpl'
34--- juju-deployer/lander.yaml.tmpl 2014-02-28 20:16:51 +0000
35+++ juju-deployer/lander.yaml.tmpl 2014-03-03 23:16:43 +0000
36@@ -35,7 +35,6 @@
37 bot_password: lander-bot
38 sources: ${CI_PPA}
39 packages: "python-amqplib python-swiftclient lazr.enum"
40- plugins: "parameterized-trigger:2.14"
41 unit-config: include-base64://configs/unit_config.yaml
42 main: ./lander/run_worker --service-name ts-django --service-port 8080 --delay 60
43 rabbit:

Subscribers

People subscribed via source and target branches