oadp install

Install IBM Software Hub Openshift APIs for Data Protection (OADP) backup and restore components.

Syntax

cpd-cli oadp install \
--component=<cpd-cli-oadp-component> \
--cpdbr-hooks-image-prefix=<cpdbr-pod-image-prefix> \
--foundation-namespace=<cpd-foundational-services-namespace> \
[--access-key-id=<access-key-id>] \
[--agent-image-prefix=<agent-image-prefix>] \
[--agent-pod-cpu-limit=<cdpbr-agent-cpu-limit-value>] \
[--agent-pod-cpu-request=<cdpbr-agent-cpu-request-limit-value>] \
[--agent-pod-mem-limit=<cdpbr-agent-mem-limit-value>] \
[--agent-pod-mem-request=<cdpbr-agent-mem-request-limit-value>] \
[--agent-service-account=<cpdbr-agent-service-account>] \
[--api-pod-cpu-limit=<cpdbr-api-cpu-limit-value>] \
[--api-pod-cpu-request=<cpdbr-api-cpu-request-limit-value>] \
[--api-pod-mem-limit=<cpdbr-api-mem-limit-value>] \
[--api-pod-mem-request=<cpdbr-api-mem-request-limit-value>] \
[--backup-validation-cacert=<base64-encoded-contents-of-the-CA-cert>] \
[--bucket-name=<object-storage-bucket-name>] \
[--cpd-scheduler-namespace=<cpd-scheduler-namespace>] \
[--cpdbr-hooks-image-prefix=<cpdbr-pod-image-prefix>] \
[--cpdbr-hooks-pod-cpu-limit=<cpdbr-pod-cpu-limit>] \
[--cpdbr-hooks-pod-cpu-request=<cpdbr-pod-cpu-request>] \
[--cpdbr-hooks-pod-mem-limit=<cpdbr-pod-mem-limit>] \
[--cpdbr-hooks-pod-mem-request=<cpdbr-pod-mem-request>] \
[--cpdbr-velero-plugin-image=<cpdbr-velero-plugin-image>] \
[--cpfs-image-prefix=<cpfs-image-prefix>] \
[--cpfs-image-version=<cpfs-image-version>] \
[--cs-control-namespace=<cs-control-namespace>] \
[--grant-image-puller-role=true|false] \
[--help] \
[--image-prefix=<image-registry-prefix>] \
[--oadp-version=<oadp-version>] \
[--operators-namespace=<cpd-service-operators-namespace>] \
[--prefix=<prefix-name>] \
[--rbac-only] \
[--recipe-type=all|br|metro-dr] \
[--region=<object-store-region>] \
[--s3force-path-style=true|false] \
[--s3url=<s3-storage-url>] \
[--secret-access-key=<secret-access-key>] \
[--service-account=<service-account-name>] \
[--skip-recipes]=true|false] \
[--tenant-operator-namespace=<tenant-operator-namespace>] \
[--upgrade=true|false] \
[--uploader-type=kopia|restic] \
[--velero-cpu-limit=<velero-pod-cpu-limit>] \
[--velero-cpu-request=<velero-pod-cpu-request>] \
[--velero-mem-limit=<velero-pod-mem-limit>] \
[--velero-mem-request=<velero-pod-mem-request>] \
[--wait-timeout=<h,m,s>]

