You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 4
Next »
To set-up the QA system from scratch needs a *lot* of time and familiarity with CI tools. Tools like Cobbler have been chosen for this purpose so that tasks like PXE server set-up, and Puppet interaction, is made easier. The steps involved to set-up a system for scratch would be :
- Create a QACloud VM on XenServer host
- Configure private network switch with VLANs etc.
- Install the following on QACloud
- Cobbler
- Puppet
- DNSMASQ
- ipmitool
- Squid
- NFS server
- Use this sample for Cobbler settings
- Import Hypervisor images (XenServer, KVM, ESXi) into Cobbler
- (TODO - Insert instructions to import here. They are tricky)
- Import Management Server OS into Cobbler (CentOs etc.)
- Create kickstart files for each OS
- Sample for centos
- Sample for xenserver
- Sample for KVM
- Sample for ESXi
- Cobbler integrates well with Puppet. However, the recipies etc work well with Puppet 2.7. Thus, we add a custom Puppet 2.7 repo to the Cobbler profiles.
- cobbler profile edit --name=centos63-ms --repo=<Path to local Puppet repo>
- In /var/www/html/puppet.conf , add this file. It is used to bootstrap Puppet on the Cobbler provisioned hosts.
- Configure MAC address for baremetal hosts in Cobbler for PXE provisioning
- Configure DNSMASQ for the above MAC addresses
- Use this sample config
- Set-up Puppet master to enable provisioning services like mysql etc. on management server VM in an automated way.
- Use this sample config
- Use puppet recipies from here
- Set-up NFS server for secondary storage
- Seed systemVM templates on NFS
- Set-up Squid HTTP Proxy server. This is required since QACloud is the only one expected to have public internet link. All other hosts live on a completely isolated network which is dedicated for testing. However, tasks like yum package download may need internet access, and thus the proxy server.
- Add Cobbler snippet to set up http_proxy server on hosts
- Use this as reference
- Add QACloud to Jenkins master by providing IP address, login and password.
- Set correct IP routes. Sample ip route :
- 10.223.255.192/26 dev eth1 proto kernel scope link src 10.223.255.196
172.16.88.0/24 via 172.16.88.1 dev eth0
172.16.88.0/24 dev eth0 proto kernel scope link src 172.16.88.5
172.16.0.0/16 via 172.16.88.1 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth1 scope link metric 1003
10.0.0.0/8 via 10.223.255.193 dev eth1
default via 10.223.255.193 dev eth1
- (OPTIONALLY) add Windows VM to host vCenter, and manage a ESXi host running NetScalar, SRX etc.