summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2014-11-12 13:09:19 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2014-11-12 13:09:19 +0100
commit76ba2eff4297cfc03e80d966cec518f03c5a111d (patch)
tree2c5abbf14f96a772c251e318c3072d54e5758cc0
parent333ea0b609fca122193362f08e4933bde9d0c332 (diff)
parent64c512d5bfbe8fb6716a540bc97587bd3b5d590f (diff)
downloadjenkins.debian.net-76ba2eff4297cfc03e80d966cec518f03c5a111d.tar.xz
Merge branch 'master' of git://git.debian.org/git/qa/jenkins.debian.net
-rw-r--r--README8
-rw-r--r--TODO3
-rw-r--r--bin/g-i-installation.sh64
-rw-r--r--d-i-preseed-cfgs/debian-edu_wheezy_main-server_preseed.cfg (renamed from d-i-preseed-cfgs/debian-edu_wheezy-test_main-server_preseed.cfg)0
-rw-r--r--d-i-preseed-cfgs/debian-edu_wheezy_minimal_preseed.cfg (renamed from d-i-preseed-cfgs/debian-edu_wheezy-test_minimal_preseed.cfg)0
l---------d-i-preseed-cfgs/debian_jessie_daily_kfreebsd_preseed.cfg1
l---------d-i-preseed-cfgs/debian_wheezy_daily_kfreebsd_preseed.cfg1
-rw-r--r--job-cfg/g-i-installation.yaml38
8 files changed, 82 insertions, 33 deletions
diff --git a/README b/README
index 9b1d9ea3..baa9eeda 100644
--- a/README
+++ b/README
@@ -138,10 +138,12 @@ jenkins@jenkins:~$ /srv/jenkins/bin/reproducible_blacklist.sh package1
=== dvswitch jobs
-* FIXME: describe dvswitch jobs
+* There are three jobs currently:
+** 'dvswitch_sid' and 'dvswitch_jessie' build the master branch of dvswitch against that environment.
+** while 'dvswitch_against_libav_git' builds the master branch of dvswitch using libav also build from it's master branch. This is done in an sid environment.
+** Except for 'dvswitch_jessie' which is triggered by a successful 'dvswitch_sid' run, the jobs are triggered by git commits.
-
-=== self jobs
+=== jenkins.d.n jobs
These are jobs for making sure jenkins.debian.net is running smoothly.
diff --git a/TODO b/TODO
index 1106349c..601f273b 100644
--- a/TODO
+++ b/TODO
@@ -30,6 +30,9 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian
* put kgb-client.conf in git and sed passwords from filesystem into it...
* turn udd-versionskew packages names into tracker.d.o links and provide version numbers in output too
* unreproducible-with-buildinfo should really be a state in the DB
+* replace amd64 in scripts with $HOSTARCH
+* run debbindiff against .changes files in current directory, instead of $LONGPATHES (due to #764459)
+* reproducible_scheduler should never fail loudly
=== jenkins-job-builder related
diff --git a/bin/g-i-installation.sh b/bin/g-i-installation.sh
index fb8630df..1f5c46da 100644
--- a/bin/g-i-installation.sh
+++ b/bin/g-i-installation.sh
@@ -30,7 +30,10 @@ DISKSIZE_IN_GB=$1
URL=$2
# $3 and $4 are used below for language setting
RAMSIZE=1024
-if [ "$(basename $URL)" != "amd64" ] ; then
+if [ "$(basename $URL)" = "netboot.tar.gz" ] ; then
+ # URL is for a PXE netboot installer, rather than a CD .iso
+ NETBOOT=$(pwd)/$(basename $URL)
+elif [ "$(basename $URL)" != "amd64" ] ; then
IMAGE=$(pwd)/$(basename $URL)
IMAGE_MNT="/media/cd-$NAME.iso"
else
@@ -189,10 +192,39 @@ bootstrap_system() {
*_hurd*) ;;
*) QEMU_OPTS="$QEMU_OPTS -enable-kvm -cpu host" ;;
esac
- if [ -n "$IMAGE" ] ; then
+ QEMU_WEBSERVER=http://10.0.2.1/
+ QEMU_NET_OPTS="-net nic,vlan=0 -net user,vlan=0,host=10.0.2.1,dhcpstart=10.0.2.2,dns=10.0.2.254"
+ # preseeding related variables
+ PRESEEDCFG="preseed.cfg"
+ PRESEED_PATH=d-i-preseed-cfgs
+ PRESEED_URL="url=$QEMU_WEBSERVER/$PRESEED_PATH/${NAME}_$PRESEEDCFG"
+ #
+ # boot configuration
+ #
+ if [ -n "$NETBOOT" ]; then
+ ARCH="$(ls debian-installer/)"
+ GRUB_CFG="debian-installer/$ARCH/grub.cfg"
+ case $NAME in
+ *_kfreebsd*) # boot the fourth menu option (Automated Install) after 3 seconds
+ sed -i 's#^set default=.*#set default=3#' $GRUB_CFG
+ sed -i 's#^set timeout=.*#set timeout=2#' $GRUB_CFG
+ # prepend additional options
+ OPTION="preseed/url" ; VALUE="$PRESEED_URL"
+ sed -i "s#kfreebsd .*#set kFreeBSD.$OPTION='$VALUE'\n \\0#" $GRUB_CFG
+ # redirect d-i syslog to virtual serial port
+ OPTION="preseed/early_command" ; VALUE="sed -ie s/ttyv3/cuau0/ /etc/inittab ; kill -HUP 1"
+ sed -i "s#kfreebsd .*#set kFreeBSD.$OPTION='$VALUE'\n \\0#" $GRUB_CFG
+ # enable kernel logging to virtual serial port
+ KERNEL_FLAGS="-D"
+ sed -i "s#kfreebsd .*#\0 $KERNEL_FLAGS#" $GRUB_CFG
+ ;;
+ *) ;;
+ esac
+ QEMU_NET_OPTS="$QEMU_NET_OPTS,bootfile=grub2pxe,tftp=."
+ elif [ -n "$IMAGE" ] ; then
QEMU_OPTS="$QEMU_OPTS -cdrom $IMAGE -boot d"
case $NAME in
- *_kfreebsd) ;;
+ *_kfreebsd*) ;;
*_hurd*) QEMU_OPTS="$QEMU_OPTS -vga std"
gzip -cd $IMAGE_MNT/boot/kernel/gnumach.gz > $WORKSPACE/gnumach
;;
@@ -203,12 +235,7 @@ bootstrap_system() {
else
QEMU_KERNEL="--kernel $KERNEL --initrd $INITRD"
fi
- QEMU_OPTS="$QEMU_OPTS -drive file=$LV,index=0,media=disk,cache=unsafe -m $RAMSIZE -net nic,vlan=0 -net user,vlan=0,host=10.0.2.1,dhcpstart=10.0.2.2,dns=10.0.2.254"
- QEMU_WEBSERVER=http://10.0.2.1/
- # preseeding related variables
- PRESEEDCFG="preseed.cfg"
- PRESEED_PATH=d-i-preseed-cfgs
- PRESEED_URL="url=$QEMU_WEBSERVER/$PRESEED_PATH/${NAME}_$PRESEEDCFG"
+ QEMU_OPTS="$QEMU_OPTS -drive file=$LV,index=0,media=disk,cache=unsafe -m $RAMSIZE $QEMU_NET_OPTS"
INST_LOCALE="locale=$DI_LOCALE"
INST_KEYMAP="keymap=us" # always us!
INST_VIDEO="video=vesa:ywrap,mtrr vga=788"
@@ -1072,6 +1099,10 @@ monitor_system() {
if [ ! -z "$TRIGGER_MODE" ] && [ "$TRIGGER_MODE" = "$NR" ] ; then
let TRIGGER_NR=NR
fi
+ # find out why hurd hangs
+ if [ $NR -eq 5100 ] && [[ "$NAME" =~ ^debian.*_hurd.*$ ]] ; then
+ do_and_report key alt-f4
+ fi
let NR=NR+1
sleep 2
done
@@ -1155,9 +1186,20 @@ save_logs() {
trap cleanup_all INT TERM EXIT
#
-# if there is a CD image...
+# install image preparation
#
-if [ ! -z "$IMAGE" ] ; then
+if [ ! -z "$NETBOOT" ] ; then
+ #
+ # if there is a netboot installer tarball...
+ #
+ fetch_if_newer "$NETBOOT" "$URL"
+ # try to extract, otherwise abort
+ sha256sum "$NETBOOT"
+ tar -zxvf "$NETBOOT" || exit
+elif [ ! -z "$IMAGE" ] ; then
+ #
+ # if there is a CD image...
+ #
fetch_if_newer "$IMAGE" "$URL"
# is this really an .iso?
if [ $(file "$IMAGE" | grep -cE '(ISO 9660|DOS/MBR boot sector)') -eq 1 ] ; then
diff --git a/d-i-preseed-cfgs/debian-edu_wheezy-test_main-server_preseed.cfg b/d-i-preseed-cfgs/debian-edu_wheezy_main-server_preseed.cfg
index 1adffcf9..1adffcf9 100644
--- a/d-i-preseed-cfgs/debian-edu_wheezy-test_main-server_preseed.cfg
+++ b/d-i-preseed-cfgs/debian-edu_wheezy_main-server_preseed.cfg
diff --git a/d-i-preseed-cfgs/debian-edu_wheezy-test_minimal_preseed.cfg b/d-i-preseed-cfgs/debian-edu_wheezy_minimal_preseed.cfg
index 7a6bf7d6..7a6bf7d6 100644
--- a/d-i-preseed-cfgs/debian-edu_wheezy-test_minimal_preseed.cfg
+++ b/d-i-preseed-cfgs/debian-edu_wheezy_minimal_preseed.cfg
diff --git a/d-i-preseed-cfgs/debian_jessie_daily_kfreebsd_preseed.cfg b/d-i-preseed-cfgs/debian_jessie_daily_kfreebsd_preseed.cfg
new file mode 120000
index 00000000..f5c7678a
--- /dev/null
+++ b/d-i-preseed-cfgs/debian_jessie_daily_kfreebsd_preseed.cfg
@@ -0,0 +1 @@
+debian_sid_daily_kfreebsd_preseed.cfg \ No newline at end of file
diff --git a/d-i-preseed-cfgs/debian_wheezy_daily_kfreebsd_preseed.cfg b/d-i-preseed-cfgs/debian_wheezy_daily_kfreebsd_preseed.cfg
new file mode 120000
index 00000000..f5c7678a
--- /dev/null
+++ b/d-i-preseed-cfgs/debian_wheezy_daily_kfreebsd_preseed.cfg
@@ -0,0 +1 @@
+debian_sid_daily_kfreebsd_preseed.cfg \ No newline at end of file
diff --git a/job-cfg/g-i-installation.yaml b/job-cfg/g-i-installation.yaml
index f878731f..9fc0aa2b 100644
--- a/job-cfg/g-i-installation.yaml
+++ b/job-cfg/g-i-installation.yaml
@@ -95,7 +95,7 @@
- job-template:
defaults: g-i-installation
- name: '{name}_debian-edu_wheezy-test_minimal'
+ name: '{name}_debian-edu_wheezy_minimal'
- job-template:
defaults: g-i-installation
@@ -115,11 +115,11 @@
- job-template:
defaults: g-i-installation
- name: '{name}_debian-edu_wheezy-test_main-server'
+ name: '{name}_debian-edu_wheezy_main-server'
#- job-template:
# defaults: g-i-installation
-# name: '{name}_debian-edu_wheezy-test_sugar'
+# name: '{name}_debian-edu_jessie_sugar'
- job-template:
defaults: g-i-installation
@@ -290,11 +290,11 @@
do_not_edit: '<br><br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/g-i-installation.yaml">g-i-installation.yaml</a>.'
jobs:
- '{name}_maintainance'
- - '{name}_debian-edu_wheezy-test_minimal':
- my_title: 'Debian Edu (wheezy-test) minimal'
- my_shell: '/srv/jenkins/bin/g-i-installation.sh 25 http://ftp.skolelinux.org/cd-wheezy-test-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
- my_description: 'Do a fully automated installation of a Debian Edu Wheezy minimal profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian-edu_wheezy-test_minimal_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
- my_timed: '23 20 * * 3,7'
+ - '{name}_debian-edu_wheezy_minimal':
+ my_title: 'Debian Edu (wheezy) minimal'
+ my_shell: '/srv/jenkins/bin/g-i-installation.sh 25 http://ftp.skolelinux.org/cd-wheezy-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
+ my_description: 'Do a fully automated installation of a Debian Edu Wheezy minimal profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian-edu_wheezy_minimal_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
+ my_timed: '23 20 15 * *'
my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org'
- '{name}_debian-edu_wheezy_standalone':
my_title: 'Debian Edu (wheezy) standalone'
@@ -320,16 +320,16 @@
my_description: 'Do a fully automated installation of a Debian Edu Wheezy combi-server profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian-edu_wheezy-test_combi-server_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
my_timed: '42 0 16 * *'
my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org'
- - '{name}_debian-edu_wheezy-test_main-server':
- my_title: 'Debian Edu (wheezy-test) main-server'
- my_shell: '/srv/jenkins/bin/g-i-installation.sh 30 http://ftp.skolelinux.org/cd-wheezy-test-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
- my_description: 'Do a fully automated installation of a Debian Edu Wheezy main-server profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian-edu_wheezy-test_main-server_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
+ - '{name}_debian-edu_wheezy_main-server':
+ my_title: 'Debian Edu (wheezy) main-server'
+ my_shell: '/srv/jenkins/bin/g-i-installation.sh 30 http://ftp.skolelinux.org/cd-wheezy-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
+ my_description: 'Do a fully automated installation of a Debian Edu Wheezy main-server profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian-edu_wheezy_main-server_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
my_timed: '42 2 16 * *'
my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org'
-# - '{name}_debian-edu_wheezy-test_sugar':
-# my_title: 'Debian Edu (wheezy-test) sugar'
-# my_shell: '/srv/jenkins/bin/g-i-installation.sh 25 http://ftp.skolelinux.org/cd-wheezy-test-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
-# my_description: 'Do a fully automated installation of a Debian Edu Wheezy sugar profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian-edu_wheezy-test_sugar_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
+# - '{name}_debian-edu_jessie_sugar':
+# my_title: 'Debian Edu (jessie) sugar'
+# my_shell: '/srv/jenkins/bin/g-i-installation.sh 25 http://ftp.skolelinux.org/cd-jessie-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso'
+# my_description: 'Do a fully automated installation of a Debian Edu Jessie sugar profile - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian-edu_jessie_sugar_preseed.cfg">this preseed.cfg</a>) using the netinst CD image.'
# my_timed: '42 2 * * 3,7'
# my_recipients: 'jenkins+debian-edu debian-edu-commits@lists.alioth.debian.org'
- '{name}_debian_wheezy_kde':
@@ -348,7 +348,7 @@
my_title: 'Debian (wheezy) kfreebsd desktop install'
my_shell: '/srv/jenkins/bin/g-i-installation.sh 10 http://ftp.de.debian.org/debian/dists/wheezy/main/installer-kfreebsd-amd64/current/images/netboot/mini.iso'
my_description: 'Do a fully automated installation of Debian kfreebsd desktop - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian_wheezy_kfreebsd_preseed.cfg">this preseed.cfg</a>) using netboot gtk.'
- my_timed: '42 16 4 * *'
+ my_timed: '42 16 21 * *'
my_recipients: 'holger@layer-acht.org'
- '{name}_debian_wheezy_lxde':
my_title: 'Debian (wheezy) LXDE desktop install'
@@ -403,7 +403,7 @@
my_title: 'Debian (sid daily build CD) kfreebsd desktop install'
my_shell: '/srv/jenkins/bin/g-i-installation.sh 10 http://cdimage.debian.org/cdimage/daily-builds/sid_d-i/arch-latest/kfreebsd-amd64/iso-cd/debian-testing-kfreebsd-amd64-netinst.iso'
my_description: 'Do a fully automated installation of Debian kfreebsd desktop - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian_sid_daily_kfreebsd_preseed.cfg">this preseed.cfg</a>) using netboot gtk.'
- my_timed: '42 8 9 * *'
+ my_timed: '42 8 */7 * *'
#my_timed: '42 8 * * *'
my_recipients: 'holger@layer-acht.org'
- '{name}_debian_sid_daily_lxde':
@@ -416,7 +416,7 @@
my_title: 'Debian (sid daily build CD) LXDE desktop install on Hurd'
my_shell: '/srv/jenkins/bin/g-i-installation.sh 10 http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/daily/debian-sid-hurd-i386-NETINST-1.iso'
my_description: 'Do a fully automated installation of Debian LXDE desktop on Hurd - via d-i preseeding (with <a href="https://jenkins.debian.net/d-i-preseed-cfgs/debian_sid_daily_hurd_lxde_preseed.cfg">this preseed.cfg</a>) using netboot gtk.'
- my_timed: '42 10 * * 1'
+ my_timed: '42 10 * * 1' # every monday
my_recipients: 'holger@layer-acht.org debian-hurd@lists.debian.org'
- '{name}_debian_sid_daily_rescue':
my_title: 'Debian (sid daily build CD) rescue mode'