Flings
Apps and tools built by our engineers that are intended to be played with and explored.

Weasel

Weasel

Summary

Note: Weasel is now an Open Source project on Github. For the Most up-to-date information and the most recent download, please visit the project on Github.

Weasel is an Operating System installer similar to Redhat’s Anaconda.

When you insert the ESX Installation DVD, this program guides you through the steps of network configuration, disk selection, etc. Or it can perform an automated install based on a script similar to Redhat kickstart scripts.

System Requirements

For installation purpose: Any system that supports ESX 4.0
For running tests: Any Linux System with Python >= 2.4 and pyGTK

Instructions

To do an install: You need to make an ISO. For an example, see the ESX 4.0 DVD
To run the graphical installer test: python test/caged_weasel.py weasel.py --nox

Video

Change Log

Engineers


Patrick Devine

Management Platform

Shandy Brown

Management Platform

Timothy Stack

Management Platform

Wit Riewrangboonya

Management Platform

John Powell

Management Platform
Add Comment

11 thoughts on “Weasel

  1. Rick Parker

    I have been trying to inject some drivers into the initrd.img that I found on Vmwares website so that I can a) assign an IP address to the installation and b) get over the net to kick the ks.cfg.
    What is the easiest way to insert the network drivers?
    The drivers are vmware-esx-drivers-net-tg3_400.3.129d.v40.1-1vmw.2.17.00000.1033618.iso.
    Do I extract the rpm to use the customdrivers.py in the weasel install to somehow install them?
    Do I just put the drivers where they are to get installed? (This does not seem to work.)
    Do I try to install the vib file?
    Could you explain the way that I should try this?
    Thanks,
    Rick

    Reply
    1. Trevor

      Use ESXi Image Builder to inject the appropriate VIBs to the image file. Build the ISO and your off to the races.
      To hard code an IP address to the installer you can enter the following to the boot config:

      ks=http://x.x.x.x/kickstart/myks.cfg ip=x.x.x.x nameserver=x.x.x.x netmask=x.x.x.x gateway=x.x.x.x

      Additional details can be found at the ESXi 5.1 Documentation under vSphere Installation Using a Script.

      Reply
  2. Christopher Layne

    Shandy Brown,

    We really need the kssendmac option. It’s not scalable to create separate PXE config files for every server we kickstart and in our shop we use the same generic ks= destination for all hosts – relying on the kssendmac option to send the MAC address via the X-RHN-Provisioning-MAC-0 header. Our kickstart provisioning service (which is the destination in ks=) parses this header and generates a kickstart config based on system data we reverse look-up from the MAC address.

    The only alternative is in the generation of mass pxe config files which have specific hostnames encoded in the ks= option. This doesn’t scale with thousands of hosts.

    Should I get in contact with our VMWare rep?

    Reply
  3. C Blomart

    Would it be possible to have a more detailed docmentation on vmkctl.py
    especialy, are the following things possible trought them:
    -authentication config (including AD membership and user/group def.)
    -ntp config
    -snmp config
    -datastore name/rename (local datastore)
    -esxupdate (install extra packages @ instalation)
    -multipathing
    -vswitch config

    a simple api browsing website would be great (might exist but i didn’t find it)

    Reply
    1. S Brown

      Unfortunately such documentation does not exist. I enjoy browsing the API interactively from a Python prompt on a different TTY when the installer is running.

      Reply
      1. Jonathan Sabo

        The installer doesn’t support ipappend 2 despite what the documentation claims. ipappend 1 works (this is in the pxelinux.cfg) but that doesn’t help you if your management connection isn’t on the first plugged in cable.

        When will Weasel be fixed to support ipappend 2 like it’s documented?

        Can you think of another work around to allow you to have your management connection and service console bound to that management connection on vmnic1 when you have vmnic0 also connected? How do you do that with static leases?

        My goal is to have the service console’s vswif0 interface statically assigned and you can’t do that because the mac is generated on install with out supporting ipappend 2 if you want to have all your network ports filled and management on something other than the first one.

        Check out Case ID: 1554641361

        Reply
        1. Rick Parker

          Hello Jonathan,
          Is there a way to just use regular kickstart on install?
          I am using iDRAC to boot a small iso for which has the isolinux.bin and isolinux.cfg that I had modified for the exact machine.
          I am attempting to use kickstart with the initrd.img that came with the VMWare cd but the network drivers contained therein did not “load”. I have to “update” them but that is taking me a long time to find out how to adequately do that.
          I was thinking that if I could just opt out of the weasel, then kickstart may load the drivers and then the regular kickstart scripts will kick in.
          Is this an incorrect assumption?
          thanks,
          Rick

          Reply
  4. Forbes Guthrie

    The video or description doesn’t offer any explanation as to what is different or what potential improvements are available under weasel. If you watch the video it just looks identical to the regular VMware customized anaconda GTK installer. Just wondering what this could bring us? Is it a fork of anaconda or a complete rewrite? Any reason that you couldn’t have just pushed your required changes to anaconda upstream?

    Reply
    1. S Brown

      There was something like 10% of code that came from Anaconda. So there wasn’t much that could have been easily pushed upstream. I remember posting maybe 1 or 2 patches to the Anaconda mailing list. We tried to take a lot of lessons from Anaconda and apply them to our goals. Particularly, Weasel is purpose-built to install ESX, so we didn’t need the code in Anaconda necessary for backwards-compatibility or that supported non-ESX compatible hardware.

      I think the testing framework is probably one of the most adoptable things for external parties. It also provides many examples for people writing %pre and %post scripts using the vmkctl library.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>