Last modified 5 years ago Last modified on 08/10/12 15:03:22

SNAKE - Smart Network Automated Kickstart Environment

SNAKE is a client/server python framework used to support anaconda installations. The server is responsible for maintaining SNAKE kickstart templates, installation mirrors, and information about the system being installed (optional). The client is responsible for acting on this information.

Snake uses pykickstart as it's templating language.


  • Ease the burden of administering a list of installable mirrors
  • Act as a warehouse for anaconda kickstart installation scripts
  • Provide a common API for describing and accessing Fedora trees
  • Describe a scenario in kickstart ... that applies to multiple release


  • The SNAKE client software must be usable in a @base installation
  • Write-once kickstart templates - don't want to write a kickstart file for each release or version of kickstart API. The kickstart I wrote for FC-6, must work for F11.


  • Snake is available in Fedora yum repositories (development, f9 and f8/updates-testing)
  • Snake is available in EPEL yum repositories (EL5 and EL4)
  • You can also get src RPMs here: SnakeReleases

Source Code

To view the source code browse to:

Download the source via (git):

  • git clone git://



Quickstart Guide

  1. Set up a snake-server - SnakeExamples/ServerSetup
  2. Configure snake-server installation mirrors - SnakeExamples/ServerSnakeTree
  3. Create snake-server kickstart templates - SnakeExamples/ServerSnakeKs
  4. Using the client - SnakeExamples/ClientSetup

Man Pages

  1. snake-ks -
  2. snake-tree -
  3. snake-machine - FIXME (see ticket:62)
  4. snake-install -
  5. snake-install-tui - FIXME (see ticket:61)
  6. snake-server - FIXME (see ticket:30)