SlideShare a Scribd company logo
CentOS, QA and OpenNebula 
Opennebula Conference 2014 
Berlin 
December 2nd to 4th 
Christoph Galuschka 
tigalch@tigalch.org
Who am I 
● Christoph Galuschka, age 37 
● from Innsbruck, Austria 
● working at TIWAG Tiroler Wasserkraft AG (utility company) in the IT 
operations department 
● Using Linux since 1998, CentOS since 2005 
● Part of the CentOS-QA-Team since April 2012 
● Mainly working on release-QA, t_functional git repo for automated testing 
and the testing infrastructure, wiki and forums
CentOS CI 
● created in june 2011 
● an approach to automate QA-release testing 
● create a set of tests to run for each point release QA-cycle 
● use git as a common repository for other users (yes you too) to contribute 
new tests 
● currently contains more then 430 scripts/functional/trademark tests for more 
than 110 packages 
● additionally uses the Linux Test Project 
● upcoming: to test every update before public release
History 
● First setup of CI: lost from memory :) and in a different DC 
● Second setup - move to opennebula 
● started with 4.0, 4.2 later (RPMs from CentOS-Developers) 
● 4.8 since November 2014 
● only “issue” during update: ruby gem 
● ‘/usr/share/one/install_gems’ vs. rpm
Setup I 
● 3 Dell 1950III with 4 cores, 16GB RAM and 2x300GB disks (raid1) each 
● Hypervisor#1 (K6) primarily runs the jenkins VM, the other two Hypervisors 
are solely used for test VMs
Setup II
Setup III 
● OpenNebula is used as the cloud controller 
● The sunstone interface is available on Hypervisor1 
● All VMs instantiated only available on the private network 
● Datastore transport → SSH 
● Hosts → KVM 
● The ci.dev.centos.org site runs as VM in that setup 
● nginx is used to forward http(s) from the public internet to the VM 
● local mirror for all CentOS-releases 
● mimics the setup of mirror.centos.org for all VMs 
● Jenkins is used to handle all running tests/VMs
Jenkins 
● 4 different 
testgroups 
● docker image 
(C6/C7 only), 
t_functional, LTP 
and reimzul 
● run on a daily 
basis 
● Infrastructure is 
hosted by 
GoDaddy
Jenkins II 
● All tests run the current versions of CentOS (C5.11, C6.6, C7.0) 
Docker image 
● pulls and runs 
current C5/6/7 
docker image 
● checks 
installation and 
command 
execution 
inside image 
LTP 
● Linux Test 
Project1 
● comprehensive 
checks of basic 
linux 
functionality 
t_functional 
● functional tests 
of packages 
● also checks ™ 
issues if valid 
● 14 contributors 
● C7 running 
since Nov. 7th 
reimzul 
● called on de-mand 
via IRC 
● used for 
verifiying 
merge 
requests 
1) visit http://ltp.sourceforge.net/
Images used for CI 
● Created by Karanbir Singh and Jaime Melis 
● Creates images for C5 and C6 with generic kickstarts and 
configurations 
● Images are 
custombuilt on 
the fly and are 
downloadable 
afterwards 
● C7 image comes 
from cloud. 
centos.org
KS-Sample for prjrd.net 
install 
url --url=http://repohost.raindrops.centos.org/centos/6/os/x86_64/ 
lang en_US.UTF-8 
keyboard uk 
network --device eth0 --bootproto dhcp 
rootpw --iscrypted $1$ZCDym637$Q8tqR6iCTag8t7a3RA5nI. 
firewall --service=ssh 
authconfig --enableshadow --passalgo=sha512 --enablefingerprint 
selinux --enforcing 
timezone --utc Europe/London 
bootloader --location=mbr --driveorder=sda 
repo --name="CentOS" --baseurl=http://repohost.raindrops.centos.org/centos/6/os/x86_64/ --cost=100 
repo --name="ONE-context" --baseurl=http://repohost.raindrops.centos.org/opennebula/6/x86_64/ --cost=100 
zerombr yes 
clearpart --all --initlabel 
part /boot --fstype ext3 --size=250 
part pv.2 --size=5000 --grow 
volgroup VolGroup00 --pesize=32768 pv.2 
logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow 
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=256 --grow --maxsize=512 
reboot 
%packages 
@Base 
@Core 
opennebula-context 
%end 
%post --log=/root/post.log --nochroot 
...
KS-Sample for prjrd.net 
sed -i "s/^ACTIVE_CONSOLES=/dev/tty[1-6]/ACTIVE_CONSOLES=/dev/tty1/" /mnt/sysimage/etc/sysconfig/init 
sed -i '/HWADDR/d' /mnt/sysimage/etc/sysconfig/network-scripts/ifcfg-eth* 
rm -f /mnt/sysimage/etc/udev/rules.d/70-persistent-net.rules 
for f in /boot/grub/grub.conf; do 
/bin/sed -i "s/^serial.*$//" /mnt/sysimage/${f} 
/bin/sed -i "s/^terminal.*$//" /mnt/sysimage/${f} 
/bin/sed -i "s/console=ttyS0,115200//" /mnt/sysimage/${f} 
done 
rm -rf /mnt/sysimage/etc/rc.d/rc*.d/S*sshd 
cat >> /mnt/sysimage/etc/rc.d/rc.local <<EOF 
/sbin/restorecon -Rv /root/.ssh 
if [ ! -e /var/update_done ] 
then 
yum update -y 
touch /var/update_done 
chkconfig sshd on 
chkconfig auditd on 
reboot 
fi 
EOF 
%end 
● This kickstart creates an image with disabled ssh-server. After boot it pulls 
all updates, enables ssh and reboots once (ensuring current kernel for all 
things to come for this VM).
introducing t_functional 
● Git repo hosting all the functional tests (packages, roles) 
● Using #!/bin/bash (but other scripting languages are possible!) 
● Hosted on gitorious and git.centos.org (for QA) 
● Community driven (yes, you too) 
● Daily results at: http://ci.dev.centos.org 
● https://git.centos.org/summary/sig-core!t_functional.git 
● https://gitorious.org/testautomation/t_functional
Distro and functional tests 
● Is release X.y installable? 
● Through ISO? 
● Through network (nfs/http/ftp) + pxe? 
● Mixed (netinstall.iso + network)? 
● Usb image? 
● UEFI vs Bios? 
● Are all packages in the distro doing what they're supposed to do ? 
● Still working with different sets of packages (php vs php53 for example in 
CentOS 5.x)
t_functional git workflow 
gitorious 
Clone & 
change 
Request 
to 
merge 
Jenkins CI merge 
request 
Fix it No? No? 
gitorious push git.centos.org pull QA-Env
further opennebula usage 
● Two further setups in DCs in London 
● controls four hosts in both cases 
● runs seven.c.o, planet.c.o, some testing-VMs, IPv6 to IPv4 Reverse Proxy, 
some internal stuff 
● www and forum site to come 
● uses 4.8 
● GlusterFS over Infiniband 
● more on that: http://arrfab.net/blog/?p=485
Any Questions? 
Thank you for your time

