Showing results for 
Search instead for 
Did you mean: 

Free Free Free Cisco UCS Development Free Free Free

Frequent Contributor

By  Republished from > Cisco Blog > Data Center and Cloud

John McDonough

John McDonough

January 26, 2012 at 8:09 pm PST

Free Free Free Cisco UCS Development Free Free Free

The other day I was “making” breakfast for my daughter, as I poured the cereal from the box I noticed that the “toy” was the box. The box had a game board printed on it and you had to cut it out along with  the game pieces and the die. The game instructions were printed inside the box, so I ended up with a whole bunch of cardboard snippets and the  game. She was so excited to play the game, so we played the game, it was an arduous journey but I stuck it out because that’s the kind of dad I am. When we finished playing, my daughter with her eight years of  life experience remarked, “You just don’t get anything good for free anymore!”

Anymore?!!  How many reference points could she have in her eight  years?  Myself, being a little older, I have some more experience with  “free”, and sadly I have to agree with her that the free you get today  is not as good as the free you used to get, to the point where seeing  the word free no longer excites me.

Well I have found some exceptions to that rule. As a developer for a  couple decades now I have used many development tools and environments.  Along the way either I or my employer had to pay for those tools, but now almost every development product I use is free and not cheesy cereal  box game free but full featured with community support and add-ons to extend the capabilities of the product.  That’s the kind of free to get  excited about.

Why get excited?  Well take for instance the Cisco UCS Manager; it has an XML API that is communicated with via XML documents in an HTTP post. Every tool I use to write applications that interface with the UCS Manager is free. That’s great you say, but you still need a UCS Manager and to get that you need a UCS Fabric Interconnect and you need  chassis, blades, adaptors, memory, disks, etc. and you start to think  things like “the UCS we just ordered isn’t here yet” or “the UCS systems  we have are all production and we can’t test our scripts against them.”

Don’t despair because Cisco has released a UCS Emulator for the 1.4 and 2.0 versions of the UCS Manager firmware.  The UCS  Platform Emulator (UCSPE) has significant capabilities to enable UCS Manager development, things like hardware configuration importing from a live system, exporting of a configuration and the ability to build an emulated UCS system like the one you just ordered. In addition to the emulation capabilities the UCSPE also includes the UCS Object Model  documentation, example scripts, Visore (the object browser) and more.  Don’t know what the Object Model is or concerned you need more  information on the XML API, check out these docs.

What else do I use? Glad you asked, here’s a list of tools I use with links to them, the thing that they all have in common is that they are 100% free.  If you or your company wants to develop applications for UCS management/automation/monitoring or anything else you can think of, the  cost of outfitting yourself or your developers is $0.00 and I believe  if I do the calculation correctly the ROI is really good!

That’s a lot of free, a lot of good free, some even better than good.  Plus most of these products have community support or just Google if you get stuck in your development process. One time I wanted to do  hexadecimal math so I could do some MAC address calculations in Perl.   Given a starting textual representation of a MAC address and a number of needed MAC address I wanted to find the end address and print it in MAC address form. I wasn’t sure how to proceed but I Google’d a bit and came up with this…

  use Math::BigInt;

  my $toAddr = "";
  my $tmpAddr = $from;

  $tmpAddr =~ s/://g;
  my $dec = Math::BigInt->new("0x" . $tmpAddr);
  print "from mac address $from \n";

  $toMAC = dec2hex($dec + $size);
  while (length($toAddr) < 12) {
    $toMAC = "0" . $toAddr;

  my $to = sprintf("%s:%s:%s:%s:%s:%s",unpack("A2A2A2A2A2A2",$toAddr));
  print "to mac address $to \n";

  sub dec2hex {
    # dec2hex - convert a decimal to hex
    # Parameters:
    # aInDecimal - Decimal to convert to Hex
    # Return Value
    # hex representation of the decimal
    my $decnum = $_[0];
    my $hexnum = "";
    my $tempval = "";

    while ($decnum != 0) {
      $tempval = $decnum % 16;
      if ($tempval > 9) {
        $tempval = chr($tempval + 55);
      $hexnum = $tempval . $hexnum ;
      $decnum = int($decnum / 16);
      if ($decnum < 16) {
        if ($decnum > 9) {
          $decnum = chr($decnum + 55);
        $hexnum = $decnum . $hexnum;
        $decnum = 0
    return $hexnum;

Hopefully that all makes sense, now back to what I was talking about.

In my last post I had links for XML and XSLT and XPATH and xmlstarlet an XML parsing tool. I haven’t even touched upon all the Java jars and Perl modules I use, again if you have not already guessed it, they’re free as well!

Finally, I was lucky enough to be featured in a segment of TechWiseTV Episode 100: Cisco Unified Computing Celebration taped last summer at Cisco Live 2011 in Las Vegas. In my segment (34:45  minutes in) I discuss the UCS emulator and its capabilities.



Thanks for this post!

I got the UCS Emulator, so far everything "free"



Frequent Contributor

So glad you found it helpful! Thanks for letting me know!

Best~  Lisa

Content for Community-Ad
This widget could not be displayed.