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".
-- Mailing list: https://launchpad.net/~yellow Post to : [email protected] Unsubscribe : https://launchpad.net/~yellow More help : https://help.launchpad.net/ListHelp

