During the upgrade process from DS for Dell servers 2.0 to SP1 the Dell folder is backed up and named Dell_prevX, where X is a number if a Dell_prev folder already existed. This is done because of the many changes made in SP1 to the scripts and utilities used by the add-on. The jobs in the "Deployment Solution for Dell Servers v2.0" folders remain untouched, but still reference the Dell folder. As a result running these jobs may fail, or have unexpected results. Some users may wish to use these older jobs and scripts, especially those who have made modifications to the scripts.
This article will explain how to change the job paths (without having to modify each one by hand), and move the configuration files and OS files to the new Dell folder created by the install.
Due to the many changes made in SP1, there are several subtle issues that need to be resolved in order for everything to work properly. By following these steps you should be able to migrate the customizations you have made to the new installation, and use your old 2.0 jobs.
Notes:
- This article presumes that the install of DS for Dell 2.0 SP1 has already been completed.
- The intent of this article is to provide the information needed to migrate from 2.0 to 2.0 SP1, and use old 2.0 jobs after 2.0 SP1 has been installed on a temporary basis. It is not recommended to use both the 2.0 and 2.0 SP1 jobs simultaneously for an extended period of time.
- I have tried to keep the information in this article as general as possible. The reader is left to adapt this information to their specific environment.
Reassigning jobs
Fixing the paths on all the jobs for DS for Dell 2.0 manually would be a long and tedious task. With the use of SQL however this becomes a simple and straight forward process. We'll use SQL server 2005 in our example, if you have SQL 2000 you can use Query Analyzer. DISCLAIMER: By very careful when running these SQL queries. You only get one chance, once the changes are made you can't undo them.
- Open "SQL Server management studio" and connect to the database.
- Click File > New > Query with Current Connection
- Change the available databases drop down to the name of your DS database (usually "eXpress", unless you changed it when you installed Deployment Solution).
- DS 6.5 only. This function should already be present in installations of DS for Dell 2.0 SP1 on DS 6.8, if you run into problems you may want to do this step, so you are sure this function is present.
Copy and paste the following code into the editor window:
--code start
create FUNCTION dell_get_child_folders(@Parent as int = null)
Returns @t table (folder_id int, [level] int)
as
begin
declare @notdone int;
declare @level int;
insert into @t
select folder_id, 1
from dbo.event_folder where (@Parent is null AND parent_id is null) OR
(@Parent = parent_id)
set @notdone = 1
set @level = 2
while (@notdone <> 0)
begin
insert into @t
select dbo.event_folder.folder_id, @level
from dbo.event_folder
inner join @t t1
on dbo.event_folder.parent_id = t1.folder_id
where t1.level = (@level - 1)
set @notdone = @@rowcount
set @level = @level + 1
end
return
end
GO
--code end
Click the execute button
- Copy and paste the following into the editor:
--code start
declare @dell_prev char(100);
declare @folder_id int;
declare @event_id int;
declare @script_file varchar(254);
--Edit this to correspond to the name of the Dell_prev folder, it could have a number after
--it (if there is more than one). Don't remove the slashes surrounding the folder name.
set @dell_prev = '.\Dell_prev\'
declare parents_cursor cursor for select folder_id from dbo.event_folder where name like 'Deployment Solution for Dell Servers v2.0 DOS%'
open parents_cursor
fetch next from parents_cursor into @folder_id
while (@@FETCH_STATUS = 0)
begin
declare event_cursor cursor for
select event_id, script_file from dbo.script_task
where event_id in
(select event_id from dbo.event
where folder_id in
(select folder_id from dbo.dell_get_child_folders(@folder_id)))
open event_cursor
fetch next from event_cursor into @event_id, @script_file
while (@@FETCH_STATUS = 0)
begin
update dbo.script_task
set script_file = replace(@script_file, '.\Dell\', @dell_prev)
where event_id = @event_id and script_file = @script_file
fetch next from event_cursor into @event_id, @script_file
end
close event_cursor
deallocate event_cursor
fetch next from parents_cursor into @folder_id
end
close parents_cursor
deallocate parents_cursor
--code end
- You will need to change the folder name assigned to the variable @dell_prev to match the name of the folder the installer renamed your old Dell folder to. This is usually only needed in situations where a dell_prev folder already existed on the system when the install was run.
- You will need to execute this script once for each pre-boot you have installed on your system. Currently it is configured to modify the DOS jobs. You will have to make a minor modification each time you run it so it will modify the Linux and WinPE jobs on subsequent runs. Find the line that contains the string "Deployment Solution for Dell Servers v2.0 DOS%". This is the name of the folder where the changes take place. The paths for all jobs that are located in this folder will be modified. After clicking execute, change DOS to Linux, click execute, then change Linux to WinPE and click execute again. This is case sensitive so make sure you type it correctly.
Migrating scripts
The DELL_PATH variable has to be updated in each of the SetDell scripts to reflect the new location of the scripts and other files. Update them as follows:
- DOS: .\Dell_prev\ascripts\DOS\SetDell.bat
Notice that the path is Dell_p~1 instead of Dell_prev, this is due to the 8 character limit in DOS.
- Linux:.\Dell_prev\ascripts\Linux\SetDell.sh
- WinPE:.\Dell_prev\ascripts\WinPE\SetDell_winpe.bat
These changes should affect all paths used in the scripts, unless additional paths have been added that do not use the DELL_PATH variable.
Migrating configuration files
DS for Dell 2.0 SP1 includes an updated version of the DTK. While there aren't any known issues with using configuration files captured with an older version of the DTK being used to deploy them with a newer version of the DTK, it may be best to just capture new configuration files. If you want to use your old configuration files, they are kept in the .\Dell\Toolkit\Systems folder, relative to the Deployment share. You can simply delete the Systems folder created by the 2.0 SP1 install, and copy over the System folder from the Dell_prev folder.
Migrating OS source files
The difficulty of migrating the source files depends on the level of customization that has been made to the drivers and answer files. If you follow these steps everything should work properly, but you may run in to difficulties if you have a particularly unique situation.
- OS Source files
To migrate your OS source files you can do one of the following:
- Leave OS source files in .\Dell_prev\OSSup
The OS source files can be kept anywhere in the Deployment share. This means you can just leave them in the Dell_prev folder. Use the Dell Configuration Utility to change the location that the scripts use for the source files. This of course is only a good idea if you don't plan to remove the Dell_prev folder in the future.
Note: The scripts are automatically updated when you change the path to the OS source files in the configuration utility. If you leave your source files in Dell_prev, you will have to manually edit the DOS SetDell script (SetDell.bat) and change the Dell_prev folder references to their 8 character equivalents (i.e. Dell_p~1)
- Move OS Source files to .\Dell\OSSup
You can use Windows Explorer to move the OS source files from the .\Dell_prev\OSSup folder to the corresponding folder in .\Dell\OSSup.
- Keep separate copies of the source files
You can use the Dell Configuration Utility to copy over the source files from a CD or network share. This way you'll have a separate set in both the Dell and Dell_prev folders.
- Answer files
SP1 includes some changes to the default answer files that you may want to merge into the answer files you were using with 2.0.
- Red Hat Linux
Many changes were made to the %pre and %post sections of the ks.cfg file in SP1. If you haven't modified these sections in your old ks.cfg file you can just copy them over so you can retain any other customizations that have been made. If you have made changes to these sections just do a compare on the 2.0 ks.cfg and the SP1 ks.cfg and copy over the differences. The changes made allow this ks.cfg file to work with all updates of Red Hat Enterprise Linux 3 & 4, and include better logging and downloading of adlagent.
- Windows
A few minor changes were made to the default unattend.txt files. The line "EMSSkipUnattendProcessing=1" was added to the [Unattended] section to prevent a dialog from being displayed during the install process. The lines AutoLogon=Yes and AutoLogonCount=1 were changed to No and 0 respectively for security reasons, so newly deployed servers are not logged in as administrator on the first boot. Finally the two lines in the [GuiRunOnce] section that install aclient and clean up the install files were removed, these are now in cmdlines.txt.
If you copy your old unattend.txt file over for use with SP1, you will need to remove any entries on the OemPnPDriversPath line, so it reads: "OemPnPDriversPath=". In the next step you will add the plug and play drivers in, and it is best if this line starts out clean so it doesn't get too long. Some versions of Windows have limitations on how long this line can be.
- Drivers (Windows only)
The way the mass storage and plug and play drivers are managed has been redesigned in DS for Dell 2.0 SP1. As a result the old drivers won't work properly. Use the OS Deployment tab in the Dell Configuration Utility to add the drivers back in.
Other considerations
- The old scripts in the Dell_prev folder will still be using the older versions of the DTK. This means they won't take advantage of the enhancements in the newer DTK.
- The pre-boot environments are set up a little differently between 2.0 and 2.0 SP1. As a result your jobs and the DTK tools may not work as expected. In my testing I haven't seen any problems however.
- The Dell Configuration Utility will only make changes to DS for Dell 2.0 SP1 (anything in the Dell folder), you won't be able to use it to make configuration changes to 2.0, (anything in the Dell_prev folder)