Agile testbed/Cloud/Installation notes

From PDP/Grid Wiki
Jump to navigationJump to search

This page contains notes on the installation of the agile testbed cloud.

Base install

  • Install CentOS 5 bare-bones
  • Setup LDAP authentication (see this guide)
    • configure /etc/ldap.conf according to this
    • symlink /etc/ldap.conf to /etc/openldap/ldap.conf
    • make sure the DutchGrid CA certificate is in /etc/openldap/cacerts/16da7552.0 (from rpm or here)
    • update /etc/pam.d/system-auth using command authconfig --enableldap --enableldapauth --update
      • this adds ldap to /etc/nsswitch.conf's passwd, shadow and group entries
    • create homedirs for your users as /user/<username> with correct owner, populate authorized_keys
    • disable ssh PasswordAuthentication

Master

  • Install and configure OpenNebula
    • add EPEL repository
    • install packages: ruby ruby-devel gcc gcc-c++ make openssl-devel scons flex bison
    • enable Karan Extras repository and install xmlrpc-c: yum install --enablerepo=kbs-CentOS-Testing xmlrpc-c-devel
    • download and install OpenNebula
      • either manually from source, installing a recent sqlite first (according to manual)
      • or use the spec file and patch
      • and create startup script
  • Setup dynamic DNS (optional but convenient)
    • install and configure bind
    • create OpenNebula hooks with ddns-update script
  • Setup image repository
  • Install mkisofs for contextualisation

OpenNebula documentation Building Clouds presentation Virtual Machines working group

Slaves

  • Enable Xen (see also Xen on CentOS 5)
    • yum install xen kernel-xen
    • make grub boot Xen kernel by default (change default in /boot/grub/menu.lst), add nosmp to kernel cmdline and reboot
  • Allow oneadmin user to execute cloud-related commands using sudo
    • Setup /etc/sudoers (e.g. using visudo)
      Cmnd_Alias CLOUD = /usr/sbin/xm, /usr/sbin/xentop, /usr/sbin/lvs, /usr/sbin/lvcreate, /usr/sbin/lvremove, /bin/dd
      oneadmin ALL = NOPASSWD: CLOUD
    • Disable sudo's requiretty option
    • Add PATH=$PATH:/sbin:/usr/sbin to ~oneadmin/.bashrc so that these commands can be found
  • Install ruby from the RubyWorks repository (you really need 1.8.6 or higher)
  • Enable passwordless ssh login from master for oneadmin user
  • Add to master using onehost there
  • Setup networking
    • if multiple interfaces: bridge setup notes (with options netloop nloopbacks=0 in modprobe.conf)