More Related Content

PDF
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
PDF
Embedded Recipes 2018 - Yoctoception: Containers in the embedded world - Jéré...
PDF
Upstate DevOps - Containers 101 - March 28, 2019
PDF
Introduction to Project atomic (CentOS Dojo Bangalore)
PDF
Fedora Atomic Host
PDF
Kernel Recipes 2013 - Viewing real time ltt trace using gtkwave
PDF
Podman rootless containers
PDF
Creating new Tizen profiles using the Yocto Project
[Paris Container Day 2021] nerdctl: yet another Docker & Docker Compose imple...
Embedded Recipes 2018 - Yoctoception: Containers in the embedded world - Jéré...
Upstate DevOps - Containers 101 - March 28, 2019
Introduction to Project atomic (CentOS Dojo Bangalore)
Fedora Atomic Host
Kernel Recipes 2013 - Viewing real time ltt trace using gtkwave
Podman rootless containers
Creating new Tizen profiles using the Yocto Project

What's hot (20)

PPTX
Qt5 (minimal) on beaglebone, with Yocto
PDF
Qubes OS and TPM 2.0
PPTX
Qt5 on ti processors
PPTX
Yocto usage for Graphics SDK on AM335x
PPTX
Everything you wanted to know about resin hup
PDF
Fundamental Virtualisasi di openSUSE
PDF
Hyperscale SIG update
PDF
Openwrt startup
PDF
EuroBSDCon 2021 - (auto)Installing BSD Systems
PDF
BKK16-310 The HiKey AOSP collaborative experience
PDF
Clustering Docker with Docker Swarm on openSUSE
PDF
RancherOS - The perfect place to run Docker
PDF
tDiary開発環境!VMWarePlayer編
PDF
Scaling Docker Registry
PDF
Systemd cheatsheet
PPTX
Docker italia fatti un container tutto tuo
PPTX
Qt5.0.0 eglfs abort issue
PDF
About docker in GDG Seoul
PDF
Quickly Debug VM Failures in OpenStack
PDF
Docker con osdk_ver1.0
Qt5 (minimal) on beaglebone, with Yocto
Qubes OS and TPM 2.0
Qt5 on ti processors
Yocto usage for Graphics SDK on AM335x
Everything you wanted to know about resin hup
Fundamental Virtualisasi di openSUSE
Hyperscale SIG update
Openwrt startup
EuroBSDCon 2021 - (auto)Installing BSD Systems
BKK16-310 The HiKey AOSP collaborative experience
Clustering Docker with Docker Swarm on openSUSE
RancherOS - The perfect place to run Docker
tDiary開発環境!VMWarePlayer編
Scaling Docker Registry
Systemd cheatsheet
Docker italia fatti un container tutto tuo
Qt5.0.0 eglfs abort issue
About docker in GDG Seoul
Quickly Debug VM Failures in OpenStack
Docker con osdk_ver1.0
Ad

