oadp dpa create

Create an OADP DataProtectionApplication (dpa) instance.

Syntax

cpd-cli oadp dpa create <dpa-instance-name> \
[--access-mode=ReadWrite|ReadOnly] \
[--backup-sync-period=<h,m,s>] \
--bucket=<object-storage-bucket-name> \
[--build-images] \
[--cacert=<certificate-bundle-path>] \
--config=<map<key,value>> \
[--cpdbr-velero-plugin-image=<cpdbr-velero-plugin-image>] \
[--credential=<map<key,value>>] \
[--dry-run=true|false] \
[--enable-node-agent=true|false] \
[--enable-restic=true|false] \
[--labels=<map<label,label,...>>] \
[--node-agent-pod-cpu-limit] \
[--node-agent-pod-cpu-request] \
[--node-agent-pod-mem-limit] \
[--node-agent-pod-mem-request] \
[--node-agent-timeout] \
[--prefix=<prefix-name>] \
--provider=<backup-storage-provider-name> \
[--restic-pod-cpu-limit=<restic-pod-cpu-limit>] \
[--restic-pod-cpu-request=<restic-pod-cpu-request>] \
[--restic-pod-mem-limit=<restic-pod-mem-limit>] \
[--restic-pod-mem-request=<restic-pod-mem-request>] \
[--restic-timeout=<h,m,s>] \
[--validation-frequency=<h,m,s>] \
[--velero-pod-cpu-limit=<velero-pod-cpu-limit>] \
[--velero-pod-cpu-request=<velero-pod-cpu-request>] \
[--velero-pod-mem-limit=<velero-pod-mem-limit>] \
[--velero-pod-mem-request=<velero-pod-mem-request>] \
[--wait] \
[--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: Command arguments
Argument Description
<dpa-instance-name> The name of the OADP DataProtectionApplication (dpa) instance to create.
Table 2: Global options arguments
Argument Description
<trace-location> The stack trace location
<severity> The log severity level

Options

Table 1: Command options
Option Description
--access-mode The access mode for the backup storage location.
Status
Required.
Syntax
--access-mode=ReadWrite|ReadOnly
Default value
ReadWrite
Valid values
  • ReadWrite
  • ReadOnly
--backup-sync-period Specify how often to synchronize all backups in the object storage with backup API objects in the cluster ('h' for hours, 'm' for minutes, 's' for seconds). Synchronization is disabled when the value is set to 0s.
Status
Optional.
Syntax
--backup-sync-period=<h,m,s>
Default value
1m
Valid values
Any valid duration string. Examples: 1m, 30m, 1h, 2h45m
--bucket 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.
--build-images Specify whether to deploy a registry for enabling the backup and restoration of images.
Status
Optional.
Syntax
--build-images
Default value
No default.
Valid values
Not applicable.
--cacert The certificate bundle path to use when verifying TLS connections.
Status
Optional.
Syntax
--cacert=<certificate-bundle-path>
Default value
No default.
Valid values
A valid certificate bundle path.
--config The configuration key-value pairs.
Status
Required.
Syntax
--config=<map<key,value>>
Default value
No default.
Valid values
Any valid key-value pairs.
--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

5.1.1 and later icr.io/cpopen/cpd/cpdbr-velero-plugin:${VERSION}

5.1.0 icr.io/cpopen/cpd/cpdbr-velero-plugin:${VERSION}-x86_64

5.1.1 and later Valid values
icr.io/cpopen/cpd/cpdbr-velero-plugin:${VERSION}
5.1.0 Valid values
x86-64 image
icr.io/cpopen/cpd/cpdbr-velero-plugin:${VERSION}-x86_64
ppc64le image
icr.io/cpopen/cpd/cpdbr-velero-plugin:${VERSION}-ppc64le
--credential The credential that is used as a key-value pair where the key is the Kubernetes secret name and the value is the secret data key name. Only one value is allowed.
Status
Optional.
Syntax
--credential=<map<key,value>>
Default value
No default.
Valid values
Any valid key-value pair. Only one value is allowed.
--dry-run Executes a dry-run without running the command.
Status
Optional.
Syntax
--dry-run=true|false
Default value
false
Valid values
false
A dry run is not executed before running the command.
true
A dry run is executed before running the command.
--enable-node-agent Create a node-agent daemonset.
Status
Optional.
Syntax
--enable-node-agent=true|false
Default value
true
Valid values
true
Create a node-agent daemonset.
false
Do not create a node-agent DaemonSet .
--enable-restic Create a restic daemonset.
Status
Optional.
Syntax
--enable-restic=true|false
Default value
true
Valid values
true
Create a restic daemonset.
false
Do not create a Restic DaemonSet .

--help

-h

Display command help.
Status
Optional.
Syntax
--help
Default value
No default.
Valid values
Not applicable.
--labels Labels to apply to the OADP DataProtectionApplication (for example, l1=v1,l2=v2).
Status
Optional.
Syntax
--labels=<map<label,label,...>>
Default value
No default.
Valid values
Valid label names. (Comma-separated map string array list.)
--node-agent-pod-cpu-limit Specify the CPU limit for the node-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--node-agent-pod-cpu-limit=<node-agent-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).
--node-agent-pod-cpu-request Specify the CPU request value for the node-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--node-agent-pod-cpu-request=<node-agent-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).
--node-agent-pod-mem-limit Specify the memory limit for the node-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--node-agent-pod-mem-limit=<node-agent-pod-mem-limit>
Default value
8Gi
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).
--node-agent-pod-mem-request Specify the memory request value for the node-agent pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--node-agent-pod-mem-request=<node-agent-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).
--node-agent-timeout Specify a node-agent pod timeout duration ('h' for hours, 'm' for minutes, 's' for seconds)
Status
Optional.
Syntax
--node-agent-timeout=<h,m,s>
Default value
4h0m0s
Valid values
Any valid duration string. Examples: 1m, 30m, 1h, 2h45m
--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.
--provider The backup storage provider name (for example, aws, azure, gcp).
Status
Required.
Syntax
--provider=<backup-storage-provider-name>
Default value
No default.
Valid values
Any valid backup storage provider name.
--restic-pod-cpu-limit Specify the CPU limit for the restic pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--restic-pod-cpu-limit=<restic-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).
--restic-pod-cpu-request Specify the CPU request value for the restic pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--restic-pod-cpu-request=<restic-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).
--restic-pod-mem-limit Specify the memory limit for the restic pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--restic-pod-mem-limit=<restic-pod-mem-limit>
Default value
8Gi
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).
--restic-pod-mem-request Specify the memory request value for the restic pod. A value of 0 indicates unbounded.
Status
Optional.
Syntax
--restic-pod-mem-request=<restic-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).
--restic-timeout Specify a restic pod timeout duration ('h' for hours, 'm' for minutes, 's' for seconds)
Status
Optional.
Syntax
--restic-timeout=<h,m,s>
Default value
4h0m0s
Valid values
Any valid duration string. Examples: 1m, 30m, 1h, 2h45m
--validation-frequency How often to validate the backup storage location ('h' for hours, 'm' for minutes, 's' for seconds). Validation is disabled when the value is set to 0s.
Status
Optional.
Syntax
--validation-frequency=<h,m,s>
Default value
1m
Valid values
Any valid duration string. Examples: 1m, 30m, 1h, 2h45m
--velero-pod-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-pod-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-pod-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-pod-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 When set to "true", wait for the operation to complete.
Status
Optional.
Syntax
--wait=true|false
Default value
false
Valid values
false
Do not wait for the operation to complete.
true
Wait for the operation to complete.
--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
6m0s
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

5.1.0 zen

5.1.1 and later 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

5.1.0oadp-operator

5.1.1 and later 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.

Create an OADP DataProtectionApplication (dpa) instance.
cpd-cli oadp dpa create <dpa-instance-name> \
--namespace=oadp-operator \
--provider=aws \
--bucket=${BUCKET_NAME} \
--prefix=${BUCKET_PREFIX} \
--config=region=${REGION},s3ForcePathStyle=true,s3Url=${S3_URL} \
--credential=cloud-credentials=cloud \
--enable-restic \
--velero-pod-mem-limit=4Gi \
--restic-pod-mem-limit=32Gi \
--restic-pod-cpu-limit=2 \
--restic-timeout=72h \
--cpdbr-velero-plugin-image=${CPDBR_VELERO_PLUGIN_IMAGE_LOCATION} \
--wait