Automating the SAS Installation on Multiple Machines

Overview of Automating the SAS Installation on Multiple Machines

The SAS Deployment Wizard provides a record and playback feature that enables you to automate a SAS installation across multiple machines. This feature is designed for large-scale enterprise deployments where SAS 9.3 clients need to be deployed across many machines. Using the record and playback feature prevents users from having to manually provide input on every page every time the SAS Deployment Wizard is run on a machine.
Note: For information about provisioning SAS, see http://support.sas.com/kb/50/815.html.
Starting with the March 2012 release of SAS 9.3, the deployment wizard can be run on operating systems that do not have windowing systems. For more information, see the SAS Deployment Wizard and SAS Deployment Manager User's Guide, available at: http://support.sas.com/documentation/installcenter/en/ikdeploywizug/64204/PDF/default/user.pdf.
The SAS Deployment Wizard can be run in one of the three playback modes. Each requires you to launch the wizard from the command line with a particular option. After the wizard finishes, you review the log file to verify that the installation completed successfully. Users can choose among three levels of automation when playing back a SAS Deployment Wizard response file.
Note: This same record and playback mechanism also works for the SAS Deployment Manager to automate configuration actions across multiple machines in a SAS deployment.
CAUTION:
If you choose to use the deployment manager’s record and playback mechanism to perform a task that involves passwords, passwords are written to the response file. For greater security, delete the response file (or remove the passwords from the response file) when you are finished. A response file is present only if you use the record and playback mechanism, instead of completing the task manually as documented in the preceding steps.
The following summarizes the SAS Deployment Wizard record and playback process:
  1. Create a response file.
    Run the SAS Deployment Wizard once in record mode to create a response file. SAS is not installed or configured; the only output is a response file.
  2. Play back the response file to install SAS.
    Run the SAS Deployment Wizard to install and configure SAS using the values you previously recorded in the response file.
  3. Verify that the installation completed successfully.
    Check the SAS Deployment Wizard log file for the presence of any errors.

Recording a SAS Deployment Wizard Response File

To use the SAS Deployment Wizard in playback mode, your first step is to create a response file. A response file is a text file that contains values for the SAS Deployment Wizard to use to install and configure SAS when running in one of the three playback modes. You create a response file by running the SAS Deployment Wizard in record mode. While in record mode, you interact with the SAS Deployment Wizard as if you are installing and configuring SAS. However, the SAS Deployment Wizard does not install or configure any software while in record mode. The only output is the response file.
The SAS Deployment Wizard stores any passwords that you choose to record in the response file using a fixed-key, 32–bit proprietary encryption algorithm.
The SAS Deployment Wizard resides at the root of the SAS Software Depot directory, or on the root of the SAS media that you are installing from. The following command runs the SAS Deployment Wizard in record mode:
  • Windows:
    setup.exe -record
  • UNIX:
    setup.sh -record
  • z/OS:
    setup.rexx -record
    Note: While in quiet mode, if the deployment wizard encounters errors or missing parameters, it halts the SAS deployment.
To run the SAS Deployment Wizard, you must be a user who is known to the target machine and who will be available for the long term (to perform future SAS maintenance). On Windows, the installer user should be a member of the Administrators group; on UNIX, use the same account on all machines. For more information, see Required External User Accounts for SAS.
By default, the SAS Deployment Wizard names the response file sdwresponse.properties and writes the file to the current user’s home directory. For example, the default path and filename on Windows is as follows:
C:\Documents and Settings\current-user\sdwresponse.properties
To specify a response file that does not use the default name, use the -responsefile option. For example, on Windows that you might enter a command similar to this:
setup.exe -record -responsefile "C:\my_files\response.properties"
If you want, you can force the wizard to deploy SAS during recording mode by using the -deploy option. For example, on Windows, you might enter a command similar to this:
setup.exe -record -deploy -responsefile "C:\my_files\response.properties"
For information about verifying your deployment, see Verifying the Playback Install.

Playing Back a SAS Deployment Wizard Response File

Overview of Playing Back a SAS Deployment Wizard Response File

There are three playback modes that give users varying levels of automation with the SAS Deployment Wizard:
Playback Modes for the SAS Deployment Wizard
Mode
Level of Automation
Description
Quiet
High
No visual feedback from the SAS Deployment Wizard.
Partial prompt
Medium
Users only see SAS Deployment Wizard pages for values not contained in the response file.
Full prompt
Low
Users see all SAS Deployment Wizard pages with response file values supplied. Users can confirm these values or change them.

Best Practices for Response File Playback

When playing back a SAS Deployment Wizard response file, keep these best practices in mind:
  • Use response files on other machines with caution.
    Remember that recording a deployment captures responses that represent the machine on which you have recorded the deployment. Machines are not identical. Therefore, SAS recommends that response files be used on other machines with caution.
  • Don't use response files from other SAS orders.
    New deployment options can be introduced with updates to the SAS order. A response file from an earlier order will not have data for these new deployment options. For this reason, SAS recommends that response files should be used only for software in the same order. Using a response file from one order while deploying another order may result in unintended discrepancies that might be difficult to troubleshoot.
  • Use the same configuration prompting level.
    When using playback, the deployment wizard should be at the same level of configuration prompting as was used in record mode. Manual revision of the response file should be attempted only with extreme caution by users with experience with SAS configuration or with the aid of a SAS consultant or Technical Support.