Viewers also liked (20)

KEY
Evisit Mneug B
PPTX
La evolucion de los sistemas operativos
PPTX
1 M1 M Ambassadors Deliverables
PDF
Buzz report Oscars 2013
PDF
Geo29 33
PDF
ITCrowd | Brochure
PDF
互動”室“實境遊戲
PPS
Soy Culpable de guerra
DOC
Habitat Team Leader Manual
PPTX
Macsfs apologetica ii la nueva era
PDF
UG141 - Week 1 (Course Introduction)
PPTX
Efecto Primacía, Efecto de Recencia y Necesidad de cierre cognitivo
PDF
Nubes, plugins y HTML para visores patrimoniales
PDF
Clinical skills booklet 2
 
PDF
Education service delivery presentation
PDF
Tecnicas de especialidad completo
PPTX
Cvbn
PDF
Smart data el uso inteligente de los datos
PDF
Lemken EurOpal 6 parts catalog
PPT
Ars amandi
Evisit Mneug B
La evolucion de los sistemas operativos
1 M1 M Ambassadors Deliverables
Buzz report Oscars 2013
Geo29 33
ITCrowd | Brochure
互動”室“實境遊戲
Soy Culpable de guerra
Habitat Team Leader Manual
Macsfs apologetica ii la nueva era
UG141 - Week 1 (Course Introduction)
Efecto Primacía, Efecto de Recencia y Necesidad de cierre cognitivo
Nubes, plugins y HTML para visores patrimoniales
Clinical skills booklet 2
 
Education service delivery presentation
Tecnicas de especialidad completo
Cvbn
Smart data el uso inteligente de los datos
Lemken EurOpal 6 parts catalog
Ars amandi
Ad

Similar to OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka (20)

PDF
OpenShift 4 installation
PDF
LinuxKit Deep Dive
PDF
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
PDF
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
PDF
Introduction to Docker, December 2014 "Tour de France" Edition
PDF
Manage your bare-metal infrastructure with a CI/CD-driven approach
PDF
The Future of Security and Productivity in Our Newly Remote World
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PDF
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
PDF
Real-World Docker: 10 Things We've Learned
PDF
Introduction to Docker and Containers
ODP
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
PDF
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
PDF
Stateless Hypervisors at Scale
PPTX
Linux 开源操作系统发展新趋势
PDF
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
PDF
Linux Distribution Automated Testing
PPTX
MoldCamp - multidimentional testing workflow. CIBox.
PDF
Testing kubernetes and_open_shift_at_scale_20170209
PDF
Fabric8 CI/CD
OpenShift 4 installation
LinuxKit Deep Dive
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Introduction to Docker, December 2014 "Tour de France" Edition
Manage your bare-metal infrastructure with a CI/CD-driven approach
The Future of Security and Productivity in Our Newly Remote World
Docker 0.11 at MaxCDN meetup in Los Angeles
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Real-World Docker: 10 Things We've Learned
Introduction to Docker and Containers
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Stateless Hypervisors at Scale
Linux 开源操作系统发展新趋势
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Linux Distribution Automated Testing
MoldCamp - multidimentional testing workflow. CIBox.
Testing kubernetes and_open_shift_at_scale_20170209
Fabric8 CI/CD

More from OpenNebula Project (20)

