ReleaseEngineering/PuppetAgain/Base Images
Base images are OS/hardware-specific. In some cases, we can leverage existing installers; in others, we must use snapshots of installed systems. In either case, the idea is to get a minimal system set up to run puppetize.sh, which will take care of getting a certificate and running puppet in a loop until it succeeds.
See Puppetization Process for how a base image becomes a running instance.
CentOS 6.2 with Kickstart
The bulk of a kickstart script is available in setup. Run 'make' to create the script. The top section will need a few site-specific modifications. Most of the action is in the %post section, which:
- looks for PUPPET_PASS on the kernel command line, and stores it in /root/deploypass
- installs minimal packages
- Using a possibly site-specific yum-repo location (under http://repos/repos/)
- installs puppetize.sh and sets it to run on boot.
The same script supports both i386 and x86_64 ISAs; the determining factor is the kernel used to run the installer.
Mac OS X 10.8 (12A269) - Mountain Lion
The current base image is built from installing 10.7 Lion via the recovery boot option (cmd + R) and then upgrading to 10.8 Mountain Lion through the App Store. You will need to log in to the apple developer site and redeem OS X Mountain Lion under your credentials
- Using a R5 Mac Mini, boot into OS X Lion Recovery mode
Hold down command + R during the boot process
- Once in recovery mode; launch the disk utility and remove any software raid configuration
- Erase all disks. This partitions and formats all disks
- Close disk utility and launch lion osx recovery from the menu
- Go get coffee and take a nap
- Once the recovery is complete, the system will reboot
At this point the system will have a fresh install of 10.7 OS X Lion
- walk through the setup screen and create a default user
- default user should be 'administrator' using the current releng root/admin kickstart password
- skip all of the apple account registration screens
- At the login screen, use the 'administrator' credentials that were entered earlier
- Launch the App store using your apple developer credentials
- Search 'os x mountain lion'
- Click download under OS X Mountain Lion
- Make sure to sign out of the app store once the download is complete
- Once the download is complete, launch the OS X Mountain Lion installer and proceed through the setup process
- Once installed, the system will reboot
The system is now upgraded and running OS X 10.8 Mountain Lion
- At the login screen, use the 'administrator' credentials that were entered earlier
- Open System Preferences -> Sharing
- Disable:
- Remote Management
- Enable:
- Screen Sharing and Remote Login
- Disable:
- Open System Preferences -> Enery Saver
- Move Computer sleep slider to Never
- Move Disply sleep slider to Never
- Disable:
- put hard disks to sleep when possible
- Allow power button to put computer to sleep
- Enable:
- Wake for network access
- Capture the image for Deploy Studio
- Integrate into the workflows to image 10.8 systems
This will reboot the system into the netboot image with the Deploy Studio runtime where Deploy Studio workflow will handle installing puppetize.sh and org.mozilla.puppetize.plist to be launched on first boot
Mac OS X Server 10.7.2 (11C74) - Lion
- Install OS X 10.7.2 on an r4 or r5 mini
- walk through the setup screen and create a default user
- default user should be 'administrator' using the current releng root/admin kickstart password
- skip all of the apple account registration screens
- At the login screen, use the 'administrator' credentials that were entered earlier
- Open System Preferences -> Sharing
- Enable Screen Sharing and Remote Login
- Open System Preferences -> Enery Saver
- Move Computer sleep slider to Never
- Move Display sleep slider to Never
- Capture the image for Deploy Studio
- Integrate into the workflows to image 10.7.2 systems
Mac OS X 10.6.8 (10K549) - Snow Leopard
- Install OS X 10.6.4 on an r4 mini from disk.
- walk through the setup screen and create a default user
- default user should be 'administrator' using the current releng root/admin kickstart password
- skip all of the apple account registration screens
- At the login screen, use the 'administrator' credentials that were entered earlier
- Open System Preferences -> Sharing
- Enable Screen Sharing and Remote Login
- Open System Preferences -> Enery Saver
- Move Computer sleep slider to Never
- Move Display sleep slider to Never
- Apply the 10.6.8 update.
- Capture the image for Deploy Studio
- Integrate into the workflows to image 10.8.6 systems