~verterok/ols-jenkaas/dd-siab-dependencies

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
===============
 babune reborn
===============

This describes re-building babune (the now defunct BAzaar BUilbot NEt) on
top of a jenkaas setup.

Architecture
============

Babune is composed of a jenkins master and slaves providing lxd containers.

All test jobs occur inside a container, only the push to launchpad occur on
the slaves themselves so that the needed credentials are never exposed to
test jobs.


Initial test setup
==================

$ ./setup-jenkaas

This will end display the jenkins url, something like:

  Jenkins master is at http://192.168.0.129:8080

Connect there and login with {jenkaas.bot.user}, bzr-jb-bot here.

Go to the configure page for that user and copy the API Token, then:

$ ols-vms config bzr-job-builder jenkaas.bot.password=<API Token>

Alternatively, for local testing purposes, the admin user can replace the
bot user with:

$ ols-vms config bzr-job-builder jenkaas.bot.user=admin
$ ols-vms config bzr-job-builder jenkaas.bot.password=$(ols-vms shell babune cat ~jenkins/.admin-api-token)

The last manual bits are to allow the slave to access the 'secrets' branch:

* create a new ssh key uniquely identifiying the slave with the 'seed-<slave
  name>' job,

* add the public key to the bzr-pqm lp user,

* share the secrets branch with bzr-pqm user, from
  https://launchpad.net/bzr-buildbot-net/+sharing 'Share with someone' add
  bzr-pqm (unless it's already there), (FIXME: This is too brittle, all
  https://launchpad.net/~bzr-buildbot-net-dev can see that branch :-/
  vila 2016-07-18)

* finish the slave setup by running the 'setup-seeded-<slave name>'

Setup the job builder instance:

$ ols-vms setup bzr-job-builder

You're good to go, edit job descriptions under 'jobs/' then do:

ubuntu@bzr-job-builder:~/jenkaas$ ~/.local/bin/jenkins-jobs update jobs/