PDF
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
PDF
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
PDF
OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...
PDF
OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...
PDF
OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...
PDF
OpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAF
PDF
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
PDF
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
PDF
Replacing vCloud with OpenNebula
PDF
NTS: What We Do With OpenNebula - and Why We Do It
PDF
OpenNebula from the Perspective of an ISP
PDF
NTS CAPTAIN / OpenNebula at Julius Blum GmbH
PDF
Performant and Resilient Storage: The Open Source & Linux Way
PDF
NetApp Hybrid Cloud with OpenNebula
PPTX
NSX with OpenNebula - upcoming 5.10
PDF
Security for Private Cloud Environments
PDF
CheckPoint R80.30 Installation on OpenNebula
PDF
DE-CIX: CloudConnectivity
PDF
PDF
Cloud Disaggregation with OpenNebula
OpenNebulaConf2019 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2019 - Building Virtual Environments for Security Analyses of C...
OpenNebulaConf2019 - CORD and Edge computing with OpenNebula - Alfonso Aureli...
OpenNebulaConf2019 - 6 years (+) OpenNebula - Lessons learned - Sebastian Man...
OpenNebulaConf2019 - Performant and Resilient Storage the Open Source & Linux...
OpenNebulaConf2019 - Image Backups in OpenNebula - Momčilo Medić - ITAF
OpenNebulaConf2019 - How We Use GOCA to Manage our OpenNebula Cloud - Jean-Ph...
OpenNebulaConf2019 - Crytek: A Video gaming Edge Implementation "on the shoul...
Replacing vCloud with OpenNebula
NTS: What We Do With OpenNebula - and Why We Do It
OpenNebula from the Perspective of an ISP
NTS CAPTAIN / OpenNebula at Julius Blum GmbH
Performant and Resilient Storage: The Open Source & Linux Way
NetApp Hybrid Cloud with OpenNebula
NSX with OpenNebula - upcoming 5.10
Security for Private Cloud Environments
CheckPoint R80.30 Installation on OpenNebula
DE-CIX: CloudConnectivity
Cloud Disaggregation with OpenNebula

Recently uploaded (20)

PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
A Presentation on Artificial Intelligence
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PDF
NewMind AI Weekly Chronicles - August'25-Week II
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
SOPHOS-XG Firewall Administrator PPT.pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
A novel scalable deep ensemble learning framework for big data classification...
Assigned Numbers - 2025 - Bluetooth® Document
Enhancing emotion recognition model for a student engagement use case through...
Group 1 Presentation -Planning and Decision Making .pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Tartificialntelligence_presentation.pptx
MIND Revenue Release Quarter 2 2025 Press Release
DP Operators-handbook-extract for the Mautical Institute
A Presentation on Artificial Intelligence
Programs and apps: productivity, graphics, security and other tools
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Chapter 5: Probability Theory and Statistics
NewMind AI Weekly Chronicles - August'25-Week II

