cpt.py reads values from the cpt_input.yml file to analyze the protected and recovery sites. This example highlights key parameters of the cpt_input.yml file that should be updated with user-specific information for cpt.py to run.

  • Items highlighted in pink are required.
  • Items highlighted in blue are optional and can be omitted, if desired.
  • Refer to the JetStream DR Admin Guide for additional details about specific functions.


## CAPACITY PLANNING TOOL cpt_input.yml examples

cptPeriod:

  pastHours: 1          # if past 24 hours: level 3 stats -> 5 minutes interval -> 1 day

                        # data saved.

                        # if past 1 hour: default level 1 stats -> 20 seconds interval -> 1 hour

                        # data saved

  collectionDuration: 0 # The duration in hours during which the CPT will loop hourly and

                        # collect the stats.

drvaParameters:

  iopsPerDrvaCore: 4000              # fixed value

  memoryPerDomainMb: 2500            # fixed value

  numberDrva:                        # Specify number DRVA(s); auto-generates if blank

  drvaMaxCores: 16                   # Limit maximum # of cores

  drvaMinCores: 8                    # Limit minimum # of cores

  drvaMaxMemoryGb: 32                # Limit maximum amount of memory

  drvaMinMemoryGb: 16                # Limit minimum amount of memory

  replicationLogSizeGb: 64           # fixed value per domain

protected:                           # Protected site details for protection and FB tasks

  vcenter:

    vcHostname: xxx                  # vCenter hostname of protected site

    vcUser:                          # vCenter username of protected site [DEPRECATED]

    vcPwd:                           # vCenter password of protected site [DEPRECATED]

  clusterName: xxx                   # Cluster name of protected site

  domainNamePrefix: xxx              # Domain name prefix to select failback plans

recovery:                            # Recovery site details for CFO/FO tasks

  vcenter:

    vcHostname: xxx                  # vCenter hostname of recovery site

    vcUser:                          # vCenter username of recovery site [DEPRECATED]

    vcPwd:                           # vCenter password of recovery site [DEPRECATED]

  clusterName: xxx                   # Cluster name of recovery site

  domainNamePrefix: xxx              # Domain name prefix to select failover plans

objectStore:                         # Specify one object store only; remove all unused

    -

        type: azure blob             # Use this section for Azure Blob object store

        name: xxx                    # Unique name to identify object store

        bandwidthMbps: xxx           # Enter results from JetStream bandwidth test tool

        connStr: xxx                 # Azure connection string.

                                     # Can be deleted/left empty if aad_access is True.

        useSsl: True                 # Use SSL to communicate with Azure storage or not: True/False

        aadAccess: False             # If Azure AAD based access is used or not: True/False

        accountName: xxx             # Name of the storage account. Used in case of AAD based access.

                                     # Can be deleted/left empty if aad_access is False.

                                     # Key based access: conn_str is mandatory; aad_access: False

                                     # AAd based access: account_name is mandatory; aad_access: True

    -

        type: cloudians3             # Use this section for Cloudian object store

        name: xxx                    # Unique name to identify object store

        accessKeyId: xxx             # Cloudian key ID

        secretAccessKey: xxx         # Cloudian secret access key

        host: http(s)://xxx          # Cloudian endpoint URL (http or IP)

        bandwidthMbps: xxx           # Enter results from JetStream bandwidth test tool

        useSsl: xxx                  # Use SSL to communicate with Cloudian storage or not: True/False

        verifySsl: xxx               # verify SSL or not: True/False

    -

        type: minios3                # Use this section for MinIO object store

        name: xxx                    # Unique name to identify object store

        accessKeyId: xxx             # MinIO key ID

        secretAccessKey: xxx         # MinIO secret access key

        host: server_ip:port_number  # ip:port

        bandwidthMbps: xxx           # Enter results from JetStream bandwidth test tool

        useSsl: xxx                  # Use SSL to communicate with MinIO storage or not: True/False

        verifySsl: xxx               # verify SSL or not: True/False

domain:                              # Protected Domain parameters

  maxNumVmInDomain: 100              # Maximum number of VMs per Protected Domain

  validGarbageRatioPercent: 50       # Default recommended value

  maxGarbageRatioPercent: 300        # Default recommended value

  priorityCfo:                       # Select using values 1-5; separate multiple values with comma if

                                     # required,

                                     # All VMs with this priority run in CFO mode, if skipped no CFO

  priorityWbMode: 1,2,3,4,5          # Select using values 1-5; separate multiple values with comma if

                                     # required.

vmAggregationGroup:                  # Group of VMs are assigned into one domain

    -

       # Prefix identifies partial recovery scope. See above for details.

       # If prefix skipped, customer expects full recovery only.

       domainNamePrefix: js          # Domain name prefix to select FO/FB recovery plans. Ok to leave blank

       name: RG_name                 # Unique ID of the recovery group

       priority: 1                   # Value range is 1-5; lower number = higher priority

       pitWindowSize: 0              # Value provided in days(1-14).0 means pit disabled.

       folder: folder_full_name1     # Folder queried to find matching VM names for group. Ok to leave blank

       vmWhiteList: '*abc*:*bcd*:win07,win02'  # Matching VMs will be included in group,

                                               # Separate search patterns and exact names using ":"

                                               # Separate multiple exact names using ","

       vmBlackList: 'abc01'          # Matching VMs will be excluded from group

                                     # Separate search patterns and exact names using ":"

                                     # Separate multiple exact names using “,"

independentVm:                       # Independent VMs group can be assigned to any domain

    -

      domainNamePrefix: qa           # Domain name prefix to select FO/FB recovery plans

      priority: 2                    # Value range is 1-5; lower number = higher priority

      pitWindowSize: 0

      folder: qa-test-2              # Folder queried to find matching VM names for group

      vmWhiteList: '*test:win123,win456'  # Matching VMs will be included in the group 

                                          # Separate search patterns and exact names using ":"

                                          # Separate multiple exact names using ","

      vmBlackList: '*tpcc*'         # Matching VMs will be excluded from the group

                                    # Separate search patterns and exact names using ":"

                                    # Separate multiple exact names using ","