Installing SAS in Quiet Mode

The SAS Deployment Wizard gives you flexibility in how you automate the SAS installation. The highest level of automated installation is running the SAS Deployment Wizard in quiet mode. In quiet mode, there is no user interface in which you provide installation inputs. The SAS Deployment Wizard uses inputs that you have already provided in the form of a response file to determine how to install and to configure SAS.
Note: If any errors or missing parameters are encountered in quiet mode, the deployment wizard halts the deployment.
The following command runs the SAS Deployment Wizard in quiet playback mode:
Note: For information about -wait, see Monitoring the SAS Deployment Wizard during Playback.
To run the SAS Deployment Wizard, you must be a user who is known to the target machine and who will be available for the long term (to perform future maintenance). On Windows, the installer user should be a member of the Administrators group; on UNIX, use the same account on all machines. For more information, see Required External User Accounts for SAS.
When running in quiet mode, the SAS Deployment Wizard’s default action is to look for its response file by default in the current user’s home directory. For example, the default path and filename on Windows is as follows:
C:\Documents and Settings\current-user\sdwresponse.properties
To specify a response file that does not use the default name, use the -responsefile absolute-pathname option. For example, on Windows, you might enter a command similar to this:
setup.exe -quiet -responsefile "C:\my_files\response.properties"
For Windows machines, in the event that the machine must be rebooted, use the restart options to avoid having to manually log back on to the machine. For example, you might enter a command similar to this:
setup.exe -quiet -responsefile "C:\my_files\response.properties" -restartdomain mydomain -restartuserid myuserid -restartpassword mypassword
See the following topics for more information:

Managing a Machine Reboot during Playback (Windows)

During a deployment on Windows, the SAS Deployment Wizard runs the System Requirements Wizard to check the machine to make sure that it meets the minimum system requirements for SAS 9.3. If certain Microsoft system components that are required by SAS 9.3 are missing, the System Requirements Wizard shuts down the SAS Deployment Wizard, installs the missing components, and reboots the machine.
If you are playing back a response file in quiet mode, you should use the following options in order to log back on to the machine automatically and continue the SAS Deployment Wizard session:
-restartdomaindomain
specifies the authentication domain for the SAS installer user account.
-restartuseridSAS-installer-ID
specifies the user account that you are logged in under to run the SAS Deployment Wizard to deploy SAS 9.3.
-restartpasswordpassword
specifies the password for the specified user account.
For example, you might enter a command similar to this:
setup.exe -quiet -wait -responsefile "C:\my_files\response.properties" -restartdomain mydomain -restartuserid myuserid -restartpassword mypassword
Note: The values entered by using the -restart* command line options are temporarily stored in your Windows registry using the Windows auto logon functionality. In rare circumstances, it is possible those values will remain in your Windows registry after their use, thus posing a potential security risk. For more information about this functionality, including any risks, please refer to your Microsoft documentation about security and automatic logons on their Web site. You should weigh the risks of convenience for automatic logon after restart against the security policies in place at your site.

Installing SAS in Partial Prompt Mode

The SAS Deployment Wizard gives you flexibility with how you automate the SAS installation. You can fully automate the SAS installation (quiet mode), or you can pick and choose certain parts of the installation to automate (partial prompt mode).
When you run the SAS Deployment Wizard in partial prompt mode, the user sees only those wizard pages for which there are no response file values. There might be situations where it is permissible to automate most of the installation inputs but necessary to prompt for certain sensitive pieces of information. For example, storing user account credentials—even in an encrypted form—might violate a site’s corporate security policy. It would require the user to interact with the SAS Deployment Wizard for those pages where user account credentials are entered.
The SAS Deployment Wizard resides at the root of the SAS Software Depot directory, or on the root of the SAS media that you are installing from. The following command runs the SAS Deployment Wizard in partial prompt playback mode:
  • Windows:
    setup.exe -partialprompt
  • UNIX:
    setup.sh -partialprompt
  • z/OS:
    setup.rexx -partialprompt
To run the SAS Deployment Wizard, you must be a user who is known to the target machine and who will be available for the long term (to perform future maintenance). On Windows, the installer user should be a member of the Administrators group; on UNIX, use the same account on all machines. For more information, see Required External User Accounts for SAS.
When running in partial prompt mode, the SAS Deployment Wizard’s default action is to look for its response file by default in the current user’s home directory. For example, the default path and filename on Windows is as follows:
C:\Documents and Settings\current-user\sdwresponse.properties
To specify a response file that does not use the default name, use the -responsefile option. For example, on Windows, you might enter a command similar to this:
setup.exe -partialprompt -responsefile "C:\my_files\response.properties"
For more information, see Verifying the Playback Install.

Installing SAS in Full Prompt Mode

There are three levels of automation from which you can choose when running the SAS Deployment Wizard in playback mode: quiet, partial prompt, and full prompt. Full prompt mode is the least automated of the three modes. When running in full prompt mode, the SAS Deployment Wizard requires user confirmation for all of its pages. However, in full prompt mode, the user is prompted with default values that are stored in the response file.
The SAS Deployment Wizard resides at the root of the SAS Software Depot directory, or on the root of the SAS media that you are installing from. The following command runs the SAS Deployment Wizard in full prompt playback mode:
  • Windows:
    setup.exe -responsefile absolute-pathname
  • UNIX:
    setup.sh -responsefile absolute-pathname
  • z/OS:
    setup.rexx -responsefile absolute-pathname
To run the SAS Deployment Wizard, you must be a user who is known to the target machine and who will be available for the long term (to perform future maintenance). On Windows, the installer user should be a member of the Administrators group; on UNIX, use the same account on all machines. For more information, see Required External User Accounts for SAS.
When running in full prompt mode, the SAS Deployment Wizard expects you to specify a path and filename to a valid response file. For example, on Windows enter the following command:
setup.exe -responsefile "C:\my_files\response.properties"
For more information, see Verifying the Playback Install.

Verifying the Playback Install

When running in quiet mode, the SAS Deployment Wizard logs the following message after a successful completion:
Deployment completed successfully
If the SAS Deployment Wizard encounters an incorrect or a missing input in the response file, it records a message in its log file and returns an error code of -1. The SAS Deployment Wizard log file resides in the following location:
  • Windows:
    C:\Documents and Settings\current-user\Local Settings\Application Data\SAS\SAS Deployment Wizard\SDW.log
  • UNIX and z/OS:
    ~/.SASAppData/SASDeploymentWizard/9.3/SDW.log
Use the -loglevel n option to control the amount of information written by the SAS Deployment Wizard to its log. A change in the logging level is in effect for the current SAS Deployment Wizard invocation only. If you do not specify a log level, then the wizard uses the default (zero). n can be one of the following three values:
0
(default) specifies the least amount of information written to the log. Zero is acceptable for most SAS Deployment Wizard sessions.
1
specifies a medium amount of information written to the log. This value is generally used when working with SAS Technical Support to troubleshoot deployment issues.
2
specifies the greatest amount of information written to the log and should not be specified except when instructed to by SAS Technical Support.
For example, on Windows, to increase the SAS Deployment Wizard logging level, you might enter a command similar to this:
setup.exe -partialprompt -responsefile "C:\my_files\response.properties" -loglevel 1

Monitoring the SAS Deployment Wizard during Playback

Running the SAS Deployment Wizard in quiet mode provides the sought-after effect of suppressing the wizard’s user interface. One drawback with the quiet mode is not being able to see the interface, which enables you to monitor the install and to see whether any errors occur. To address this concern, you can use the Task Manager on Windows or periodically issue the ps command on UNIX and z/OS to track whether the SAS Deployment Wizard is running.
On Windows, specify the -wait option when invoking the SAS Deployment Wizard in quiet mode to cause setup.exe to display and remain in the Windows Task Manager process list.
For example:
setup.exe -quiet -wait -responsefile "C:\my_files\ response.properties"
If you did not use -wait, monitor the process named java.exe.
Note: Use of network management software (such as SMS or Tivoli) might require you to use the -wait option when running the SAS Deployment Wizard in quiet mode in order for such software to determine when the SAS Deployment Wizard finishes executing. Refer to your network management platform documentation for more information.
On UNIX and z/OS, as with most processes, you issue the ps command to monitor the SAS Deployment Wizard running in quiet mode. For more information, see More about Monitoring the SAS Deployment Wizard on UNIX and z/OS.

More about Monitoring the SAS Deployment Wizard on UNIX and z/OS

Remember that output from a ps command can be misleading because the process name returned is not always named setup.sh. The name might differ because the actual script that the SAS Deployment Wizard is running at any given time varies. However, the process ID remains the same.
For example, if you were to run the SAS Deployment Wizard and immediately issue a ps command (before the language dialog box would be displayed), you would see output similar to this:
31762 pts/2 S 0:00 /bin/sh /depot/setup.sh
Note that the shell, /bin/sh, runs the initial script, /depot/setup.sh. The shell is the parent process, and in this example has a process ID of 31762. When setup.sh is finished executing, it passes control to the script, deploywiz.sh. If you were to look at the process list while the SAS Deployment Wizard is running, you would see something similar to the following in a process list:
31762 pts/2 S 0:00 /bin/sh/tmp/_setup31762/products/deploywiz__9220__prt__xx__sp0__1/deploywiz.sh -startuplocation /depot -templocation /tmp/_setup31762
The shell /bin/sh is still running and retains the same process ID. However, this shell is running a different script now, deploywiz.sh.