HOWTO.txt

========================================================================================================================
                                              HOW TO USE THE MODULE
========================================================================================================================

This module helps in Initial Configuration and Unconfiguration of JetStream DR Software.
To use the module, first it needs to be installed. It can be installed by the following
command:

> Install-Module -Name JSDR.Configuration

The module has the following pre-requisites:
1. Powershell version > 7
2. Presence of CloudAdmin role in vCenter (This role is used to get the privilleges to be copied to a new JSDR role)
3. Presence of Microsoft.AVS.Management module (Used to filter AVS specific networks and set AVSAttributes)
4. Presence of VMware.vSphere.SsoAdmin module (Used to create/remove tmp sso user created during the process)
5. Presence of VMware.VimAutomation.Core module
6. Presence of VMware.VimAutomation.Storage module
7. VIServer and SsoAdmin session as admin user should be created before running the script.
   - Connect-VIServer -Server xxx.xxx.xxx.xxx -user vsphere.local\administrator -Password ***
   - Connect-SsoAdminServer -Server xxx.xxx.xxx.xxx -user vsphere.local\administrator -Password *** -SkipCertificateCheck
8. The script assumes it is being executed from a temporary directory and it uses the same directory to download and unzip JetDR bundle.
9. Variable VC_ADDRESS is exposed as a Powershell variable.

Usage of the Module:
There are mainly nine Cmdlets which calls the other Cmdlets in sequence to get a task done.

1. Invoke-PreflightJetDRInstall

<#
    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Checks to display current state of the system and minimum requirement are met before deploying JeDR. It also checks for minimum of 3 hosts in a cluster, jetdr plugin if already present in vcenter and if a vm exists with same name as MSA

    .PARAMETER VMName
    Name of the MSA VM

    .PARAMETER Cluster
    Cluster where the MSA will be deployed

    .PARAMETER ProtectedCluster
    Cluster to be protected

    .PARAMETER Datastore
    Datastore where MSA will be deployed

    .PARAMETER Network
    Network mapping for the MSA to be deployed, e.g 'VM Network'

    .EXAMPLE

    Invoke-PreflightJetDRInstall -VMName jsdr-msa -Cluster MSA-Cluster -ProtectedCluster Src-Cluster -Datastore datastore-name -Network network-name

#>

2. Invoke-PreflightJetDRUninstall

<#
    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Checks to display current state of the system and minimum requirement are met before uninstalling JeDR. It also checks for minimum of 4 hosts in a cluster

    .PARAMETER MSAIp

    Ip of the MSA

    .PARAMETER MSACredential

    root credentials of MSA

    .PARAMETER ProtectedCluster

    Cluster to be protected

    .EXAMPLE

    Invoke-PreflightJetDRUninstall -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -ProtectedCluster Src-Cluster

#>


3. Install-JetDRWithStaticIP

<#
    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Deploys JetDr Management Server Appliance(MSA) with Static network IP configuration and configures one cluster

    .PARAMETER Network
    Network mapping for the MSA to be deployed, e.g 'VM Network'"

    .PARAMETER HostName
    Hostname of the MSA to be deployed

    .PARAMETER MSACredential
    root user credential of the MSA to be deployed

    .PARAMETER Gateway
    Gateway of the MSA to be deployed

    .PARAMETER Dns
    DNS IP that MSA should use

    .PARAMETER MSAIp
    Ip of the MSA to be deployed

    .PARAMETER Netmask
    Netmask of the MSA to be deployed

    .PARAMETER Cluster
    Cluster where the MSA will be deployed

    .PARAMETER VMName
    Name of the MSA VM

    .PARAMETER Datastore
    Datastore where MSA will be deployed

    .PARAMETER ProtectedCluster
    Cluster to be protected

    .PARAMETER RegisterWithIp
    Register MSA with IP instead of hostname

    .EXAMPLE

    Install-JetDRWithStaticIP -Network "VM Network" -HostName "jsdr-msa.example.com" -MSACredential <root/PSCredential Object> -Gateway xxx.xxx.xxx.xxx -Dns xxx.xxx.xxx.xxx -MSAIp xxx.xxx.xxx.xxx -Netmask xxx.xxx.xxx.xxx -Cluster MSA-Cluster -VMName jsdr-msa -Datastore shared-ds -ProtectedCluster Src-Cluster -RegisterWithIp $true

    .EXAMPLE

    Install-JetDRWithStaticIP -Network "VM Network" -HostName "jsdr-msa.example.com" -MSACredential <root/PSCredential Object> -Gateway xxx.xxx.xxx.xxx -Dns xxx.xxx.xxx.xxx -MSAIp xxx.xxx.xxx.xxx -Netmask xxx.xxx.xxx.xxx -Cluster MSA-Cluster -VMName jsdr-msa -Datastore shared-ds -ProtectedCluster Src-Cluster

#>

4. Install-JetDRWithDHCP

