https://github.com/ericcames/aiops-workshop-prep
Automates setup of the ansible-tmm/aiops-summitlab AIOps workshop so demos run without manual steps
https://github.com/ericcames/aiops-workshop-prep
Last synced: about 1 month ago
JSON representation
Automates setup of the ansible-tmm/aiops-summitlab AIOps workshop so demos run without manual steps
- Host: GitHub
- URL: https://github.com/ericcames/aiops-workshop-prep
- Owner: ericcames
- License: mit
- Created: 2026-04-27T20:19:58.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-27T20:44:52.000Z (2 months ago)
- Last Synced: 2026-04-27T22:23:03.829Z (2 months ago)
- Size: 43.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# aiops-workshop-prep
Automates the setup of the [ansible-tmm/aiops-summitlab](https://github.com/ansible-tmm/aiops-summitlab) AIOps workshop so each demo section is ready to run without manual steps.
## Getting Started
**Step 1 — Order the RHDP catalog item:**

> **Introduction to AI-Driven Ansible Automation: Self-healing, Observability-Driven AIOps**
> (provided by RHDP)
**Step 2 — Clone this repo and open it in Claude Code:**
```bash
git clone https://github.com/ericcames/aiops-workshop-prep.git
cd aiops-workshop-prep
claude .
```
**Step 3 — Run setup:**
```
/aiops-setup
```
Claude will ask for your RHDP credentials, create `docs/dev-environment.md`, and run all three phase setup playbooks in sequence.
See [Prerequisites](#prerequisites) for manual setup without Claude Code.
## Upstream Dependency
This repo targets a running instance of the upstream lab. The upstream repo must be deployed to your RHDP environment before running anything here.
| | |
|---|---|
| **Upstream repo** | https://github.com/ansible-tmm/aiops-summitlab |
| **Description** | Summit 2025 AIOps Lab — source of all job templates, rulebooks, and playbooks |
## Workshop Module Map
| Showroom Section | Demo trigger | What happens |
|-----------------|-------------|--------------|
| Part 1: AIOps with Apache Remediation | Run "❌ Break Apache" in AAP | EDA Web App rulebook → AI Insights workflow → Lightspeed remediation → auto-fix |
| Part 2: AIOps with Network Automation | SSH cisco-rtr1, `shut tunnel0` | Syslog → Splunk ospf-neighbor alert → EDA OSPF Neighbor rulebook → Network-AIOps-Workflow |
| Part 3: AIOps with Windows Automation | Launch "Simulate AD Account Creation" or "Simulate Windows Firewall Toggle" | Windows Events EDA rulebook → Mattermost ticket or AI-enriched ticket |
> **Part 2 note:** `/aiops-setup` will ask for a Splunk API token during credential collection (Splunk UI → Settings → Tokens → New Token). This is the only step that requires a manual UI action. Automation is tracked in [issue #1](https://github.com/ericcames/aiops-workshop-prep/issues/1).
## Prerequisites
- RHDP AIOps workshop environment provisioned (see [RHDP Catalog Item](#rhdp-catalog-item) above)
- Ansible installed locally
- Collections installed (requires Automation Hub token in `~/.ansible/ansible.cfg`):
```bash
ANSIBLE_CONFIG=~/.ansible/ansible.cfg \
ansible-galaxy collection install -r collections/requirements.yml -p ./collections
```
- Credentials populated in `docs/dev-environment.md` (gitignored — never commit):
```bash
cp docs/dev-environment.md.example docs/dev-environment.md
# edit docs/dev-environment.md with your RHDP instance values
```
See [docs/troubleshooting.md](docs/troubleshooting.md) if anything fails.
## Environment Variables
Set these before running any playbook:
```bash
# AAP
export CONTROLLER_HOST=
export CONTROLLER_USERNAME=admin
export CONTROLLER_PASSWORD=
# Splunk (Phase 2)
export SPLUNK_HOST=
export SPLUNK_USERNAME=admin
export SPLUNK_PASSWORD=
# EDA webhook (Phase 2)
export EDA_WEBHOOK_URL=
# Bastion SSH — required to reach cisco-rtr1 for Phase 2 reset
export BASTION_HOST=
export BASTION_PORT=
export BASTION_USER=lab-user
export BASTION_PASSWORD=
```
## Usage
Each phase corresponds to a section of the workshop. Run setup before the demo, reset between customer sessions.
```bash
# Validate the upstream lab is deployed correctly
ansible-playbook -i inventories/rhdp-/ playbooks/preflight.yml
# Set up each section
ansible-playbook -i inventories/rhdp-/ playbooks/setup_phase1_apache.yml
ansible-playbook -i inventories/rhdp-/ playbooks/setup_phase2_network.yml
ansible-playbook -i inventories/rhdp-/ playbooks/setup_phase3_windows.yml
# Reset between sessions
ansible-playbook -i inventories/rhdp-/ playbooks/reset_phase1_apache.yml
ansible-playbook -i inventories/rhdp-/ playbooks/reset_phase2_network.yml
ansible-playbook -i inventories/rhdp-/ playbooks/reset_phase3_windows.yml
```
## Inventory Setup
Copy the sample inventory for each new RHDP environment and set the environment variables above:
```bash
cp -r inventories/rhdp-sample/ inventories/rhdp-/
```
## Phases
| Phase | Showroom Section | Status | What it automates |
|---|---|---|---|
| Phase 1 | Part 1: AIOps with Apache Remediation | ✅ Tested | Builds AI Insights and Remediation workflows |
| Phase 2 | Part 2: AIOps with Network Automation | ✅ Tested | Splunk TCP input, Network Router Setup job, Splunk alert → EDA webhook |
| Phase 3 | Part 3: AIOps with Windows Automation | ✅ Tested | Verifies Windows job templates and EDA activation |
## Claude Code Skills
If you're using [Claude Code](https://claude.ai/code), three slash commands are available that read credentials automatically from `docs/dev-environment.md`:
| Command | What it does |
|---------|-------------|
| `/aiops-preflight` | Validates the environment is ready before a demo |
| `/aiops-setup` | Runs preflight + all three phase setup playbooks in sequence |
| `/aiops-reset` | Resets all three phases to known-good state |
No manual `export` of environment variables needed — each command reads `docs/dev-environment.md` directly.
## License
MIT — see [LICENSE](LICENSE)