Merge lp:~gary/charms/oneiric/buildbot-master/expand-readme into lp:~yellow/charms/oneiric/buildbot-master/trunk

Proposed by Gary Poster
Status: Merged
Approved by: Brad Crittenden
Approved revision: 36
Merged at revision: 35
Proposed branch: lp:~gary/charms/oneiric/buildbot-master/expand-readme
Merge into: lp:~yellow/charms/oneiric/buildbot-master/trunk
Diff against target: 137 lines (+75/-41)
2 files modified
HACKING.txt (+0/-30)
README.txt (+75/-11)
To merge this branch: bzr merge lp:~gary/charms/oneiric/buildbot-master/expand-readme
Reviewer Review Type Date Requested Status
Brad Crittenden (community) code Approve
Review via email: mp+95029@code.launchpad.net

Description of the change

This branch adjusts the charm per our recent review: we collapse HACKING into README.

I also added and massaged the README a bit, including making some changes to accommodate changes in the sister branch https://code.launchpad.net/~gary/charms/oneiric/buildbot-slave/expand-readme .

Thank you

To post a comment you must log in.
Revision history for this message
Brad Crittenden (bac) wrote :

Looks good.

To be more obvious I'd expand "OOM".

I thought the juju_wrapper was going to be moved somewhere else. Let's remember to fix this README when that happens.

review: Approve (code)
37. By Gary Poster

tweak per review

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== removed file 'HACKING.txt'
--- HACKING.txt 2012-02-23 16:45:54 +0000
+++ HACKING.txt 1970-01-01 00:00:00 +0000
@@ -1,30 +0,0 @@
1Running the charm tests
2=======================
3
41) Establish a charm repository if you do not already have one. A charm
5 repository is a directory with subdirectories for each Ubuntu version being
6 used. Inside those per-Ubuntu-version directories are the charm
7 directories. For example, to make a charm repository for this charm under
8 Oneiric follow these steps:
9
10 a) mkdir -p ~/juju-charms/oneiric
11 b) ln -s `pwd` ~/juju-charms/oneiric/buildbot-master
12
132) Copy the juju_wrapper file into some place earlier in your PATH than the
14 real juju executable, naming it "juju". Edit the CHARM_TEST_REPO variable
15 therein to reflect the location of the charm repo from step 1.
16
173) Bootstrap the juju environment if not already done:
18
19 juju bootstrap
20
214) Run the tests: RESOLVE_TEST_CHARMS=1 tests/buildbot-master.test
22
23
24XXX bac 2012-02-23: The tests do not run locally using precise. Set
25default-series: oneiric to get them to pass.
26
27Running the charm helper tests
28==============================
29
30Just run "python hooks/tests.py".
310
=== modified file 'README.txt'
--- README.txt 2012-02-10 22:05:39 +0000
+++ README.txt 2012-02-28 20:02:17 +0000
@@ -1,4 +1,35 @@
1Demo of a single master.cfg file:1Usage
2=====
3
4This charm depends on the buildbot-slave charm.
5
6It expects all configuration to be provided initially at deploy time,
7using the --config option.
8
9You can provide a master.cfg file to use inline with your config file,
10or you can provide a full branch that includes a master.cfg and any
11other desired support files. If you provide a branch, be aware that
12this charm expects to control the .tac file.
13
14In both cases, you need to modify your master.cfg file to be used by
15the charm.
16
17 * The BuildmasterConfig's "slaves" key should usually be an empty
18 list. This list will be populated by slaves dynamically as they
19 join. You may be able to also define slaves that are hosted
20 elsewhere (not in juju). This has not been tested and may need
21 some adjustments to work.
22
23 * The "builders" key should contain instances of
24 buildbot.config.BuilderConfig, not dicts. The "slavenames"
25 argument should be a list of a single empty string. The empty
26 string will be removed and replaced with the names of slaves that
27 dynamically declare that they want to participate in those builds.
28
29Examples are below.
30
31Demo of a single master.cfg file
32--------------------------------
233
3This uses the standard buildbot Pyflakes example.34This uses the standard buildbot Pyflakes example.
435
@@ -11,18 +42,51 @@
11juju set buildbot-slave builders=runtests42juju set buildbot-slave builders=runtests
12juju add-relation buildbot-slave buildbot-master43juju add-relation buildbot-slave buildbot-master
1344
14Tou can also run a master and slave that run Launchpad's tests, like so:45Look in the pyflakes.yaml file to see how the master.cfg was modified
46as described above.
47
48Demo of a master.cfg in a branch with supporting files
49------------------------------------------------------
50
51This is a pretty odd example in several ways, but you can also run a
52master and slave that run Launchpad's tests, like so:
1553
16juju bootstrap54juju bootstrap
17juju deploy --config=./charms/oneiric/buildbot-master/examples/lpbuildbot.yaml --repository=./charms local:buildbot-master55juju deploy --config=./charms/oneiric/buildbot-master/examples/lpbuildbot.yaml --repository=./charms local:buildbot-master
18juju deploy --config=./charms/oneiric/buildbot-slave/config.setuplxc.yaml --repository=./charms local:buildbot-slave56juju deploy --config=./charms/oneiric/buildbot-slave/examples/lpbuildbot.yaml --repository=./charms local:buildbot-slave
19juju add-relation buildbot-slave buildbot-master57juju add-relation buildbot-slave buildbot-master
2058
21XXX Running setuplxc takes a long time. For now, then, replace the59Note that starting up the buildbot-slave for Launchpad takes a very,
22juju deploy of the slave with these two lines. This will mean that,60very long time (over two hours) and requires a large EC2 instance to
23when it works, the slave will connect to the master but when it tries61avoid out of memory errors.
24to run tests it will fail (because the slave environment has not been62
25set up).63Running the charm tests
2664=======================
27juju deploy --repository=./charms local:buildbot-slave65
28juju set buildbot-slave builders=lucid_lp,lucid_db_lp661) Establish a charm repository if you do not already have one. A charm
67 repository is a directory with subdirectories for each Ubuntu version being
68 used. Inside those per-Ubuntu-version directories are the charm
69 directories. For example, to make a charm repository for this charm under
70 Oneiric follow these steps:
71
72 a) mkdir -p ~/juju-charms/oneiric
73 b) ln -s `pwd` ~/juju-charms/oneiric/buildbot-master
74
752) Copy the juju_wrapper file into some place earlier in your PATH than the
76 real juju executable, naming it "juju". Edit the CHARM_TEST_REPO variable
77 therein to reflect the location of the charm repo from step 1.
78
793) Bootstrap the juju environment if not already done:
80
81 juju bootstrap
82
834) Run the tests: RESOLVE_TEST_CHARMS=1 tests/buildbot-master.test
84
85
86XXX bac 2012-02-23: The tests do not run locally using precise. Set
87default-series: oneiric to get them to pass.
88
89Running the charm helper tests
90==============================
91
92Just run "python hooks/tests.py".

Subscribers

People subscribed via source and target branches

to all changes: