Active

AI Generated

Backup Result Routing

Partial is neither pass nor fail


Description

Backup jobs often return outcomes that binary workflows mishandle. Switch on backup_result — partial success is neither pass nor fail.

Why it matters

  • Partial backup success gets its own path — neither celebrated as success nor treated as total failure.
  • Operators get retry, escalate, or log actions matched to backup_result, not binary job status.
  • Reduces false all-clear pages when only half the targets backed up.

AO building blocks

Automation orchestrator step types this workflow uses on the canvas. See all building blocks

Interactive Experience

Coming soon

Workflow

flowchart LR
  A@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/manual-trigger.png", label: "Schedule or Event", pos: "b", h: 96, constraint: "on" } --> B@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Check Backup Result", pos: "b", h: 96, constraint: "on" }
  B --> C@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/switch-node.png", label: "backup_result", pos: "b", h: 96, constraint: "on" }
  C -->|success| D@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Verify Backup", pos: "b", h: 96, constraint: "on" }
  C -->|partial| E@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Retry Partial", pos: "b", h: 96, constraint: "on" }
  C -->|failed| F@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Escalate", pos: "b", h: 96, constraint: "on" }
  C -->|skipped| G@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Log Skipped", pos: "b", h: 96, constraint: "on" }
  D --> H@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Notify Chatroom", pos: "b", h: 96, constraint: "on" }
  E --> H
  F --> H
  G --> H
  classDef noBorder fill:transparent,stroke:transparent
  class A,B,C,D,E,F,G,H noBorder

Switch routing

backup_result Action
success Verify restore point log OK
partial Retry failed targets notify ops
failed Escalate open incident
skipped Log reason check schedule

Playbooks

Playbook What it does Runs on
check_backup.yml Reads backup status file and publishes backup_result artifact for the AO switch. RHEL node
verify_backup.yml Verifies a successful backup by checking file integrity and size. RHEL node
retry_backup.yml Retries partial backup targeting failed items. RHEL node
escalate_backup.yml Gathers log tail and creates escalation summary for failed backups. RHEL node
log_skipped.yml Checks cron/timer schedules and logs skip reason. RHEL node
notify_chatroom.yml Posts backup results to Mattermost. localhost (Mattermost API)

AI Generated

This demo's playbooks and workflow were generated by AI to illustrate the pattern. They have not been fully tested in a live environment. Review and adapt before using in production.