7 Replies Latest reply on Apr 23, 2009 12:40 PM by Bill Robinson

    How to provision ESX 3.5

    Sean Berry

      With some tweaking to the ESX 3.0 system package we have been able to provision an ESX 3.5 box. We needed to manually specify the disk partitioning steps and also the kickstart post provisioning scripts.


      The partitioning piece may not be necessary but is what we needed to do to get past this step successfully. Anaconda did not like the partition commands fed to it which were auto generated by us.




      The kickstart post steps can not use wget because it is not available on ESX 3.5. Fortunately like most good little unix systems Perl is. In addition it includes the LWP (www) libraries for Perl (most good unix's do) which makes fetching stuff a snap from our pxestore.




      This is only working when manual modifying the kickstart file, not when it is added the additional kickstart file entries.



      part /boot --fstype ext3 --size 1000 --ondisk cciss/c0d0
      part / --fstype ext3 --size 8192 --ondisk cciss/c0d0
      part swap --size 1600 --ondisk cciss/c0d0
      part None --fstype vmkcore --size 110 --ondisk cciss/c0d0
      part /home --fstype ext3 --size 5120 --ondisk cciss/c0d0
      part /tmp --fstype ext3 --size 5120 --ondisk cciss/c0d0
      part /var --fstype ext3 --size 5120 --ondisk cciss/c0d0
      part /vmimages --fstype ext3 --size 1 --grow --ondisk cciss/c0d0


      echo "cd /root;/root/bmilinux PROV_SOCKET_APP_SERVER_IP 9831 ??MAC_ADDRESS??" >> /root/provscript
      echo "service iptables start " >> /root/provscript
      echo "rm -f /root/bmilinux" >> /root/provscript
      echo "rm -f /root/random.byt" >> /root/provscript
      echo "nameserver" >> /etc/resolv.conf
      cd /root
      perl -MLWP::Simple -e "getstore( q(http://??DATA_STORE_IP??/??DATA_STORE.VIRTUAL_DIR??/bmilinux), q(/root/bmilinux) )"

      cd /root
      perl -MLWP::Simple -e "getstore( q(http://??DATA_STORE_IP??/??DATA_STORE.VIRTUAL_DIR??/??RSCD_DIR??/rscd.sh), q(/root/rscd.sh) )"

      cd /tmp
      perl -MLWP::Simple -e "getstore( q(http://??DATA_STORE_IP??/??DATA_STORE.VIRTUAL_DIR??/??RSCD_DIR??/nsh-install-defaults), q(/tmp/nsh-install-defaults) )"

      chmod +x /root/rscd.sh

      cd /root
      sh /root/rscd.sh -silent

      (quick and dirty)