RPS Install Guide
Last updated on September 14, 2021.
Document Status: Document Feature Complete as of September 14, 2021; PENDING EXTERNAL REVIEW.
Purpose
The purpose of this document is to provide an overview of the Rapid Provisioning System (RPS) Install process and detailed instructions for setting up a virtualized RPS Environment using Hyper-V.
Audience
This document is intended for Lead Systems Integrators (LSI), Field Service Representatives (FSR), IT staff, and Developers. Users should have some familiarity with core RPS Concepts as well as basic PowerShell and Windows Systems operations.
System Requirements
- Windows 10/Server 2016
- PowerShell/WMF 5.1
- 16GB RAM
- 100GB HDD free space
- Hyper-V PowerShell Module & Management Tools
Note
RPS Authored content is signed, but 3rd party code may not be. RPS Installer was tested with PowerShell Execution Policy set to RemoteSigned.
Ports, Protocols, and Service Accounts
RPS specific Port, Protocol, and Service Account information can be found in the Ports, Protocols, & Security Guide.
Note
DomainAdmin membership is required to create a new Domain Controller. After initial creation, the account should be removed from DomainAdmins, but should still retain permissions to manage AD Users, Computers, Groups, and OUs.
RPS Installation (Default)
Installing RPS requires the latest RPS release, the install media for PostgreSQL, Windows features, and a Hyper-V image for the Windows 2012R2 VMs that will be created. The instructions below can be used to build a default Root RPS Node, which is also a Domain Controller for the root.local domain and the application server for RPS. You can also choose to create a NOSC Node, TCN Node, and SNE Node based on available resources.
Media and Content Store
Before installing RPS, ensure you have gathered all required media from your Distribution Source, LSI, or FSR. Extract and save the RPS media to a location such as C:\RPS.
Note
This location will be referred to as Install Root.
Once you have completed extracting and saving the RPS media, the Install Root folder should contain the following sub-directories:
- \ContentStore
- \Certificates
- \CMDB
- \ConfigurationData
- \Demos
- \DeploymentShare
- \Documents
- \DSC
- \Export
- \GenerateDV
- \Images
- \iPxeDistro
- \Modules
- \Office
- \Packages
- \Patches
- \Plugins
- \PostgreSQL
- \Provisioning
- \RpsBitsDownloadService
- \RpsCdn
- \RpsGui
- \RpsProvisioning
- \RpsSync
- \RpsTaskManagement
- \RpsWebApi
- \Runbooks
- \RvpsGui
- \Setup
- \SQLSecurity
- \SystemTest
- \TrustElementRepository
- \Utilities
- \Windowserver2012
Extract and/or save the Windows Server image to a location other than the previously identified Install Root, such as C:\WindowsSvr.
Install RPS
The example script is responsible for preparing the PowerShell session so that the Install-RpsNode cmdlet can be executed. The steps required to complete the preparation can be different from those outlined in the example script. The example script provided will simply ensure that:
All the files in InstallRoot are unblocked so they can be executed
That the correct modules can be located and are imported
The context has administrative privileges
Creates an RPS session in memory and imports all TaskMaps, DscPartials, and Types into the session
Generate CMDB data in the RPS Session (in memory)
Ensures that the correct parameters are used to execute Install-RpsNode cmdlet
How to Execute Install-RpsNode
- Open PowerShell as administrator. Right-click the PowerShell Icon from Start Menu or Task Bar and select Run as administrator.
Figure 1: Run PowerShell as administrator
Set location to Install Root\ContentStore\ by executing the following cmdlet:
Set-Location c:\RPS\ContentStore\
Install RPS and supply the location of the VM Template VHDX, the NodeType and, if needed, specify specific configuration using -NodeConfigurationName. See examples below:
Install-Rps.ps1
-VMTemplateFilename D:\Common\Windows_Server_2012_R2_VL-dev.vhdx -NodeType 'root'
Install-Rps.ps1
-VMTemplateFilename D:\Common\Windows_Server_2012_R2_VL-dev.vhdx -NodeType root, nosc -SkipDscModuleCopy -DeleteVMs
Note
For further options, refer to the Install-Rps Parameter Definition table below.
Install-Rps Parameter Definitions
Parameters | Descriptions |
---|---|
VMTemplateFilename (Required) | Path to the .vhdx file which will serve as the Hyper-V VHDX template. |
RhelTemplateFileName | Path to the .vhdx file which will serve as the Hyper-V VHDX template used to create Rhel VMs. |
VhdFolderPath | Path to a folder to store the .vhdx files used to create VMs. If not specified, .vhdx files will be stored in the same directory path as specified with VMTemplateFileName. |
ConfigFileName | Name of file containing the RPS Configuration data. If one is not specified, it will be created in the Export directory. |
NodeType (Required) | The desired node you want to install (i.e., Root). If you want to install all nodes then choose 'All'. |
SkipVMCreation | Switch to use Virtual Machines already created and configured with proper networking. |
SkipCopyContent | Switch to not copy InstallRoot to the CDN server (i.e., CH). |
SkipDSCPrep | Switch to not setup DSC MOF Encryption, WinRM HTTPS Listener, and to not copy DSC Resources. |
ComputerName | Array of the Virtual Machines you want to install from the Node (i.e., Root). |
SkipDSCPublish | Switch to skip publishing DSC. |
CopyCDN | Switch to copy patches that were imported into the configuration. |
DeleteVMs | Switch to delete the Virtual Machines if they exist during a new installation. |
SkipDscModuleCopy | Switch to not copy DSC Required Modules to the target's PowerShell module path. |
Esxi | Switch to indicate whether the hypervisor is ESXi (default is Hyper-V). |
TaskMapName | Name of the desired system task map that will be assigned to the target items. Default value of Install-Rps. |
Manual Node Installation/Repair
- The Install-RPSNode function from the RPS-Installer module will manually start a install for the Node you specify. See example bleow:
Enter-RpsSession -Path "D:\Exports\Root.xml"
Install-RpsNode -NodeType "Root"
Note
Refer to the parameter table below for available options when manually running the 'Install-RPSNode' function.
Parameters | Descriptions |
---|---|
VMTemplateFilename (Required) | Path to the .vhdx file which will serve as the Hyper-V VHDX template. |
RhelTemplateFileName | Path to the .vhdx file which will serve as the Hyper-V VHDX template used to create Rhel VMs. |
VhdFolderPath | Path to a folder to store the .vhdx files used to create VMs. If not specified, .vhdx files will be stored in the same directory path as specified with VMTemplateFileName. |
NodeType (Required) | The desired node you want to install (i.e., Root). |
SkipVMCreation | Switch to use Virtual Machines already created and configured with proper networking. |
SkipCopyContent | Switch to not copy InstallRoot to the CDN server (i.e., CH). |
SkipDSCPrep | Switch to not setup DSC MOF Encryption, WinRM HTTPS Listener, and to not copy DSC Resources. |
ComputerName | Array of the Virtual Machines you want to install from the Node (i.e., @App.Root.local). |
SkipDSCPublish | Switch to skip publishing DSC. |
CopyCDN | Switch to copy patches that were imported into the configuration. |
DeleteVMs | Switch to delete the Virtual Machines if they exist during a new installation. |
SkipDscModuleCopy | Switch to not copy DSC Required Modules to the target's PowerShell module path. |
Esxi | Switch to indicate whether the hypervisor is ESXi (default is Hyper-V). |
ContentStorePath | Path to the content store. |
TaskMapName | Name of the desired system task map that will be assigned to the target items. Default value of Install-Rps. |