{"id":484,"date":"2011-09-20T17:02:28","date_gmt":"2011-09-20T23:02:28","guid":{"rendered":"http:\/\/benincosa.com\/blog\/?p=484"},"modified":"2014-11-19T11:24:53","modified_gmt":"2014-11-19T17:24:53","slug":"ucs-2-0-software-update-install-notes","status":"publish","type":"post","link":"https:\/\/benincosa.com\/?p=484","title":{"rendered":"UCS 2.0 Software Update Notes"},"content":{"rendered":"<p>Today I updated my Cisco UCS system from 1.4(3q) to UCS 2.0(1m). \u00a0I&#8217;m happy to say it was an easy process. First lets talk about why you want to do it, then lets talk about how to do it :<\/p>\n<h3>Why upgrade to 2.0?<\/h3>\n<ul>\n<li><a href=\"http:\/\/www.cisco.com\/en\/US\/docs\/unified_computing\/ucs\/sw\/gui\/config\/guide\/2.0\/UCSM_GUI_Configuration_Guide_2_0_chapter21.pdf\">Disjoint Layer 2 network support<\/a><\/li>\n<li>iSCSI boot support with service profiles<\/li>\n<li>RedHat KVM support for VM-FEX<\/li>\n<li>Configuratble pre-login banner (for GUI and CLI)<\/li>\n<li>Support for vSphere 5 including auto-deployment with stateless computing, VMDirectPath with vMotion<\/li>\n<li>HDD operability indication without host agents.<\/li>\n<\/ul>\n<p>Sound like something you want? \u00a0Yes? \u00a0Ok, lets do it:<\/p>\n<h3>1. \u00a0Get UCS 2.0 software<\/h3>\n<ul>\n<li>UCS Infrastructure Software Bundle. <a href=\"http:\/\/www.cisco.com\/cisco\/software\/release.html?mdfid=283612660&amp;flowid=22121&amp;softwareid=283655658&amp;release=2.0(1m)&amp;rellifecycle=&amp;relind=AVAILABLE&amp;reltype=latest\">Click to download<\/a>.(ucs-k9-bundle-infra.2.0.1m.A.bin)<\/li>\n<li>UCS B-Series Server Software Bundle for UCS Manager. <a href=\"http:\/\/www.cisco.com\/cisco\/software\/release.html?mdfid=283853163&amp;flowid=25821&amp;softwareid=283655681&amp;release=2.0(1m)&amp;relind=AVAILABLE&amp;rellifecycle=&amp;reltype=latest\">Click to download<\/a>.(ucs-k9-bundle-b-series.2.0.1m.B.bin)<\/li>\n<li>UCS C-Series Server Software Bundle for UCS Manager. <a href=\"http:\/\/www.cisco.com\/cisco\/software\/release.html?mdfid=283862063&amp;flowid=25886&amp;softwareid=283655681&amp;release=2.0(1m)&amp;relind=AVAILABLE&amp;rellifecycle=&amp;reltype=latest\">Click to download<\/a>.(ucs-k9-bundle-c-series.2.0.1m.C.bin) (only get this if you have rack mounts)<\/li>\n<\/ul>\n<p>Most likely you&#8217;ll only need the first 2 packages. \u00a0One for the infr<\/p>\n<h3>2. \u00a0Get the UCS software update guide<\/h3>\n<p>You get this <a href=\"http:\/\/www.cisco.com\/en\/US\/products\/ps10281\/prod_installation_guides_list.html\">here<\/a>. \u00a0There&#8217;s lots of versions to upgrade from. \u00a0Yours is there, trust me, cause we&#8217;re thinking of you first. \u00a0From the update guide you can update the firmware in a cluster configuration without any disruption of the network. \u00a0The blades will need to be rebooted for firmware updates to take place, but you probably knew that.<\/p>\n<p>From 1.4 to 2.0 the order is shown as follows:<\/p>\n<ol>\n<li>Disable Call home<\/li>\n<li>Adapters (Activate \/ ignore compatibility \/ set startup only)<\/li>\n<li>CIMC (Activate \/ ignore compatibility)<\/li>\n<li>IOMs (Activate \/ ignore compatibility \/ set startup only, don&#8217;t reboot)<\/li>\n<li>UCS Manager!<\/li>\n<li>FI subordinate (Activate \/ ignore compatibility)<\/li>\n<li>Verify step 4 is done, that IOMs connected to FI subordinate have been updated, traffic is passing through<\/li>\n<li>FI primary (Activate \/ ignore compatibility)<\/li>\n<li>Update Host firmware for servers<\/li>\n<li>Reenable call home<\/li>\n<\/ol>\n<p>That&#8217;s how I plan to do it. \u00a0Lets see how it all turns out.<\/p>\n<h3>3. \u00a0Upload Firmware to UCS Manager<\/h3>\n<p>From the Equipment Tab select Equipment. \u00a0Then on the right go to the Firmware Management Tab, then click Download Firmware.<\/p>\n<p>\ufeff<a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.00.40-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-485\" title=\"Screen Shot 2011-09-20 at 2.00.40 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.00.40-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>In our case we did it for the two packages. \u00a0The Infrastructure bundle and the Server bundle. \u00a0I also used this time to get rid of some of the older firmware bundles. \u00a0I kept the one that we had been using and deleted all the other ones. \u00a0I like my UCS Firmware image list clean.<\/p>\n<h3>4. \u00a0Update CIMCs<\/h3>\n<p>Choose Update Firmware from the Firmware Management Tab. \u00a0Select CIMC from the top and then select 2.0 then set apply.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.20.44-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-486\" title=\"Screen Shot 2011-09-20 at 2.20.44 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.20.44-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>From here go to the Activate button, filter CIMCs and then update all of them to 2.0 checking the ignore compatibility button.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.22.20-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-487\" title=\"Screen Shot 2011-09-20 at 2.22.20 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.22.20-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>Stay on this screen for a while and you&#8217;ll see the CIMCs apply the update, then reboot and eventually show the running version equal to 2.0(1m) and show ready.<\/p>\n<h3>5. \u00a0Update IOMs &#8211; Set as Backup, don&#8217;t activate<\/h3>\n<p>Go to the Update Firmware menu again, filter with IO Modules, then select 2.0.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.33.42-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-488\" title=\"Screen Shot 2011-09-20 at 2.33.42 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.33.42-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Going to the Activate button, now set Activate, Ignore Compatibility Check, and Set Startup version only. \u00a0This will make it so they only reboot when the Fabric Interconnect reboots. \u00a0Thus saving you a few reboots.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.38.36-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-490\" title=\"Screen Shot 2011-09-20 at 2.38.36 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.38.36-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<h3>6. \u00a0Update UCSM!<\/h3>\n<p>Can&#8217;t wait to see this part! \u00a0Go to Activate. \u00a0Hit apply. \u00a0In a minute or two you&#8217;ll be disconnected.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.42.13-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-491\" title=\"Screen Shot 2011-09-20 at 2.42.13 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.42.13-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>About 1 minute after that open your web browser to the screen and behold UCSM 2.0!<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.46.15-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-492\" title=\"Screen Shot 2011-09-20 at 2.46.15 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.46.15-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>Yes, that just happened to you! \u00a0Lets log in. \u00a0And we&#8217;re back. \u00a0Things look mostly the same, but you&#8217;ll see a new icon here and there that show the new features. \u00a0For example in the VM tab you&#8217;ll see the cluster icon for KVM VM-FEX. \u00a0Under the LAN tab you&#8217;ll see iSCSI Initiator Pools. \u00a0Let&#8217;s move along and finish updating.<\/p>\n<h3>7. \u00a0Update Fabric Interconnects<\/h3>\n<p>Same place we were before: \u00a0Equipment table, Firmware management tab, and Activate firmware. \u00a0Filter for Fabric Interconnect and this time, set the start up version of the subordinate fabric interconnect. \u00a0Ignore compatibility and then hit &#8216;Apply&#8217;. \u00a0You&#8217;ll get a message that you will be logged out, but if you are doing this to just the subordinate, then nothing to worry about here.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.53.32-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-493\" title=\"Screen Shot 2011-09-20 at 2.53.32 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-2.53.32-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>You can remain on that screen as the kernel and system firmware updates take place. \u00a0No big deal. \u00a0This one took about 12 minutes before it updated in the view. \u00a0What&#8217;s going on in the background? \u00a0Well, the FI is downloading the new firmware, then applying, then rebooting. \u00a0You can watch the Finite State Machine (FSM) in the Fabric Interconnect table too as you go.<\/p>\n<p>Once you are back up, then its time to update the primary fabric interconnect. \u00a0Nothing strange here. \u00a0Same thing. \u00a0If you&#8217;re still on the same screen, just repeat those steps:<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.08.25-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-494\" title=\"Screen Shot 2011-09-20 at 3.08.25 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.08.25-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>In a few minutes, you&#8217;ll be disconnected from UCS and Fabric Interconnect B will take over the UCS manager. \u00a0You can still log back into the same address. \u00a0Then you can see where you are in the state of things:<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.20.56-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-495\" title=\"Screen Shot 2011-09-20 at 3.20.56 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.20.56-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>In a few minutes, that will be updated and all will be well with your UCS chassis. \u00a0You may notice that FI-B becomes the primary and FI-A becomes the subordinate. \u00a0If that bugs you, <a href=\"http:\/\/benincosa.com\/blog\/?p=444\">change A back to be the primary.<\/a><\/p>\n<p>There&#8217;s only one step left to go!<\/p>\n<h3>8. Update the Blades<\/h3>\n<p>You may not want this to happen all at once. \u00a0What I recommend is doing this at a Service Profile Template level. \u00a0Set the soul of the server to be the firmware level you want. \u00a0Then as new blades are added, they&#8217;ll always get this level.<\/p>\n<p>At the server tab, you&#8217;ll see the service profile templates tab where you created your service profile templates. \u00a0Click on the Policies tab and create a new firmware policy for nodes in this group.<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.28.25-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-496\" title=\"Screen Shot 2011-09-20 at 3.28.25 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.28.25-PM.png\" alt=\"\" width=\"500\" \/><\/a><\/p>\n<p>I just named mine 2.0.1m and clicked all the applicable fields for my hardware. \u00a0I made one for the host firmware and the management firmware. \u00a0Then I set them to my policy. \u00a0Upon saving I get a nice message:<\/p>\n<p><a href=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.36.48-PM.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-497\" title=\"Screen Shot 2011-09-20 at 3.36.48 PM\" src=\"http:\/\/benincosa.com\/blog\/wp-content\/uploads\/2011\/09\/Screen-Shot-2011-09-20-at-3.36.48-PM.png\" alt=\"\" width=\"400\" \/><\/a><\/p>\n<p>Since my policy is set to &#8216;user acknowledge&#8217;. \u00a0The blades won&#8217;t reboot immediately, but instead I&#8217;ll get a nice blinking &#8216;Pending Activities&#8217; notification. \u00a0You may want to make sure this policy is set before saving. \u00a0This can be done by going to the general tab under the service profile and selecting &#8216;Change Maintenance Policy&#8217;. Since I live dangerously, I reboot my live VMware cluster but I do half of the servers at once. \u00a0This way, the VMs migrate. \u00a0You can watch it in vCenter. \u00a0Very fun. \u00a0Then when those nodes are back up and integrated into vCenter, we reboot the other half of machines.<\/p>\n<h3>That&#8217;s all folks!<\/h3>\n<p>That was painless and easy. \u00a0If you did that on any other legacy blade platform, or legacy rack mount it would take you hours. \u00a0Keep in mind with legacy systems for each chassis you need to update<\/p>\n<ul>\n<li>the network switches<\/li>\n<li>the onboard administrator<\/li>\n<li>Each blade in the chassis individually including: IPMI interface, NIC, BIOS, Raid Controller, and Disk Drives.<\/li>\n<\/ul>\n<p>This took 1 hour and all I did was click buttons, take screen shots, and write things down. \u00a0No waiting for machines to reboot and hitting F2 at the right moment. \u00a0Everything only rebooted once and it was easily orchestrated. \u00a0I don&#8217;t have to guess if things were done correctly because I can look at my single pane of glass on UCSM and see that everything is updated.<\/p>\n<p>Doing things the UCS way scales big time. \u00a0While we only did 4 blades here, it would have taken the same amount of time to do 12o servers. \u00a0No additional infrastructure was required to do it.<\/p>\n<p>Doing things the old way in a legacy blade environment is like writing <a href=\"http:\/\/en.wikipedia.org\/wiki\/Assembly_language\">assembly code<\/a>. \u00a0As an undergraduate, we had to write a stack calculator using the MIPS instruction set in <a href=\"http:\/\/inst.eecs.berkeley.edu\/~cs61c\/\">CS61c<\/a>. \u00a0It took hours and about 15 instructions to do one thing. \u00a0UCS is like a higher level programming language for your data center. \u00a0You do things quicker, and more efficiently. \u00a0Even today compilers can make high level programming languages more efficient than you probably can doing it in assembly. \u00a0And when there are so many other cool things like VMs, clouds, self service catalogs, etc&#8230; why waste time writing assembly language?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I updated my Cisco UCS system from 1.4(3q) to UCS 2.0(1m). \u00a0I&#8217;m happy to say it was an easy process. First lets talk about why you want to do it, then lets talk about how to do it : Why upgrade to 2.0? Disjoint Layer 2 network support iSCSI boot support with service profiles&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[990,992],"tags":[136],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/484"}],"collection":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=484"}],"version-history":[{"count":3,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/484\/revisions"}],"predecessor-version":[{"id":500,"href":"https:\/\/benincosa.com\/index.php?rest_route=\/wp\/v2\/posts\/484\/revisions\/500"}],"wp:attachment":[{"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benincosa.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}