yellow team mailing list archive
-
yellow team
-
Mailing list archive
-
Message #00497
[Merge] lp:~gary/charms/oneiric/buildbot-master/expand-readme into lp:~yellow/charms/oneiric/buildbot-master/trunk
Gary Poster has proposed merging lp:~gary/charms/oneiric/buildbot-master/expand-readme into lp:~yellow/charms/oneiric/buildbot-master/trunk.
Requested reviews:
Launchpad Yellow Squad (yellow)
For more details, see:
https://code.launchpad.net/~gary/charms/oneiric/buildbot-master/expand-readme/+merge/95029
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
--
https://code.launchpad.net/~gary/charms/oneiric/buildbot-master/expand-readme/+merge/95029
Your team Launchpad Yellow Squad is requested to review the proposed merge of lp:~gary/charms/oneiric/buildbot-master/expand-readme into lp:~yellow/charms/oneiric/buildbot-master/trunk.
=== 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 @@
-Running the charm tests
-=======================
-
-1) Establish a charm repository if you do not already have one. A charm
- repository is a directory with subdirectories for each Ubuntu version being
- used. Inside those per-Ubuntu-version directories are the charm
- directories. For example, to make a charm repository for this charm under
- Oneiric follow these steps:
-
- a) mkdir -p ~/juju-charms/oneiric
- b) ln -s `pwd` ~/juju-charms/oneiric/buildbot-master
-
-2) Copy the juju_wrapper file into some place earlier in your PATH than the
- real juju executable, naming it "juju". Edit the CHARM_TEST_REPO variable
- therein to reflect the location of the charm repo from step 1.
-
-3) Bootstrap the juju environment if not already done:
-
- juju bootstrap
-
-4) Run the tests: RESOLVE_TEST_CHARMS=1 tests/buildbot-master.test
-
-
-XXX bac 2012-02-23: The tests do not run locally using precise. Set
-default-series: oneiric to get them to pass.
-
-Running the charm helper tests
-==============================
-
-Just run "python hooks/tests.py".
=== modified file 'README.txt'
--- README.txt 2012-02-10 22:05:39 +0000
+++ README.txt 2012-02-28 19:40:23 +0000
@@ -1,4 +1,35 @@
-Demo of a single master.cfg file:
+Usage
+=====
+
+This charm depends on the buildbot-slave charm.
+
+It expects all configuration to be provided initially at deploy time,
+using the --config option.
+
+You can provide a master.cfg file to use inline with your config file,
+or you can provide a full branch that includes a master.cfg and any
+other desired support files. If you provide a branch, be aware that
+this charm expects to control the .tac file.
+
+In both cases, you need to modify your master.cfg file to be used by
+the charm.
+
+ * The BuildmasterConfig's "slaves" key should usually be an empty
+ list. This list will be populated by slaves dynamically as they
+ join. You may be able to also define slaves that are hosted
+ elsewhere (not in juju). This has not been tested and may need
+ some adjustments to work.
+
+ * The "builders" key should contain instances of
+ buildbot.config.BuilderConfig, not dicts. The "slavenames"
+ argument should be a list of a single empty string. The empty
+ string will be removed and replaced with the names of slaves that
+ dynamically declare that they want to participate in those builds.
+
+Examples are below.
+
+Demo of a single master.cfg file
+--------------------------------
This uses the standard buildbot Pyflakes example.
@@ -11,18 +42,51 @@
juju set buildbot-slave builders=runtests
juju add-relation buildbot-slave buildbot-master
-Tou can also run a master and slave that run Launchpad's tests, like so:
+Look in the pyflakes.yaml file to see how the master.cfg was modified
+as described above.
+
+Demo of a master.cfg in a branch with supporting files
+------------------------------------------------------
+
+This is a pretty odd example in several ways, but you can also run a
+master and slave that run Launchpad's tests, like so:
juju bootstrap
juju deploy --config=./charms/oneiric/buildbot-master/examples/lpbuildbot.yaml --repository=./charms local:buildbot-master
-juju deploy --config=./charms/oneiric/buildbot-slave/config.setuplxc.yaml --repository=./charms local:buildbot-slave
+juju deploy --config=./charms/oneiric/buildbot-slave/examples/lpbuildbot.yaml --repository=./charms local:buildbot-slave
juju add-relation buildbot-slave buildbot-master
-XXX Running setuplxc takes a long time. For now, then, replace the
-juju deploy of the slave with these two lines. This will mean that,
-when it works, the slave will connect to the master but when it tries
-to run tests it will fail (because the slave environment has not been
-set up).
-
-juju deploy --repository=./charms local:buildbot-slave
-juju set buildbot-slave builders=lucid_lp,lucid_db_lp
+Note that starting up the buildbot-slave for Launchpad takes a very,
+very long time (over two hours) and requires a large EC2 instance to
+avoid OOM errors.
+
+Running the charm tests
+=======================
+
+1) Establish a charm repository if you do not already have one. A charm
+ repository is a directory with subdirectories for each Ubuntu version being
+ used. Inside those per-Ubuntu-version directories are the charm
+ directories. For example, to make a charm repository for this charm under
+ Oneiric follow these steps:
+
+ a) mkdir -p ~/juju-charms/oneiric
+ b) ln -s `pwd` ~/juju-charms/oneiric/buildbot-master
+
+2) Copy the juju_wrapper file into some place earlier in your PATH than the
+ real juju executable, naming it "juju". Edit the CHARM_TEST_REPO variable
+ therein to reflect the location of the charm repo from step 1.
+
+3) Bootstrap the juju environment if not already done:
+
+ juju bootstrap
+
+4) Run the tests: RESOLVE_TEST_CHARMS=1 tests/buildbot-master.test
+
+
+XXX bac 2012-02-23: The tests do not run locally using precise. Set
+default-series: oneiric to get them to pass.
+
+Running the charm helper tests
+==============================
+
+Just run "python hooks/tests.py".
Follow ups