summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TODO30
-rw-r--r--etc/apache2/conf.d/munin86
-rw-r--r--etc/apache2/sites-available/jenkins.debian.net42
-rw-r--r--etc/munin/munin.conf141
-rw-r--r--job-cfg/d-i.yaml2
-rwxr-xr-xupdate_jdn.sh3
6 files changed, 296 insertions, 8 deletions
diff --git a/TODO b/TODO
index 81ed69c3..f9630dfa 100644
--- a/TODO
+++ b/TODO
@@ -12,9 +12,9 @@ About jenkins.debian.net
== About jenkins.debian.net
* This is pretty much work in progress, (hopefully) doing something useful since October 15th 2012
-* Join #debian-qa on irc.debian.org to report bugs or give other feedback!
+* Join #debian-qa on irc.debian.org to report bugs or give other feedback! Use debian-qa@lists.debian.org if you prefer mail.
* git clone git://git.debian.org/git/users/holger/jenkins.debian.net.git
-* (virtual) hardware sponsored by http://www.profitbricks.com
+* (virtual) hardware sponsored by http://www.profitbricks.com - currently it's just a server, but in future there will be installation and tests clients started on demand as well.
== General ToDo
@@ -28,10 +28,12 @@ About jenkins.debian.net
=== More minor stuff
+* make job configuration visible to un-authenticated users
* squid has problems with SO_FAIL
* split TODO and about.txt?
+* setup munin monitoring
** use debian stylesheet for about.html
-** use job description to create .txt file to be included in about.txt/TODO?
+** add sidebar links for all jobs
* proper git repo url, outside users/holger
* only trigger (=really run) jobs if available+used packages have changed (save packages in db and compare)
@@ -47,6 +49,8 @@ About jenkins.debian.net
=== Test tasks:
+* test installation with (at least) more language tasks enabled
+
----
<h01ger> how do i install a task outside d-i?
<h01ger> what interesting tasks are there?
@@ -56,6 +60,20 @@ About jenkins.debian.net
(FIXME: tasksel doesn't work like this)
+=== Tests for supporting d-i development:
+
+* build the manual on every svn commit
+** later: notify debian-boot@l.d.o and #debian-boot
+* run scripts/digress/
+* bubulle wrote: "Another interesting target would be d-i builds *including non uploaded > packages* (something like "d-i from git repositories" images). That would in some way require to create a quite specific image, with all udebs (while netboot only has udebs needed before one gets a working network setup).
+
+=== Tests using autopkgtest
+
+* I aware but also lost, after looking at /usr/share/doc/autopkgtest/ - wanna help?
+* https://wiki.ubuntu.com/AutomatedTesting has more information, but help is still welcome to implement this.
+* finding packages with autopkgtests: http://lists.debian.org/debian-qa/2012/11/msg00012.html
+* also see http://dep.debian.net/deps/dep8/
+
== Installed software that makes jenkins.debian.net run
* jenkins.debian.net runs Debian wheezy.
@@ -64,12 +82,12 @@ About jenkins.debian.net
** update_jdn.sh is available in the git repo
* package configuration is kept in git and deployed by update_jdn.sh as well
-=== installing jenkins-job-builder
+=== Installing jenkins-job-builder
* rebuild python-jenkinsapi from sid for wheezy
* pip install python-jenkins
* git clone https://github.com/openstack-ci/jenkins-job-builder ; cd jenkins-job-builder ; python setup.py install
-=== using jenkins-job-builder
+=== Using jenkins-job-builder
* then run 'cd /srv/jenkins/job-cfg ; jenkins-jobs update .' to update jobs
* testing: 'cd /srv/jenkins/job-cfg ; rm test-output/ -r ; mkdir test-output ; jenkins-jobs test . -o test-output/ ; ls test-output/'
@@ -77,4 +95,4 @@ About jenkins.debian.net
== To backup
* /etc/.git
-* /var/lib/jenkins/config.xml as well as its plugins etc
+* /var/lib/jenkins/config.xml as well as its plugins
diff --git a/etc/apache2/conf.d/munin b/etc/apache2/conf.d/munin
new file mode 100644
index 00000000..2c77e185
--- /dev/null
+++ b/etc/apache2/conf.d/munin
@@ -0,0 +1,86 @@
+# Enable this for template generation
+Alias /munin /var/cache/munin/www
+
+# Enable this for cgi-based templates
+#Alias /munin-cgi/static /var/cache/munin/www/static
+#ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html
+#<Location /munin-cgi>
+# Order allow,deny
+# Allow from localhost 127.0.0.0/8 ::1
+# AuthUserFile /etc/munin/munin-htpasswd
+# AuthName "Munin"
+# AuthType Basic
+# require valid-user
+#</Location>
+
+<Directory /var/cache/munin/www>
+ Order allow,deny
+ Allow from all
+ Options None
+
+ # This file can be used as a .htaccess file, or a part of your apache
+ # config file.
+ #
+ # For the .htaccess file option to work the munin www directory
+ # (/var/cache/munin/www) must have "AllowOverride all" or something
+ # close to that set.
+ #
+
+ # AuthUserFile /etc/munin/munin-htpasswd
+ # AuthName "Munin"
+ # AuthType Basic
+ # require valid-user
+
+ # This next part requires mod_expires to be enabled.
+ #
+
+ # Set the default expiration time for files to 5 minutes 10 seconds from
+ # their creation (modification) time. There are probably new files by
+ # that time.
+ #
+
+ <IfModule mod_expires.c>
+ ExpiresActive On
+ ExpiresDefault M310
+ </IfModule>
+
+</Directory>
+
+# Enables fastcgi for munin-cgi-html if present
+#<Location /munin-cgi>
+# <IfModule mod_fastcgi.c>
+# SetHandler fastcgi-script
+# </IfModule>
+#</Location>
+
+#<Location /munin-cgi/static>
+# SetHandler None
+#</Location>
+
+# Enables fastcgi for munin-cgi-graph if present
+ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
+<Location /munin-cgi/munin-cgi-graph>
+ Order allow,deny
+ Allow from localhost 127.0.0.0/8 ::1
+ # AuthUserFile /etc/munin/munin-htpasswd
+ # AuthName "Munin"
+ # AuthType Basic
+ # require valid-user
+ <IfModule mod_fastcgi.c>
+ SetHandler fastcgi-script
+ </IfModule>
+</Location>
+
+ScriptAlias /munin-cgi/munin-cgi-html /usr/lib/munin/cgi/munin-cgi-html
+<Location /munin-cgi/munin-cgi-html>
+ Order allow,deny
+ Allow from localhost 127.0.0.0/8 ::1
+ # AuthUserFile /etc/munin/munin-htpasswd
+ # AuthName "Munin"
+ # AuthType Basic
+ # require valid-user
+ <IfModule mod_fastcgi.c>
+ SetHandler fastcgi-script
+ </IfModule>
+</Location>
+
diff --git a/etc/apache2/sites-available/jenkins.debian.net b/etc/apache2/sites-available/jenkins.debian.net
new file mode 100644
index 00000000..dc2d5b59
--- /dev/null
+++ b/etc/apache2/sites-available/jenkins.debian.net
@@ -0,0 +1,42 @@
+<VirtualHost *:80>
+ ServerAdmin webmaster@localhost
+
+ DocumentRoot /var/www
+ <Directory />
+ Options FollowSymLinks
+ AllowOverride None
+ </Directory>
+ <Directory /var/www/>
+ Options Indexes FollowSymLinks MultiViews
+ AllowOverride None
+ Order allow,deny
+ allow from all
+ </Directory>
+
+ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
+ <Directory "/usr/lib/cgi-bin">
+ AllowOverride None
+ Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
+ Order allow,deny
+ Allow from all
+ </Directory>
+
+ ProxyRequests Off
+ <Proxy *>
+ Order deny,allow
+ Allow from all
+ </Proxy>
+ ProxyPreserveHost on
+ # proxy everything but /munin
+ ProxyPass /munin !
+ ProxyPass / http://localhost:8080/
+
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+
+ # Possible values include: debug, info, notice, warn, error, crit,
+ # alert, emerg.
+ LogLevel warn
+
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+</VirtualHost>
diff --git a/etc/munin/munin.conf b/etc/munin/munin.conf
new file mode 100644
index 00000000..0bedd5a8
--- /dev/null
+++ b/etc/munin/munin.conf
@@ -0,0 +1,141 @@
+# Example configuration file for Munin, generated by 'make build'
+
+# The next three variables specifies where the location of the RRD
+# databases, the HTML output, logs and the lock/pid files. They all
+# must be writable by the user running munin-cron. They are all
+# defaulted to the values you see here.
+#
+#dbdir /var/lib/munin
+#htmldir /var/cache/munin/www
+#logdir /var/log/munin
+#rundir /var/run/munin
+
+# Where to look for the HTML templates
+#
+#tmpldir /etc/munin/templates
+
+# Where to look for the static www files
+#
+#staticdir /etc/munin/static
+
+# temporary cgi files are here. note that it has to be writable by
+# the cgi user (usually nobody or httpd).
+#
+# cgitmpdir /var/lib/munin/cgi-tmp
+
+# (Exactly one) directory to include all files from.
+includedir /etc/munin/munin-conf.d
+
+# You can choose the time reference for "DERIVE" like graphs, and show
+# "per minute", "per hour" values instead of the default "per second"
+#
+#graph_period second
+
+# Graphics files are generated either via cron or by a CGI process.
+# See http://munin-monitoring.org/wiki/CgiHowto2 for more
+# documentation.
+# Since 2.0, munin-graph has been rewritten to use the cgi code.
+# It is single threaded *by design* now.
+#
+#graph_strategy cron
+
+# munin-cgi-graph is invoked by the web server up to very many times at the
+# same time. This is not optimal since it results in high CPU and memory
+# consumption to the degree that the system can thrash. Again the default is
+# 6. Most likely the optimal number for max_cgi_graph_jobs is the same as
+# max_graph_jobs.
+#
+#munin_cgi_graph_jobs 6
+
+# If the automatic CGI url is wrong for your system override it here:
+#
+#cgiurl_graph /munin-cgi/munin-cgi-graph
+
+# max_size_x and max_size_y are the max size of images in pixel.
+# Default is 4000. Do not make it too large otherwise RRD might use all
+# RAM to generate the images.
+#
+#max_size_x 4000
+#max_size_y 4000
+
+# HTML files are normally generated by munin-html, no matter if the
+# files are used or not. You can change this to on-demand generation
+# by following the instructions in http://munin-monitoring.org/wiki/CgiHowto2
+#
+# Notes:
+# - moving to CGI for HTML means you cannot have graph generated by cron.
+# - cgi html has some bugs, mostly you still have to launch munin-html by hand
+#
+#html_strategy cron
+
+# munin-update runs in parallel.
+#
+# The default max number of processes is 16, and is probably ok for you.
+#
+# If set too high, it might hit some process/ram/filedesc limits.
+# If set too low, munin-update might take more than 5 min.
+#
+# If you want munin-update to not be parallel set it to 0.
+#
+#max_processes 16
+
+# RRD updates are per default, performed directly on the rrd files.
+# To reduce IO and enable the use of the rrdcached, uncomment it and set it to
+# the location of the socket that rrdcached uses.
+#
+#rrdcached_socket /var/run/rrdcached.sock
+
+# Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime
+# something changes (OK -> WARNING, CRITICAL -> OK, etc)
+#contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm
+#contact.anotheruser.command mail -s "Munin notification" anotheruser@blibb.comm
+#
+# For those with Nagios, the following might come in handy. In addition,
+# the services must be defined in the Nagios server as well.
+#contact.nagios.command /usr/bin/send_nsca nagios.host.comm -c /etc/nsca.conf
+
+# a simple host tree
+[jenkins.debian.net]
+ address 127.0.0.1
+ use_node_name yes
+
+#
+# A more complex example of a host tree
+#
+## First our "normal" host.
+# [fii.foo.com]
+# address foo
+#
+## Then our other host...
+# [fay.foo.com]
+# address fay
+#
+## Then we want totals...
+# [foo.com;Totals] #Force it into the "foo.com"-domain...
+# update no # Turn off data-fetching for this "host".
+#
+# # The graph "load1". We want to see the loads of both machines...
+# # "fii=fii.foo.com:load.load" means "label=machine:graph.field"
+# load1.graph_title Loads side by side
+# load1.graph_order fii=fii.foo.com:load.load fay=fay.foo.com:load.load
+#
+# # The graph "load2". Now we want them stacked on top of each other.
+# load2.graph_title Loads on top of each other
+# load2.dummy_field.stack fii=fii.foo.com:load.load fay=fay.foo.com:load.load
+# load2.dummy_field.draw AREA # We want area instead the default LINE2.
+# load2.dummy_field.label dummy # This is needed. Silly, really.
+#
+# # The graph "load3". Now we want them summarised into one field
+# load3.graph_title Loads summarised
+# load3.combined_loads.sum fii.foo.com:load.load fay.foo.com:load.load
+# load3.combined_loads.label Combined loads # Must be set, as this is
+# # not a dummy field!
+#
+## ...and on a side note, I want them listen in another order (default is
+## alphabetically)
+#
+# # Since [foo.com] would be interpreted as a host in the domain "com", we
+# # specify that this is a domain by adding a semicolon.
+# [foo.com;]
+# node_order Totals fii.foo.com fay.foo.com
+#
diff --git a/job-cfg/d-i.yaml b/job-cfg/d-i.yaml
index 97d16613..b7113418 100644
--- a/job-cfg/d-i.yaml
+++ b/job-cfg/d-i.yaml
@@ -6,7 +6,7 @@
url: svn://svn.debian.org/svn/d-i/trunk
basedir: .
workspaceupdater: update
- includedRegions: 'trunk/manual/.*'
+ includedRegions: 'manual/.*'
excludedRegions: ''
excludedUsers: ''
excludedRevprop: ''
diff --git a/update_jdn.sh b/update_jdn.sh
index 675a5cc5..039193d6 100755
--- a/update_jdn.sh
+++ b/update_jdn.sh
@@ -22,7 +22,7 @@ asciidoc -a numbered -a data-uri -a iconsdir=/etc/asciidoc/images/icons -a scrip
# install packages we need
# (more or less grouped into more-then-nice-to-have, needed-while-things-are-new, needed)
#
-sudo apt-get install vim screen less etckeeper curl mtr-tiny dstat devscripts bash-completion shorewall shorewall6 cron-apt apt-listchanges \
+sudo apt-get install vim screen less etckeeper curl mtr-tiny dstat devscripts bash-completion shorewall shorewall6 cron-apt apt-listchanges munin \
build-essential python-setuptools \
debootstrap sudo figlet graphviz apache2 python-yaml python-pip mr subversion subversion-tools vnstat
@@ -41,6 +41,7 @@ fi
sudo chown root.root /etc/sudoers.d/jenkins ; sudo chmod 700 /etc/sudoers.d/jenkins
sudo ln -sf /etc/apache2/sites-available/jenkins.debian.net /etc/apache2/sites-enabled/000-default
sudo service apache2 reload
+cd /etc/munin/plugins ; sudo rm rm postfix_* open_inodes df_inode interrupts diskstats
#
# run jenkins-job-builder to update jobs if needed