Two posts in two days. Phew! So much to talk about, but this is a quick one. In my previous post I wrote about installing ScaleIO on Windows hosts via a manual/user-controlled process using the CLI and running the MSI install file on each server. In larger environments this may not be practical where an automated deployment solution is required. Furthermore, it is invariably necessary to also deploy the software in a “silent” unattended mode so that end-users do not need to interact with the installer. Luckily this is a pretty simple process in Windows environments using the MSI ScaleIO installer.
The default settings of the ScaleIO MSI is to install a SDC and a SDS on the target server, which in most situations is probably the desired result. But occasionally users might want the option to install just a SDC or just a SDS or less often a MDM, Tie-breaker or Call Home. The standard way to install a MSI in an unattended fashion is to call it via command line and add the /qn switch to the end. This instructs the MSI to run with default options with no user interface or user prompts. So simply using the /qn switch is like running the MSI with the default options as shown in the below image of the installation UI.
Unattended Installation:
So how do we change the behavior of the installer to install with non-default settings? The ADDLOCAL parameter can be appended to the command to indicate the exact option(s) you want. The ADDLOCAL parameter supports all five installation options and each should be entered after ADDLOCAL as such:
- MDM. Append ADDLOCAL=MDM to install the Metadata Manager
- SDS. Append ADDLOCAL=SDS to install the ScaleIO Data Server
- SDC. Append ADDLOCAL=SDC to install the ScaleIO Data Client
- TB. Append ADDLOCAL=TB to install the Tie Breaker. Remember that the TB cannot be installed on the same server as a MDM and vice-versa, so don’t put those together.
- CallHome. Append ADDLOCAL=MDM,CallHome to install the Call Home service. It is important to note that I included “MDM” here. CallHome will not install unless “MDM” is added to the ADDLOCAL parameter–this is required EVEN IF the MDM is ALREADY installed. Remember you need to install Active Python before CallHome can be installed. Get it here: http://downloads.activestate.com/ActivePython/releases/2.7.5.6/ActivePython-2.7.5.6-win64-x64.msi
Now some examples. So if you just want to install the SDC software use this command:
msiexec /i ECS-Installer-1.21-0.21.msi /qn ADDLOCAL=SDC
If you want to add more than one feature at a time just separate them with commas like so:
msiexec /i ECS-Installer-1.21-0.21.msi /qn ADDLOCAL=SDC,SDS,MDM
Unattended Uninstallation:
If you want to uninstall any of these features the mechanism is pretty much the same as installation. Instead of ADDLOCAL use REMOVE. So if you wanted to remove the SDS and the SDC run:
msiexec /i ECS-Installer-1.21-0.21.msi /qn REMOVE=SDC,SDS
Note for removal you can list CallHome by itself unlike when it needs to be installed with MDM. So the following is perfectly acceptable:
msiexec /i ECS-Installer-1.21-0.21.msi /qn REMOVE=CallHome
If you want it to remove everything you can also run:
msiexec /i ECS-Installer-1.21-0.21.msi /qn REMOVE=ALL
So with this information you should be able to push the ScaleIO software out rather easily to Windows machines using Systems Center Configuration Manager, Group Policy or simple scripts. Let me know if I missed anything important or if you have questions!