# Global options
[--add_dir_header=true|false] \
[--alsologtostderr=true|false] \
[--cpd-namespace=<cpd-namespace>] \
[--kubeconfig=<kubeconfig-paths> \
[--log-level=info|debug|warn|error|panic|trace] \
[--log-backtrace-at traceLocation=<integer>] \
[--log-dir=<log_directory>] \
[--log-file=<log_file_name>] \
[--log_file_max_size=<uint>] \
[--logtostderr=true|false] \
[--namespace=<namespace-name>] \
[--one-output=true|false] \
[--skip-headers=true|false] \
[--skip-log-headers=true|false] \
[--stderrthreshold severity=<integer>] \
[--v=<integer>] \
[--verbose \
[--vmodule moduleSpec=<pattern1, pattern2, and so on>]

Arguments

Table 1: Global options arguments
Argument Description
<trace-location> The stack trace location
<severity> The log severity level

Options

Table 1: Command options
Option Description
--access-key-id The access key of the object store.
Status
Optional.
Syntax
--access-key-id=<access-key-id>
Default value
minio
Valid values
A valid access key.
--agent-image-prefix The image prefix for the cpdbr-agent.
Status
Optional.
Syntax
--agent-image-prefix=<agent-image-prefix>
Default value
registry.redhat.io/ubi9
Valid values
  • registry.redhat.io/ubi9
  • ${PRIVATE_REGISTRY_LOCATION}
--agent-pod-cpu-limit The CPU limit for the cpdbr-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--agent-pod-cpu-limit=<cdpbr-agent-cpu-limit-value>
Default value
1
Valid values
A CPU limit value.
--agent-pod-cpu-request The CPU request setting for the cpdbr-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--agent-pod-cpu-request=<cdpbr-agent-cpu-request-limit-value>
Default value
500m
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--agent-pod-mem-limit The memory limit for the cpdbr-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--agent-pod-mem-limit=<cdpbr-agent-mem-limit-value>
Default value
4Gi
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--agent-pod-mem-request The memory request setting for the cpdbr-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--agent-pod-mem-request=<cdpbr-agent-mem-request-limit-value>
Default value
256Mi
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--agent-service-account The service account for the cpdbr-agent.
Status
Optional.
Syntax
--agent-service-account=<cpdbr-agent-service-account>
Default value
cpdbr-agent
Valid values
A valid service account name.
--api-pod-cpu-limit The CPU limit for the cpdbr-api pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--api-pod-cpu-limit=<cpdbr-api-cpu-limit-value>
Default value
0
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--api-pod-cpu-request The CPU request setting for the cpdbr-api pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--api-pod-cpu-request=<cpdbr-api-cpu-request-limit-value>
Default value
0
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--api-pod-mem-limit The memory limit for the cpdbr-api pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--api-pod-mem-limit=<cpdbr-api-mem-limit-value>
Default value
0
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--api-pod-mem-request The memory request setting for the cpdbr-api pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--api-pod-mem-request=<cpdbr-api-mem-request-limit-value>
Default value
0
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--backup-validation-cacert

5.2.2 and later This option is available starting in IBM® Software Hub Version 5.2.2.

The CA certificate to use to download the backup from the IBM Fusion backup service cloud object storage.

Use this option to enable secure communication between the client workstation and the cloud object storage used by the IBM Fusion backup service.
Status
Optional.
Syntax
--backup-validation-cacert=<base64-encoded-contents-of-the-CA-cert>
Default value
No default.
Valid values
The base64 encoded content of the CA certificate.
--bucket-name The object storage bucket name where backups are stored.
Status
Required.
Syntax
--bucket=<object-storage-bucket-name>
Default value
No default.
Valid values
A valid object storage bucket name.
--component Specify the cpd-cli oadp component to install.
Status
Optional.
Syntax
--component=<cpd-cli-oadp-component>
Default value
No default.
Valid values
cpdbr-agent, cpdbr-tenant, cpdbr-api, oadp-operator, cpdbr-hooks, cpdbr-ops-hooks
--cpd-scheduler-namespace The project where the IBM Software Hub scheduler is installed.
Status
Optional.
Syntax
--cpd-scheduler-namespace=No default.
Default value
No default.
Valid values
A valid IBM Software Hub namespace.
--cpdbr-hooks-image-prefix Specify the image prefix for the cpdbr service pod.
Status
Required.
Syntax
--cpdbr-hooks-image-prefix=<cpdbr-pod-image-prefix>
Default value
icr.io/cpopen/cpd
Valid values
  • icr.io/cpopen/cpd
  • ${PRIVATE_REGISTRY_LOCATION}
--cpdbr-hooks-pod-cpu-limit Specify the CPU limit for the cpdbr service pod. A value of 0 indicates unbounded.
Status
Required.
Syntax
--cpdbr-hooks-pod-cpu-limit=<cpdbr-pod-cpu-limit>
Default value
1
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--cpdbr-hooks-pod-cpu-request Specify the CPU request value for the cpdbr service pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--cpdbr-hooks-pod-cpu-request=<cpdbr-pod-cpu-request>
Default value
300m
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--cpdbr-hooks-pod-mem-limit Specify the memory limit for the cpdbr service pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--cpdbr-hooks-pod-mem-limit=<cpdbr-pod-mem-limit>
Default value
1Gi
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--cpdbr-hooks-pod-mem-request Specify the memory request value for the cpdbr service pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--cpdbr-hooks-pod-mem-request=<cpdbr-pod-mem-request>
Default value
256Mi
Valid values
Plain integer or fixed-point number that uses one the following quantity suffixes: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.

Examples: 0, 100m, 256Mi, 1Gi

--cpdbr-velero-plugin-image Specify a cpdbr-velero-plugin custom plugin image.
Status
Optional.
Syntax
--cpdbr-velero-plugin-image=<cpdbr-velero-plugin-image>
Default value
icr.io/cpopen/cpd/cpdbr-velero-plugin:${VERSION}
Valid values
icr.io/cpopen/cpd/cpdbr-velero-plugin:${VERSION}
--cpfs-image-prefix The IBM Cloud Pak foundational services utility image prefix.
Status
Optional.
Syntax
--cpfs-image-prefix=<cpfs-image-prefix>
Default value
icr.io/cpopen/cpfs
Valid values
  • icr.io/cpopen/cpfs
  • ${PRIVATE_REGISTRY_LOCATION}
--cpfs-image-version The IBM Cloud Pak foundational services utility image version.
Status
Optional.
Syntax
--cpfs-image-version=<cpfs-image-version>
Default value
4.6.5
Valid values
Any valid version.
--cs-control-namespace The IBM Software Hub cross tenant control namespace.
Status
Optional.
Syntax
--cs-control-namespace=No default.
Default value
No default.
Valid values
A valid IBM Software Hub namespace.
--foundation-namespace Specify the IBM Software Hub foundational services namespace.
Status
Required.
Syntax
--foundation-namespace=<cpd-foundational-services-namespace>
Default value
ibm-common-services
Valid values
ibm-common-services
--grant-image-puller-role Grants IBM Software Hub instance namespaces permission to pull images from the OADP/Velero namespace. This option is used for air-gapped installations.
Status
Optional.
Syntax
--grant-image-puller-role=true|false
Default value
true
Valid values
true
Grants IBM Software Hub instance namespaces permission to pull images from the OADP/Velero namespace. This option is used for air-gapped installations.
false
Denies IBM Cloud Pak for Data instance namespaces permission.

--help

-h

Display command help.
Status
Optional.
Syntax
--help
Default value
No default.
Valid values
Not applicable.
--image-prefix Specify the image registry prefix.
Status
Optional.
Syntax
--image-prefix=<image-registry-prefix>
Default value
icr.io/cpopen/cpd
Valid values
  • icr.io/cpopen/cpd
  • ${PRIVATE_REGISTRY_LOCATION}
--oadp-version The OADP operator version.
Status
Optional.
Syntax
--oadp-version=<oadp-version>
Default value
No default.
Valid values
A valid OADP operator version. Example: 1.4.1.
--operators-namespace Specify the IBM Software Hub Operators namespace.
Status
Required.
Syntax
--operators-namespace=<cpd-service-operators-namespace>
Default value
ibm-common-services
Valid values
A valid Cloud Pak for Data Operators namespace.
--prefix The prefix under which all data is to be stored within the bucket.
Status
Optional.
Syntax
--prefix=<prefix-name>
Default value
cpdbackup
Valid values
Any valid prefix name.
--rbac-only In conjunction with component=cpdbr-tenant, specifies to install only clusterroles and their bindings without installing the cpdbr-tenant service.
Status
Optional.
Syntax
--rbac-only=true|false
Default value
false
Valid values
false
Do not install only clusterroles and their bindings.
true
Install only clusterroles and their bindings.
--recipe-type The type of backup and restore recipe to apply.
Status
Optional.
Syntax
--recipe-type=all|br|metro-dr
Default value
br
Valid values
all
Apply all backup and restore recipes.
br
Apply the Cloud Pak for Data tenant recipe.
metro-dr
Apply the metro disaster recovery recipe.
--region The object store region.
Status
Optional.
Syntax
--region=<object-store-region>
Default value
minio
Valid values
A valid object store region. Example: us-east-1
--s3force-path-style Whether to force path style URLs for S3 objects.
Status
Optional.
Syntax
--s3force-path-style=true|false
Default value
true
Valid values
true
Force path style URLs for S3 objects.
false
Does not force path style URLs for S3 objects.
--s3url The S3 storage URL.
Status
Optional.
Syntax
--s3url=<s3-storage-url>
Default value
No default.
Valid values
A valid S3 storage URL
--secret-access-key Secret key of the object store.
Status
Optional.
Syntax
--secret-access-key=<secret-access-key>
Default value
minio123
Valid values
A valid secret key.
--service-account Specify the service account.
Status
Optional.
Syntax
--service-account=<service-account-name>
Default value
cpdbr-api-sa
Valid values
A valid service account name.
--skip-recipes Skip installing IBM Fusion backup and restore recipes.
Status
Optional.
Syntax
--skip-recipes=true|false
Default value
false
Valid values
true
IBM Fusion backup and restore recipes are not installed.
false
IBM Fusion backup and restore recipes are installed.
--tenant-operator-namespace Restrict the scope of backup or restore commands to tenant operand namespaces that include tenant specific Cloud Pak Foundation Service Operators and IBM Software Hub Operators only.
Status
Optional.
Syntax
--tenant-operator-namespace
Default value
No default.
Valid values

A valid namespace name.

Notes: The following command is an alternative to using this option:
cpd-cli oadp client config set cpd-namespace=<cpd-namespace-name>

However, the option takes precedence over this command.

--upgrade Upgrade the cpdbr-tenant service component.
Status
Optional.
Syntax
--upgrade=true|false
Default value
false
Valid values
true|false
--uploader-type The type of uploader used to transfer pod volume data.
Status
Optional.
Syntax
--uploader-type=kopia|restic
Default value
kopia
Valid values
kopia|restic
--velero-cpu-limit Specify a CPU limit for the Velero pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--velero-pod-cpu-limit=<velero-pod-cpu-limit>
Default value
1
Valid values
CPU limits are measured in CPU units. One CPU is equivalent to one CPU core for cloud providers and one hyper-thread on bare-metal Intel processors. An m suffix in a CPU attribute indicates milliCPU (250m is equivalent to 25% of a CPU core).
--velero-cpu-request Specify a CPU request value for the Velero pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--velero-pod-cpu-request=<velero-pod-cpu-request>
Default value
500m
Valid values
CPU limits are measured in CPU units. One CPU is equivalent to one CPU core for cloud providers and one hyper-thread on bare-metal Intel processors. An m suffix in a CPU attribute indicates milliCPU (250m is equivalent to 25% of a CPU core).
--velero-mem-limit Specify a memory limit for the Velero pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--velero-pod-mem-limit=<velero-pod-mem-limit>
Default value
1Gi
Valid values
Memory can be expressed in various units, where one Mi is one IEC unit megabyte (1024^2), and one Gi is one IEC unit gigabyte (1024^3).
--velero-mem-request Specify a memory request value for the Velero pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--velero-pod-mem-request=<velero-pod-mem-request>
Default value
256Mi
Valid values
Memory can be expressed in various units, where one Mi is one IEC unit megabyte (1024^2), and one Gi is one IEC unit gigabyte (1024^3).
--wait-timeout The wait timeout setting ('h' for hours, 'm' for minutes, 's' for seconds).
Status
Optional.
Syntax
--wait-timeout=<h,m,s>
Default value
10m0s
Valid values
Any valid duration string. Examples: 1m, 30m, 1h, 2h45m

Global options

You can also use the following global options with this command:

Table 2: Command global options
Option Description
--add_dir_header Add the file directory to the header of log messages.
Status
Optional.
Syntax
--add_dir_header=true|false
Default value
false
Valid values
false
Do not add the file directory to the header of log messages.
true
Add the file directory to the header of log messages.
--alsologtostderr Log to standard error as well as files.
Status
Optional.
Syntax
--alsologtostderr=true|false
Default value
false
Valid values
false
Do not log to standard error as well as files.
true
Log to standard error as well as files.
Note: This option has no effect when --logtostderr=true.
--cpd-namespace The IBM Software Hub namespace in which the utility operates.
Status
Optional.
Syntax
--cpd-namespace=<cpd-namespace>
Default value
No default value.
Valid values
A valid IBM Software Hub namespace.
Tip: The following command is an alternative to using this option:
cpd-cli oadp client config set cpd-namespace=<cpd-namespace-name>
However, the option takes precedence over the command.
--kubeconfig Paths to a kubeconfig. Only required if out-of-cluster.
Status
Optional.
Syntax
--kubeconfig=<kubeconfig-paths>
Default value
No default.
Valid values
Valid kubeconfig paths.
--log-level The command log level.
Status
Optional.
Syntax
--log-level=info|debug|warn|error|panic|trace
Default value
info
Valid values
debug
Debug messages are written to the log.
error
Error messages are written to the log.
info
Informative messages are written to the log.
panic
Panic messages are written to the log.
warn
Warning messages are written to the log.
--log-backtrace-at traceLocation When logging hits line file:N, emit a stack trace.
Status
Optional.
Syntax
--log-backtrace-at traceLocation=<integer>
Default value

0.

Valid values
Any positive integer.
--log-dir If non-empty, write log files in this directory.
Status
Optional.
Syntax
--log-dir=<log_directory>
Default value
No default.
Valid values
A valid directory.
Note: This option has no effect when --logtostderr=true.
--log-file If non-empty, use this log file.
Status
Optional.
Syntax
--log-file=<log_file_name>
Default value
No default.
Valid values
A valid directory.
Note: This option has no effect when --logtostderr=true.
--log_file_max_size The maximum size, in MB, that a log file can grow to. If you specify 0, the maximum file size is unlimited.
Status
Optional.
Syntax
--log_file_max_size=<uint>
Default value
1800.
Valid values
A valid unsigned integer.
Note: This option has no effect when --logtostderr=true.
--logtostderr Log to standard error instead of files.
Status
Optional.
Syntax
--logtostderr=true|false
Default value
true
Valid values
true
Log to standard error instead of files.
false
Log to files.
--namespace

-n

The namespace where OADP is installed.
Status
Optional.
Syntax
--namespace=<oadp-namespace>
Default value
No default value.
Valid values
Valid namespace name.
Tip: The following command is an alternative to using this option:
cpd-cli oadp client config set namespace=<OADP-operator-namespace>
However, the option takes precedence over the command.
--one-output Specifies whether to only write logs to their native severity level.
Status
Optional.
Syntax
--one-output=true|false
Default value
false
Valid values
false
Write logs to their native severity level and also to each lower severity level.
true
Write logs only to their native severity level.
Note: This option has no effect when --logtostderr=true.
--skip-headers Specifies whether to avoid header prefixes in log messages.
Status
Optional.
Syntax
--skip-headers
Default value
false
Valid values
false
Do not avoid header prefixes in log messages.
true
Avoid header prefixes in log messages.
--skip-log-headers Specifies whether to avoid header prefixes when opening log files.
Status
Optional.
Syntax
--skip-log-headers
Default value
false
Valid values
false
Do not avoid headers when opening log files.
true
Avoid headers when opening log files.
Note: This option has no effect when --logtostderr=true.
--stderrthreshold severity Logs at or above the specified threshold. Go to stderr when writing to files and stderr.
Status
Optional.
Syntax
--stderrthreshold severity=<integer>
Default value
2
Valid values
Any positive integer.
Note: This option has no effect when --logtostderr=true or .--alsologtostderr=false
--v

-v

Number for the log level verbosity.
Status
Optional.
Syntax
--v=<integer>
Default value
No default.
Valid values
Any valid positive integer.
--verbose Logs include more detailed messages.
Status
Optional.
Syntax
--verbose
Default value
No default.
Valid values
Not applicable.
--vmodule moduleSpec Comma-separated list of pattern=N settings for file-filtered logging.
Status
Optional.
Syntax
--vmodule moduleSpec=<pattern1, pattern2, and so on>
Default value
No default.
Valid values

Examples

Note: The following examples use the recommended installation environment variables.

It is strongly recommended that you use a script to create environment variables with the correct values for your environment. For more information, see Setting up installation environment variables.

After installing IBM Fusion, NetApp Trident protect, or Portworx Enterprise, install the following services to enable backup or restore for an entire Cloud Pak for Data deployment.

Install the REST service.
cpd-cli oadp install \
--image-prefix=registry.redhat.io/ubi9 \
--log-level=warn
Install the cpdbr-hooks service for the Cloud Pak for Data control plane namespace.
cpd-cli oadp install \
--cpd-namespace=zen \
--component=cpdbr-hooks \
--cpdbr-hooks-image-prefix=icr.io/cpopen/cpd \
--log-level=warn
Install the cpdbr-ops-hooks service for the Cloud Pak for Data operators namespace.
cpd-cli oadp install \
--component=cpdbr-ops-hooks \
--cpdbr-hooks-image-prefix=icr.io/cpopen/cpd \
--foundation-namespace=ibm-common-services \
--operators-namespace=ibm-common-services \
--log-level=warn
Install the cpdbr-tenant service when using IBM Fusion for backup and restore
cpd-cli oadp install \
--component=cpdbr-tenant \
--cpdbr-hooks-image-prefix=icr.io/cpopen/cpd \
--tenant-operator-namespace=${PROJECT_CPD_INST_OPERATORS} \
--recipe-type=br \
--log-level=debug \
--verbose
Upgrade the cpdbr-tenant service when using IBM Fusion for backup and restore
cpd-cli oadp install \
--upgrade=true \
--component=cpdbr-tenant \
--cpdbr-hooks-image-prefix=icr.io/cpopen/cpd \
--tenant-operator-namespace=${PROJECT_CPD_INST_OPERATORS} \
--recipe-type=br \
--log-level=debug \
--verbose