<#
    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Deploys JetDr Management Server Appliance(MSA) with Dynamic network IP configurations and configures one cluster

    .PARAMETER Network
    Network mapping for the MSA to be deployed, e.g 'VM Network'"

    .PARAMETER HostName
    Hostname of the MSA to be deployed

    .PARAMETER MSACredential
    root user credential of the MSA to be deployed

    .PARAMETER Cluster
    Cluster where the MSA will be deployed

    .PARAMETER VMName
    Name of the MSA VM

    .PARAMETER Datastore
    Datastore where MSA will be deployed

    .PARAMETER ProtectedCluster
    Cluster to be protected

    .PARAMETER RegisterWithIp
    Register MSA with IP instead of hostname

    .EXAMPLE

    Install-JetDRWithDHCP -Network "VM Network" -HostName "jsdr-msa.example.com" -MSACredential <root/PSCredential Object> -Cluster MSA-Cluster -VMName jsdr-msa -Datastore shared-ds -ProtectedCluster Src-Cluster
#>

5. Uninstall-JetDR

<#
    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Unconfigures cluster, unregisters vCenter from the JetDr MSA

    .PARAMETER MSAIp
    MSA IP

    .PARAMETER MSACredential
    Credential of root user of MSA(root or PSCredential Object)

    .PARAMETER ProtectedCluster
    Cluster to be unconfigured

    .EXAMPLE

    Uninstall-JetDR -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -ProtectedCluster Src-Cluster

#>

6. Enable-JetDRForCluster

<#

    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Configures an additional cluster for protection. installs vib to all hosts in the cluster and creates storage policies.

    .PARAMETER MSAIp

    Ip of the MSA

    .PARAMETER MSACredential

    root credentials of MSA

    .PARAMETER ProtectedCluster

    Cluster to be protected

    .EXAMPLE

    Enable-JetDRForCluster -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -ProtectedCluster Src-Cluster

#>

7. Disable-JetDRForCluster

<#

    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Unconfigures a cluster, uninstalls vibs from all hosts in the cluster and removes storage policies. It will not uninstall JetDR completely

    .PARAMETER MSAIp

    Ip of the MSA

    .PARAMETER MSACredential

    root credentials of MSA

    .PARAMETER ProtectedCluster

    Cluster to be unconfigured

    .EXAMPLE

    Disable-JetDRForCluster -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -ProtectedCluster Src-Cluster

#>

8. Update-JetDRMSA

<#

    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Upgrades JetDR MSA and plugin to latest available update.

    .PARAMETER MSAIp
    Ip of the MSA

    .PARAMETER MSACredential
    root credentials of MSA

    .PARAMETER Datacenter
    Datacenter which manages the clusters

    .PARAMETER Datastore
    Datastore where upgrade iso will be copied

    .PARAMETER VMName
    MSA VM name where upgrade iso will be mounted

    .EXAMPLE

    Update-JetDRMSA -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -Datacenter Datacenter -Datastore shared-ds -VMName js-dr

#>

9. Update-JetDRCluster

<#

    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Upgrades JetDR iofilter to latest available update.

    .PARAMETER MSAIp
    Ip of the MSA

    .PARAMETER MSACredential
    root credentials of MSA

    .PARAMETER ProtectedCluster
    Cluster to be upgraded

    .EXAMPLE

    Update-JetDRCluster -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -ProtectedCluster Src-Cluster

#>

10. Resolve-HostIssue

<#

    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Resolves last failed vCenter task on the host.

    .PARAMETER MSAIp
    Ip of the MSA

    .PARAMETER MSACredential
    root credentials of MSA

    .PARAMETER ProtectedCluster
    Cluster to be upgraded

    .PARAMETER ESXHost
    Host where resolve issue will be done

    .EXAMPLE

    Resolve-HostIssue -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -ProtectedCluster Src-Cluster -ESXHost esxi-host-name

#>

11. Register-JetDRPlugin

<#

    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Registers JetDR plugin to vCenter

    .PARAMETER MSAIp
    Ip of the MSA

    .PARAMETER MSACredential
    root credentials of MSA

    .PARAMETER RegisterWithIp
    Register MSA with Ip instead of hostname

    .EXAMPLE

    Register-JetDRPlugin -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -RegisterWithIp:$true

#>

12. Unregister-JetDRPlugin

<#

    .NOTES
    ===========================================================================
    Created by: JetStream Software Inc
    ===========================================================================

    .DESCRIPTION

    Unregisters JetDR plugin from vCenter

    .PARAMETER MSAIp
    Ip of the MSA

    .PARAMETER MSACredential
    root credentials of MSA

    .PARAMETER RegisterWithIp
    Register MSA with Ip instead of hostname

    .EXAMPLE

    Register-JetDRPlugin -MSAIp xxx.xxx.xxx.xxx -MSACredential <root/PSCredential Object> -RegisterWithIp:$true