Merge lp:~frankban/charms/oneiric/buildbot-slave/initial into lp:~yellow/charms/oneiric/buildbot-slave/trunk

Proposed by Francesco Banconi
Status: Approved
Approved by: Gary Poster
Approved revision: 10
Proposed branch: lp:~frankban/charms/oneiric/buildbot-slave/initial
Merge into: lp:~yellow/charms/oneiric/buildbot-slave/trunk
Diff against target: 121 lines (+81/-0)
8 files modified
config.yaml (+17/-0)
hooks/buildbot-relation-changed (+18/-0)
hooks/config-changed (+2/-0)
hooks/install (+10/-0)
hooks/start (+5/-0)
hooks/stop (+7/-0)
metadata.yaml (+21/-0)
revision (+1/-0)
To merge this branch: bzr merge lp:~frankban/charms/oneiric/buildbot-slave/initial
Reviewer Review Type Date Requested Status
Gary Poster (community) Approve
Review via email: mp+90739@code.launchpad.net

Description of the change

Fisr working implementation of the buildbot slave charm.

To post a comment you must log in.
8. By Francesco Banconi

Cleaned old stuff coming from the master charm.

9. By Francesco Banconi

Cleaned config-changed file.

10. By Francesco Banconi

Cleaned install hook.

Revision history for this message
Gary Poster (gary) wrote :

Thank you for cleaning out the unnecessary master changes as we discussed on a hangout.

hooks/buildbot-relation-changed will be idempotent after we move the installation to the install step, so I won't worry about that.

review: Approve

Unmerged revisions

10. By Francesco Banconi

Cleaned install hook.

9. By Francesco Banconi

Cleaned config-changed file.

8. By Francesco Banconi

Cleaned old stuff coming from the master charm.

7. By Francesco Banconi

First working implementation of buildbot slave.

6. By Graham Binns

Basic tweaks from Master config.

5. By Brad Crittenden

make user and pkey optional when pulling from a public url

4. By Brad Crittenden

Incomplete work towards config directory checkout

3. By Brad Crittenden

Works against LXC

2. By Brad Crittenden

Fix expose

1. By Brad Crittenden

Almost working buildbot master charm

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'config.yaml'
2--- config.yaml 1970-01-01 00:00:00 +0000
3+++ config.yaml 2012-01-30 17:55:27 +0000
4@@ -0,0 +1,17 @@
5+options:
6+ installdir:
7+ description: |
8+ The directory where the Buildbot slave will be installed.
9+ type: string
10+ default: /tmp/buildbot
11+ name:
12+ description: |
13+ The name of this slave.
14+ type: string
15+ default: example-slave
16+ passwd:
17+ description: |
18+ The password of this slave.
19+ type: string
20+ default: pass
21+
22
23=== added directory 'hooks'
24=== added file 'hooks/buildbot-relation-changed'
25--- hooks/buildbot-relation-changed 1970-01-01 00:00:00 +0000
26+++ hooks/buildbot-relation-changed 2012-01-30 17:55:27 +0000
27@@ -0,0 +1,18 @@
28+#!/bin/bash
29+# This must be renamed to the name of the relation. The goal here is to
30+# affect any change needed by relationships being formed, modified, or broken
31+# This script should be idempotent.
32+juju-log $JUJU_REMOTE_UNIT modified its settings
33+
34+BUILDBOT_DIR=`config-get installdir`
35+NAME=`config-get name`
36+PASSWD=`config-get passwd`
37+HOST=`relation-get private-address`
38+
39+juju-log "--> create slave"
40+buildslave create-slave $BUILDBOT_DIR $HOST $NAME $PASSWD
41+juju-log "<-- create slave"
42+
43+juju-log "--> start"
44+buildslave start $BUILDBOT_DIR
45+juju-log "<-- start"
46
47=== added file 'hooks/config-changed'
48--- hooks/config-changed 1970-01-01 00:00:00 +0000
49+++ hooks/config-changed 2012-01-30 17:55:27 +0000
50@@ -0,0 +1,2 @@
51+#!/bin/bash
52+# Hook for handling config changes.
53
54=== added file 'hooks/install'
55--- hooks/install 1970-01-01 00:00:00 +0000
56+++ hooks/install 2012-01-30 17:55:27 +0000
57@@ -0,0 +1,10 @@
58+#!/bin/bash
59+# Here do anything needed to install the service
60+# i.e. apt-get install -y foo or bzr branch http://myserver/mycode /srv/webroot
61+set -eux # -x for verbose logging to juju debug-log
62+
63+juju-log "--> install"
64+BUILDBOT_DIR=`config-get installdir`
65+apt-get install -y buildbot
66+mkdir -p $BUILDBOT_DIR
67+juju-log "<-- install"
68
69=== added file 'hooks/start'
70--- hooks/start 1970-01-01 00:00:00 +0000
71+++ hooks/start 2012-01-30 17:55:27 +0000
72@@ -0,0 +1,5 @@
73+#!/bin/bash
74+# Here put anything that is needed to start the service.
75+# Note that currently this is run directly after install
76+# i.e. 'service apache2 start'
77+
78
79=== added file 'hooks/stop'
80--- hooks/stop 1970-01-01 00:00:00 +0000
81+++ hooks/stop 2012-01-30 17:55:27 +0000
82@@ -0,0 +1,7 @@
83+#!/bin/bash
84+# This will be run when the service is being torn down, allowing you to disable
85+# it in various ways..
86+# For example, if your web app uses a text file to signal to the load balancer
87+# that it is live... you could remove it and sleep for a bit to allow the load
88+# balancer to stop sending traffic.
89+# rm /srv/webroot/server-live.txt && sleep 30
90
91=== added file 'metadata.yaml'
92--- metadata.yaml 1970-01-01 00:00:00 +0000
93+++ metadata.yaml 2012-01-30 17:55:27 +0000
94@@ -0,0 +1,21 @@
95+name: buildbot-slave
96+summary: system to automate the compile/test cycle
97+description: |
98+ The BuildBot is a system to automate the compile/test cycle required by
99+ most software projects to validate code changes. By automatically
100+ rebuilding and testing the tree each time something has changed, build
101+ problems are pinpointed quickly, before other developers are
102+ inconvenienced by the failure. The guilty developer can be identified
103+ and harassed without human intervention. By running the builds on a
104+ variety of platforms, developers who do not have the facilities to
105+ test their changes everywhere before checkin will at least know
106+ shortly afterwards whether they have broken the build or not. Warning
107+ counts, lint checks, image size, compile time, and other build
108+ parameters can be tracked over time, are more visible, and are
109+ therefore easier to improve.
110+requires:
111+ buildbot:
112+ interface: master
113+provides:
114+ buildbot:
115+ interface: slave
116
117=== added file 'revision'
118--- revision 1970-01-01 00:00:00 +0000
119+++ revision 2012-01-30 17:55:27 +0000
120@@ -0,0 +1,1 @@
121+18

Subscribers

People subscribed via source and target branches