domino_admin_toolkit.checks.test_backup_cronjobs module

Description:

Domino runs a regular backup of some of it’s core services on a cron schedule These are important to recover from certain issues in a DR situation.

pydantic model domino_admin_toolkit.checks.test_backup_cronjobs.BackupCronjobAnalyzer

Bases: AnalyzerBase

Fields:

analyze(data)

Analyzes the provided data and returns a list of CheckResult instances.

Return type:

list[CheckResult]

Args:

data (Dict[str, Any]): The data to be analyzed. The structure depends on the analyzer’s implementation.

Returns:

List[CheckResult]: A list containing the results of the analysis.

Raises:

NotImplementedError: If this method is not implemented by subclasses.

name: ClassVar[str] = 'BackupCronjobAnalyzer'
domino_admin_toolkit.checks.test_backup_cronjobs.backup_cronjob_data(platform_namespace, domino_version, k8s_client)

Collect backup cronjob data - finds last successful backup for each cronjob

domino_admin_toolkit.checks.test_backup_cronjobs.test_backup_cronjob_status(request)

Description: Validates that backup cronjobs have completed successfully within the last 24 hours. This check verifies the time since the last successful backup rather than checking for failed jobs, as failed backup pods can remain forever due to how K8s cron jobs work.

Failure Conditions:
  • Last successful backup was more than 24 hours ago

  • No successful backups found for any backup cronjob

  • No backup cronjobs found in deployment

Success Conditions:
  • At least one successful backup completed within the last 24 hours for each backup cronjob

Troubleshooting Steps:
  1. Check cronjob status via kubectl get cronjobs -n <platform-namespace>

  2. Review job logs via kubectl logs -n <platform-namespace> <job-name>

  3. Verify backup storage availability and permissions

  4. Check if backup jobs are running on schedule

Resolution Steps:
  1. Manually trigger backup job via kubectl create job –from=cronjob/<cronjob-name>

  2. Check backup storage configuration in Domino platform

  3. Verify RBAC permissions for backup service account

  4. Review cronjob schedule configuration

Required Permissions: Platform admin access to view jobs and cronjobs, backup storage admin

Note: Failed backup pods are excluded from pod health checks and handled by this backup-specific check.