OpenNebulaConf 2014 - CentOS, QA and OpenNebula - Christoph Galuschka

  • 1. CentOS, QA and OpenNebula Opennebula Conference 2014 Berlin December 2nd to 4th Christoph Galuschka tigalch@tigalch.org
  • 2. Who am I ● Christoph Galuschka, age 37 ● from Innsbruck, Austria ● working at TIWAG Tiroler Wasserkraft AG (utility company) in the IT operations department ● Using Linux since 1998, CentOS since 2005 ● Part of the CentOS-QA-Team since April 2012 ● Mainly working on release-QA, t_functional git repo for automated testing and the testing infrastructure, wiki and forums
  • 3. CentOS CI ● created in june 2011 ● an approach to automate QA-release testing ● create a set of tests to run for each point release QA-cycle ● use git as a common repository for other users (yes you too) to contribute new tests ● currently contains more then 430 scripts/functional/trademark tests for more than 110 packages ● additionally uses the Linux Test Project ● upcoming: to test every update before public release
  • 4. History ● First setup of CI: lost from memory :) and in a different DC ● Second setup - move to opennebula ● started with 4.0, 4.2 later (RPMs from CentOS-Developers) ● 4.8 since November 2014 ● only “issue” during update: ruby gem ● ‘/usr/share/one/install_gems’ vs. rpm
  • 5. Setup I ● 3 Dell 1950III with 4 cores, 16GB RAM and 2x300GB disks (raid1) each ● Hypervisor#1 (K6) primarily runs the jenkins VM, the other two Hypervisors are solely used for test VMs
  • 7. Setup III ● OpenNebula is used as the cloud controller ● The sunstone interface is available on Hypervisor1 ● All VMs instantiated only available on the private network ● Datastore transport → SSH ● Hosts → KVM ● The ci.dev.centos.org site runs as VM in that setup ● nginx is used to forward http(s) from the public internet to the VM ● local mirror for all CentOS-releases ● mimics the setup of mirror.centos.org for all VMs ● Jenkins is used to handle all running tests/VMs
  • 8. Jenkins ● 4 different testgroups ● docker image (C6/C7 only), t_functional, LTP and reimzul ● run on a daily basis ● Infrastructure is hosted by GoDaddy
  • 9. Jenkins II ● All tests run the current versions of CentOS (C5.11, C6.6, C7.0) Docker image ● pulls and runs current C5/6/7 docker image ● checks installation and command execution inside image LTP ● Linux Test Project1 ● comprehensive checks of basic linux functionality t_functional ● functional tests of packages ● also checks ™ issues if valid ● 14 contributors ● C7 running since Nov. 7th reimzul ● called on de-mand via IRC ● used for verifiying merge requests 1) visit http://ltp.sourceforge.net/
  • 10. Images used for CI ● Created by Karanbir Singh and Jaime Melis ● Creates images for C5 and C6 with generic kickstarts and configurations ● Images are custombuilt on the fly and are downloadable afterwards ● C7 image comes from cloud. centos.org
  • 11. KS-Sample for prjrd.net install url --url=http://repohost.raindrops.centos.org/centos/6/os/x86_64/ lang en_US.UTF-8 keyboard uk network --device eth0 --bootproto dhcp rootpw --iscrypted $1$ZCDym637$Q8tqR6iCTag8t7a3RA5nI. firewall --service=ssh authconfig --enableshadow --passalgo=sha512 --enablefingerprint selinux --enforcing timezone --utc Europe/London bootloader --location=mbr --driveorder=sda repo --name="CentOS" --baseurl=http://repohost.raindrops.centos.org/centos/6/os/x86_64/ --cost=100 repo --name="ONE-context" --baseurl=http://repohost.raindrops.centos.org/opennebula/6/x86_64/ --cost=100 zerombr yes clearpart --all --initlabel part /boot --fstype ext3 --size=250 part pv.2 --size=5000 --grow volgroup VolGroup00 --pesize=32768 pv.2 logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=256 --grow --maxsize=512 reboot %packages @Base @Core opennebula-context %end %post --log=/root/post.log --nochroot ...
  • 12. KS-Sample for prjrd.net sed -i "s/^ACTIVE_CONSOLES=/dev/tty[1-6]/ACTIVE_CONSOLES=/dev/tty1/" /mnt/sysimage/etc/sysconfig/init sed -i '/HWADDR/d' /mnt/sysimage/etc/sysconfig/network-scripts/ifcfg-eth* rm -f /mnt/sysimage/etc/udev/rules.d/70-persistent-net.rules for f in /boot/grub/grub.conf; do /bin/sed -i "s/^serial.*$//" /mnt/sysimage/${f} /bin/sed -i "s/^terminal.*$//" /mnt/sysimage/${f} /bin/sed -i "s/console=ttyS0,115200//" /mnt/sysimage/${f} done rm -rf /mnt/sysimage/etc/rc.d/rc*.d/S*sshd cat >> /mnt/sysimage/etc/rc.d/rc.local <<EOF /sbin/restorecon -Rv /root/.ssh if [ ! -e /var/update_done ] then yum update -y touch /var/update_done chkconfig sshd on chkconfig auditd on reboot fi EOF %end ● This kickstart creates an image with disabled ssh-server. After boot it pulls all updates, enables ssh and reboots once (ensuring current kernel for all things to come for this VM).
  • 13. introducing t_functional ● Git repo hosting all the functional tests (packages, roles) ● Using #!/bin/bash (but other scripting languages are possible!) ● Hosted on gitorious and git.centos.org (for QA) ● Community driven (yes, you too) ● Daily results at: http://ci.dev.centos.org ● https://git.centos.org/summary/sig-core!t_functional.git ● https://gitorious.org/testautomation/t_functional
  • 14. Distro and functional tests ● Is release X.y installable? ● Through ISO? ● Through network (nfs/http/ftp) + pxe? ● Mixed (netinstall.iso + network)? ● Usb image? ● UEFI vs Bios? ● Are all packages in the distro doing what they're supposed to do ? ● Still working with different sets of packages (php vs php53 for example in CentOS 5.x)
  • 15. t_functional git workflow gitorious Clone & change Request to merge Jenkins CI merge request Fix it No? No? gitorious push git.centos.org pull QA-Env
  • 16. further opennebula usage ● Two further setups in DCs in London ● controls four hosts in both cases ● runs seven.c.o, planet.c.o, some testing-VMs, IPv6 to IPv4 Reverse Proxy, some internal stuff ● www and forum site to come ● uses 4.8 ● GlusterFS over Infiniband ● more on that: http://arrfab.net/blog/?p=485
  • 17. Any Questions? Thank you for your time