Restore¶
Usage¶
Usage information can be obtained using mas restore --help
usage: mas restore [-i MAS_INSTANCE_ID] [--restore-version RESTORE_VERSION] [--backup-storage-size BACKUP_STORAGE_SIZE]
[--mas-domain-restore MAS_DOMAIN_ON_RESTORE] [--sls-url-restore SLS_URL_ON_RESTORE]
[--dro-url-restore DRO_URL_ON_RESTORE] [--include-slscfg-from-backup] [--exclude-slscfg-from-backup]
[--sls-cfg-file SLS_CFG_FILE] [--dro-cfg-file DRO_CFG_FILE] [--include-drocfg-from-backup]
[--exclude-drocfg-from-backup] [--clean-backup] [--no-clean-backup] [--download-backup]
[--aws-access-key-id AWS_ACCESS_KEY_ID] [--aws-secret-access-key AWS_SECRET_ACCESS_KEY]
[--s3-bucket-name S3_BUCKET_NAME] [--s3-region S3_REGION] [--artifactory-url ARTIFACTORY_URL]
[--artifactory-repository ARTIFACTORY_REPOSITORY] [--custom-backup-archive-name BACKUP_ARCHIVE_NAME]
[--include-grafana] [--exclude-grafana] [--include-dro] [--exclude-dro] [--include-sls] [--exclude-sls]
[--sls-domain SLS_DOMAIN] [--ibm-entitlement-key IBM_ENTITLEMENT_KEY] [--contact-email DRO_CONTACT_EMAIL]
[--contact-firstname DRO_CONTACT_FIRSTNAME] [--contact-lastname DRO_CONTACT_LASTNAME]
[--dro-namespace DRO_NAMESPACE] [--override-mongodb-storageclass] [--mongodb-storageclass-name MONGODB_STORAGECLASS_NAME]
[--restore-manage-app] [--restore-manage-db] [--override-manage-app-storageclass]
[--manage-app-storage-class-rwx MANAGE_APP_STORAGE_CLASS_RWX] [--manage-app-storage-class-rwo MANAGE_APP_STORAGE_CLASS_RWO]
[--override-manage-db-storageclass]
[--manage-db-storage-class-rwx MANAGE_DB_STORAGE_CLASS_RWX] [--manage-db-storage-class-rwo MANAGE_DB_STORAGE_CLASS_RWO]
[--artifactory-username ARTIFACTORY_USERNAME] [--artifactory-token ARTIFACTORY_TOKEN] [--dev-mode] [--no-confirm] [--skip-pre-check] [-h]
IBM Maximo Application Suite Admin CLI
Restore a MAS instance from backup by configuring and launching the MAS Restore Tekton Pipeline.
Interactive Mode:
Omitting the --instance-id option will trigger an interactive prompt
MAS Instance:
-i, --instance-id MAS_INSTANCE_ID
MAS Instance ID to restore, must match the instance ID of the backup.
--mas-domain-restore MAS_DOMAIN_ON_RESTORE
MAS Domain to restore. If not specified, the domain will be taken from the backup.
--sls-url-restore SLS_URL_ON_RESTORE
SLS URL to restore in Suite configuration. If not specified, the url will be taken from the backup.
--dro-url-restore DRO_URL_ON_RESTORE
DRO URL to restore in Suite configuration. If not specified, the url will be taken from the backup.
--include-slscfg-from-backup
Use SLS config from backup during Suite restore.
--exclude-slscfg-from-backup
Exclude SLS config from backup during Suite restore.
--sls-cfg-file SLS_CFG_FILE
SLS config file path to restore, must be provided if own SLS is used.
--dro-cfg-file DRO_CFG_FILE
DRO config file path to restore, must be provided if own DRO is used.
--include-drocfg-from-backup
Include DRO config from backup during Suite restore.
--exclude-drocfg-from-backup
Exclude DRO config from backup during Suite restore.
Restore Configuration:
--restore-version RESTORE_VERSION
Version/timestamp used in backup. Example: YYYYMMDD-HHMMSS
--backup-storage-size BACKUP_STORAGE_SIZE
Size of the PVC storage, must be bigger than backup archive size. (default: 20Gi)
--clean-backup Clean backup and config workspaces after completion (default: true)
--no-clean-backup Do not clean backup and config workspaces after completion
Download Configuration:
--download-backup Download the backup archive from S3 or Artifactory
--aws-access-key-id AWS_ACCESS_KEY_ID
AWS Access Key ID for S3 download
--aws-secret-access-key AWS_SECRET_ACCESS_KEY
AWS Secret Access Key for S3 download
--s3-bucket-name S3_BUCKET_NAME
S3 bucket name for backup download
--s3-region S3_REGION
AWS region for S3 bucket
--artifactory-url ARTIFACTORY_URL
Artifactory URL for backup download
--artifactory-repository ARTIFACTORY_REPOSITORY
Artifactory repository for backup download
--custom-backup-archive-name BACKUP_ARCHIVE_NAME
Custom backup archive name to download from S3 or Artifactory
Components:
--include-grafana Include Grafana in restore (default: true)
--exclude-grafana Skip installing Grafana.
--include-dro Include DRO in restore, this will install new DRO instance (default: true)
--exclude-dro Skip installing DRO.
--include-sls Include SLS in restore (default: true)
--exclude-sls Exclude SLS from restore (use if SLS is external)
IBM Suite License Service Operator:
--sls-domain SLS_DOMAIN
SLS domain to use during SLS instance restore (optional).
IBM Data Reporting Operator:
--ibm-entitlement-key IBM_ENTITLEMENT_KEY
IBM entitlement key
--contact-email DRO_CONTACT_EMAIL
Contact e-mail address
--contact-firstname DRO_CONTACT_FIRSTNAME
Contact first name
--contact-lastname DRO_CONTACT_LASTNAME
Contact last name
--dro-namespace DRO_NAMESPACE
Namespace for DRO
MongoDB Storage Class Override:
--override-mongodb-storageclass
Override the storage class for MongoDB during restore
--mongodb-storageclass-name MONGODB_STORAGECLASS_NAME
MongoDB storage class name (ReadWriteOnce). If not specified, cluster default will be used.
Manage Application Restore:
--restore-manage-app Restore the Manage application including namespace resources and persistent volume data
--restore-manage-db Restore the Manage incluster Db2 database
--override-manage-app-storageclass
Override storage class for Manage application persistent volumes
--manage-app-storage-class-rwx MANAGE_APP_STORAGE_CLASS_RWX
Manage Application ReadWriteMany storage class name
--manage-app-storage-class-rwo MANAGE_APP_STORAGE_CLASS_RWO
Manage Application ReadWriteOnce storage class name
--override-manage-db-storageclass
Override storage class for Manage Db2 database persistent volumes
--manage-db-storage-class-rwx MANAGE_DB_STORAGE_CLASS_RWX
Db2 ReadWriteMany storage class name
--manage-db-storage-class-rwo MANAGE_DB_STORAGE_CLASS_RWO
Db2 ReadWriteOnce storage class name
More:
--artifactory-username ARTIFACTORY_USERNAME
Username for access to development builds on Artifactory
--artifactory-token ARTIFACTORY_TOKEN
API Token for access to development builds on Artifactory
--dev-mode Configure restore in development mode
--no-confirm Launch the backup without prompting for confirmation
--skip-pre-check Skips the 'pre-restore-check' task in the restore pipeline
-h, --help Show this help message and exit
Examples¶
Interactive Restore¶
Launch an interactive restore session that will prompt you for all required configuration:
mas restore
Non-Interactive Restore with Minimal Configuration¶
Restore a specific MAS instance from a backup with default settings:
mas restore --instance-id inst1 --restore-version 20260117-191701 --no-confirm
Restore with Custom Storage Size¶
Specify a custom storage size for the restore PVC:
mas restore --instance-id inst1 --restore-version 20260117-191701 --backup-storage-size 50Gi --no-confirm
Restore with Changed MAS Domain¶
Restore a backup and change the MAS domain in the Suite CR:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--mas-domain-restore new.domain.com \
--no-confirm
Restore with S3 Download¶
Download a backup from S3 and restore it:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--download-backup \
--aws-access-key-id AKIAIOSFODNN7EXAMPLE \ #pragma: allowlist secret
--aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ #pragma: allowlist secret
--s3-bucket-name my-mas-backups \
--s3-region us-east-1 \
--no-confirm
Restore with Custom Backup Archive Name¶
Download and restore a backup with a custom archive name:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--download-backup \
--custom-backup-archive-name custom-backup-name.tar.gz \
--aws-access-key-id AKIAIOSFODNN7EXAMPLE \ #pragma: allowlist secret
--aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ #pragma: allowlist secret
--s3-bucket-name my-mas-backups \
--s3-region us-east-1 \
--no-confirm
Restore Excluding SLS¶
Restore a backup without including Suite License Service (useful when using external SLS):
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--exclude-sls \
--no-confirm
Restore with Custom SLS Configuration File¶
Restore using a custom SLS configuration file instead of the one from backup:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--exclude-slscfg-from-backup \
--sls-cfg-file /path/to/sls-config.yaml \
--no-confirm
Restore with Changed SLS URL¶
Restore SLS configuration from backup but change the SLS URL:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--include-slscfg-from-backup \
--sls-url-restore https://new-sls-url.com \
--no-confirm
Restore with Custom DRO Configuration File¶
Restore using a custom DRO/BAS configuration file instead of the one from backup:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--exclude-drocfg-from-backup \
--dro-cfg-file /path/to/dro-config.yaml \
--no-confirm
Restore with DRO Installation¶
Restore and install a new DRO instance:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--include-dro \
--ibm-entitlement-key YOUR_ENTITLEMENT_KEY \ #pragma: allowlist secret
--contact-email admin@example.com \
--contact-firstname John \
--contact-lastname Doe \
--dro-namespace redhat-marketplace \
--no-confirm
Restore with Custom SLS Domain¶
Restore SLS instance with a custom domain:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--include-sls \
--sls-domain custom-sls.domain.com \
--no-confirm
Restore Excluding Grafana¶
Restore without installing Grafana:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--exclude-grafana \
--no-confirm
Restore with MongoDB Storage Class Override¶
Override the storage class for MongoDB during restore (useful when restoring to a cluster with different storage classes):
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--override-mongodb-storageclass \
--mongodb-storageclass-name custom-rwo-storage \
--no-confirm
Restore with Manage Application¶
Restore the Manage application including namespace resources and persistent volume data:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--restore-manage-app \
--no-confirm
Restore with Manage Application and Database¶
Restore both the Manage application and its incluster Db2 database:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--restore-manage-app \
--restore-manage-db \
--no-confirm
Restore Manage with Custom Storage Classes¶
Restore Manage application and database with custom storage class overrides:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--restore-manage-app \
--restore-manage-db \
--override-manage-app-storageclass \
--manage-app-storage-class-rwx custom-rwx-storage \
--manage-app-storage-class-rwo custom-rwo-storage \
--override-manage-db-storageclass \
--manage-db-storage-class-rwx custom-rwx-storage \
--manage-db-storage-class-rwo custom-rwo-storage \
--no-confirm
Restore Skipping Pre-Check¶
Skip the pre-restore validation check (use with caution):
mas restore --instance-id inst1 --restore-version 20260117-191701 --skip-pre-check --no-confirm
Restore Without Workspace Cleanup¶
Keep backup and config workspace contents after completion (useful for troubleshooting):
mas restore --instance-id inst1 --restore-version 20260117-191701 --no-clean-backup --no-confirm
Note
By default, workspaces are cleaned after restore completion to free up storage. Use --no-clean-backup only when you need to inspect the workspace contents for troubleshooting purposes.
Complete Non-Interactive Restore Example¶
A comprehensive example with all major options configured:
mas restore \
--instance-id inst1 \
--restore-version 20260117-191701 \
--backup-storage-size 100Gi \
--mas-domain-restore new.domain.com \
--include-sls \
--sls-domain custom-sls.domain.com \
--include-slscfg-from-backup \
--sls-url-restore https://new-sls-url.com \
--include-grafana \
--include-dro \
--ibm-entitlement-key YOUR_ENTITLEMENT_KEY \ #pragma: allowlist secret
--contact-email admin@example.com \
--contact-firstname John \
--contact-lastname Doe \
--dro-namespace redhat-marketplace \
--download-backup \
--aws-access-key-id AKIAIOSFODNN7EXAMPLE \ #pragma: allowlist secret
--aws-secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \ #pragma: allowlist secret
--s3-bucket-name my-mas-backups \
--s3-region us-east-1 \
--no-confirm
Notes¶
Restore Process¶
The restore command performs the following operations:
- Validates the target cluster - Ensures OpenShift cluster connectivity
- Prepares the pipeline namespace - Creates or updates the
mas-{instance-id}-pipelinesnamespace - Installs OpenShift Pipelines - Validates or installs the OpenShift Pipelines Operator
- Creates backup PVC - Provisions persistent storage for the backup data
- Downloads backup archive - If configured, downloads the backup from S3 or Artifactory
- Launches the restore pipeline - Submits a Tekton PipelineRun to perform the restore
- Restores MAS components - Restores MAS instance, configurations, and selected components
Default Values¶
If not specified, the following defaults are used:
- Backup Storage Size:
20Gi - Clean Workspaces:
true(workspaces are cleaned after completion) - Include SLS:
true - Include Grafana:
true - Include DRO:
true - Include SLSCfg from Backup:
true - Include DROCfg from Backup:
true
Storage Requirements¶
Ensure sufficient storage is available for the restore PVC. The required size must be larger than the backup archive size and depends on:
- Size of the backup archive
- Temporary extraction space needed during restore
- Any additional workspace requirements
Download Sources¶
Two download sources are supported:
- S3: Standard AWS S3 bucket download (available in all modes)
- Artifactory: Artifactory repository download (requires
--dev-mode)
Configuration Options¶
The restore command provides flexibility in how configurations are restored:
SLS Configuration¶
- From Backup: Use
--include-slscfg-from-backup(default) to restore SLS configuration from the backup - Custom File: Use
--exclude-slscfg-from-backupand provide--sls-cfg-fileto use a custom configuration - Change URL: Use
--sls-url-restoreto modify the SLS URL while keeping other configuration from backup
DRO Configuration¶
- From Backup: Use
--include-drocfg-from-backup(default) to restore DRO configuration from the backup - Custom File: Use
--exclude-drocfg-from-backupand provide--dro-cfg-fileto use a custom configuration - Change URL: Use
--dro-url-restoreto modify the DRO URL while keeping other configuration from backup - READ: When
include-drois enabled to install a new DRO instance, the--include-drocfg-from-backupflag is automatically set tofalseto prevent conflicts. Configuration of the new DRO instance will be automatically applied to the Suite.
MAS Domain¶
- By default, the MAS domain is restored from the backup
- Use
--mas-domain-restoreto change the domain during restore
Component Installation¶
The restore process can optionally install components that are not part of the backup:
- Grafana: Monitoring and visualization (not backed up, can be installed during restore). Use
--include-grafanato install grafana during restore or--exclude-grafanato skip grafana installation. - DRO: Data Reporting Operator (not backed up, can be installed during restore). Use
--include-droto install DRO during restore or--exclude-droto skip DRO installation. - SLS: Suite License Service (backed up, can be restored or skipped if using external SLS). Use
--include-slsto restore SLS from backup or--exclude-slsto skip SLS installation.
MongoDB Storage Class Override¶
When restoring to a cluster with different storage classes than the original backup, you can override the MongoDB storage class:
- Use
--override-mongodb-storageclassto enable storage class override - Optionally specify
--mongodb-storageclass-namefor a custom ReadWriteOnce storage class - If no custom storage class is specified, the cluster default will be used
This is particularly useful for: - Migrating between different cloud providers - Restoring to clusters with different storage infrastructure - Testing restores in different environments
Manage Application Restore¶
The restore process can now restore the Manage application in addition to the MAS Suite:
- Manage Application: Use
--restore-manage-appto restore Manage namespace resources and persistent volume data - Manage Database: Use
--restore-manage-dbto restore the incluster Db2 database associated with the Manage workspace - Storage Class Overrides:
- Use
--override-manage-app-storageclassto override Manage application storage classes, then specify--manage-app-storage-class-rwxand--manage-app-storage-class-rwo - Use
--override-manage-db-storageclassto override Db2 database storage classes, then specify--manage-db-storage-class-rwxand--manage-db-storage-class-rwo
Note
- Manage database restore is an offline operation - the Manage application will be unavailable during the restore
- The restore process handles both the application resources and the database data
- Storage class overrides are useful when restoring to clusters with different storage infrastructure
- A single RWX and RWO storage class is applied across all Db2 persistent volumes (meta, data, backup, logs, temp)
Interactive Mode¶
When running without --instance-id, the command enters interactive mode and will prompt for:
- Target OpenShift cluster connection
- MAS instance ID (must match the backup)
- Backup version to restore
- MongoDB storage class override configuration
- Grafana installation preference
- SLS installation and configuration
- DRO installation and configuration
- MAS domain configuration
- Manage application restore configuration
- Backup storage size
- Download configuration (optional)
Pipeline Monitoring¶
After launching the restore, a URL to the Tekton PipelineRun will be displayed. Use this URL to monitor the restore progress in the OpenShift Console.
Important Considerations¶
Warning
- The MAS instance ID used for restore must match the instance ID from the backup
- Ensure the target cluster has sufficient resources for the restored instance
- Review and update configuration URLs (SLS, DRO) if the target environment differs from the backup source
- If using external SLS or DRO, provide appropriate configuration files
Tip
- Use
--skip-pre-checkonly if you're confident about the cluster state - Keep
--no-clean-backupdisabled unless troubleshooting to save storage space - When changing domains or URLs, ensure DNS and network configurations are updated accordingly