Dell Server Deployment Pack – Notes from the Field…

Much like my previous posting about HP Insight Integrations for SCCM, I thought it may be beneficial to brain dump my experiences to date with the Dell Server Deployment Pack (DSDP).  I’ve been playing around with it in the same context as the HP integrations, and attempting to figure out the same situation – how do I configure a system from bare metal to fully provisioned?  Let’s get started…

The Random Oddities…

imageFor starters, let’s go over some of the random oddities I’ve discovered with this plugin:

  • You’ll need to start the installation using the “Run As Administrator”.  I’m not totally sure why, but I definitely ran into issues with this  when installing to SCCM 2012 SP1 on Windows 2012.
  • Every time you update a Task Sequence using the Dell Wizards, or work with your boot image using the dell wizards, you’ll need to Start the ConfigMgr console using “Run As Administrator.”
  • The “Service Pack” for DSDP doesn’t include the full install of DSDP.  You’ll need to install the original release of DSDP 2.1, then install the DSDP 2.1 Service Pack 2 over-top of it.  Don’t forget to also import the updated version of the Dell Deployment Toolkit (DTK) that is included with DSDP 2.1 SP02.   Not exactly the most intuitive installation process….

Getting Started

Once you have the DSDP installed on your SCCM server, You’ll need to run through some quick steps:

  1. Before you do anything, click the Launch Deployment Toolkit Configuration Wizard to ensure the correct version of the DTK is installed (version 4.3.3 for DSDP 2.1 SP02).
  2. From the Software Library tab, expand Overview | Operating Systems and right-click Boot Images.  Select Dell PowerEdge Server Deployment | Create Dell Server Boot Image.   Follow the wizard to create your boot image, but know that you DO NOT need to build your dell image from the default WinPE image.  I found that I could use the dell image to further augment the boot image created by the HP Insight Integrations for SCCM simply by selecting the HP Proliant boot image as the source.  Doing this gave me a boot image compatible with two separate hardware vendors!
  3. Download the “Dell Systems Management Tools and Documentation DVD” from the Dell Support website (you’ll find it under the “Secure Systems Management” category in the Drivers and Downloads page for your hardware).  Mount this to your DVD drive so that it is accessible via drive letter on your SCCM server.  Right-Click the Driver Packages node and select Dell Server Driver Package | Import Dell PowerEdge Server Driver Packages.  Follow the wizard and select the packages appropriate to your hardware type (T620, R620, etc) and OS version (Windows 2008R2 SP1, Windows 2012, etc).  These are the drivers you’ll need for first boot recognition of hardware when you deploy an OS to the machine. In my experience, skipping this step will cause issues later when you attempt to update drivers and firmware with Dell-provided update packages.
  4. imageCreate a Dell Bare-Metal by right-clicking the Operating Systems folder (Overview | Operating Systems), and clicking Dell PowerEdge Server Deployment | Launch Task Sequence Wizard.  Make sure you select the appropriate options to allow you to do testing, etc.  I generally chose the “Wizard” version of the Array Configuration as it makes it easy to define the array settings you want.
  5. Make a copy of the Dell Bare Metal task sequence, which you can customize for “capturing” configurations.
  6. Create a share on your primary server which is writeable by an account of your choice (you’ll need to specify the credentials for this account into your Task Sequence for “capturing” configurations.

Under the Hood:

I’m not professing to be the know-it-all on how these integrations work, but here’s a list of the basics to get you started down the rabbit hole and into Wonderland:

  • The DSDP provides all the SCCM AdminConsole extensions (i.e. the right-click wizards) which are installed to the following folder:  \AdminConsole\XmlStorage\Extensions\bin\Deployment\Dell\PowerEdge\
  • The DTK provides the utilities and scripts which are contained in the PowerEdge Deployment Toolkit Integration package (installed into the following directory:  \OSD\Lib\Packages\Deployment\Dell\PowerEdge\DTK)
  • You’ll find the content you import in the other wizards (drivers, boot images, etc) in the appropriate folder under the \OSD\Lib\
  • INI files and Content you save when editing each task in the task sequence is saved to the templates folder in \OSD\Lib\Packages\Deployment\Dell\PowerEdge\DTK\Template\Configs\.
  • Each Dell-related task option in the task sequence editor is driven by the OEMDeployment.vbs file based on the parameters you’ve defined in the GUI.  You’ll see this reflected in the smsts.ini log by a big chunk of logging started by OEMDeployment.vbs.

Capturing Configurations:

imageOne thing that wasn’t explicitly called out in any of the documentation I read was the ability to capture the configuration you’ve built on a “gold standard” machine.  As I mentioned in the “Getting Started” section above, I used a copy of the bare metal task sequence to serve as my capture sequence.   I basically trimmed out all the task sequence steps I didn’t need (see the graphic to the right), and then edited the BIOS and IDRAC tasks (on the Action Settings tab) to run a “GET” action (instead of a “SET” action) and also specified the filename for those files to use.  In order for the capture to work, you must also specify (under the Logs/Return Files tab) the location of the file share you created (per the “Getting Started” steps above) and the UserID with permissions to write to that share.

With that capture task sequence created and deployed appropriately, you can PXE boot your server to have the configurations of the BIOS, IDRAC, and Array (if you desire) captured as files on that file share.  You can then import those files in your normal Bare-Metal task sequence’s “Set” actions.

Variable Substitution in the Dell Server Deployment Pack: 

imageThere’s no denying it — Variable Substitution is poorly documented on Dell’s website.  This is unfortunate, as it provides quite a lot of functionality in the ability to alter configurations on the fly.   I’m sure as you dig into this more, you’ll find many ways to customize each piece of your config on-the-fly to your liking.

To use variable substitution, you must use the Task Sequence gui to create the finalized name (substitution + prefix/suffixes) and then ONLY use the variable in the INI file.  As shown in the example to the right, if I wanted my idrac’s hostname to be “SERVERNAME-idrac,” I would:

  1. Use the value of %_SMSTSMachinename%-idrac which is saved to the TS variable (I chose out of thin air) called “IDRACNAME”.  
  2. In my idrac INI file, change the line for cfgDNSRacName to include my (chosen from thin air) task sequence variable as such:   cfgDNSRacName=%IDRACNAME%   

(NOTE:  Make sure to include the percent signs around your variable when used in the INI file.)  In my testing, attempting to conjugate variables and prefixes/suffixes in the INI file didn’t work.  In other words, a line like cfgDNSRacName=%IDRACNAME%-idrac  wouldn’t work.  

(NOTE #2:  If you don’t upgrade to DSDP 2.1 SP2, Variable Substitution just won’t work.   Trust me, you need to use SP2).

Quick Note about Driver Packages:

imageWhen you create a Dell PowerEdge Bare-metal deployment task sequence, you’ll notice that the task sequence includes the option to “Auto-apply Drivers.”   I had mixed results with this and wished to have better control of how the task sequence was applying drivers.  As such, I removed the “Auto apply” task and created a defined set of tasks which applied drivers specific to each type of hardware I was experimenting with.  As an example:

  • Apply Drivers to Windows INF Directory  [a Group with a WMI Query looking for non-VM’s (i.e. hardware model didn’t equal virtual machine)… why try to test for hardware drivers if it’s a VM?]
  • Apply Driver Package – All HP Servers  [the HP integrations only provide a single driver package per OS.  I selected this package (HP ProLiant x64 Driver Package) and used WMI queries for the specific hardware models in the list of conditions.]
  • Apply Driver Package – Dell OM   [by using a single driver package per OS/hardware model, I could easily integrate new versions for testing as illustrated in the example picture.]

Thoughts?

Feel free to leave questions or comments below.  As I stumble across more oddities with the Dell Integrations, I’ll be sure to add them here.  One thing to note is that I have been able to co-exist the HP and Dell integrations on the same Site Server without issue.  Just remember that if you update either of the integrations to new versions, you may need to regenerate your boot images.

About Robert

An IT nerd with 10+ years of experience in almost *anything* windows (server and desktop), Citrix, Exchange, Google Apps, and WordPress. I like to dabble in just about anything IT related, and read blogs and tech books like crazy!

Find Robert on , and Twitter.

Speak Your Mind

*