This repository contains automation and runbooks for Cisco AI Pods infrastructure across Intersight, storage, OpenShift, and observability workflows.
The repository provides centralized Ansible-based automation for complete Cisco AI Pods infrastructure deployment across:
- Intersight and UCS - Policy provisioning, resource pool management, and server profile deployment
- Everpure Storage - FlashArray and FlashBlade configuration with Portworx CSI integration
- Red Hat OpenShift - Cluster installation, authentication, certificates, GitOps, and ArgoCD
- Splunk Observability - Full-stack visibility and monitoring integration
All workflows use centralized playbooks in playbooks/ with tag-based conditional execution and variable auto-loading from host_vars/.
All workflows execute through centralized Ansible playbooks from the repository root:
-
Full Stack Deployment (
playbooks/deploy_ai_pod.yml)- Orchestrates all domains in deployment order
- Automatically loads variables from
host_vars/subdirectories - Supports
--tagsfor selective execution
-
Intersight and UCS (
playbooks/deploy_ai_pod.yml --tags intersight)- Guide: docs/intersight.md
- Includes policy, pool, and profile provisioning
-
Everpure Storage and Portworx (
playbooks/deploy_ai_pod.yml --tags everpure,portworx)- Guide: docs/everpure.md
- Role details: roles/everpure/README.md
- Role details: roles/portworx_csi/README.md
-
OpenShift Platform (
playbooks/deploy_openshift.ymlorplaybooks/deploy_ai_pod.yml --tags openshift)- Guide: docs/openshift.md
- Includes authentication, certificates, GitOps, and ArgoCD
-
Splunk Observability (
playbooks/deploy_ai_pod.yml --tags observability)- Guide: docs/splunk_observability.md
- Role details: roles/splunk_observability/README.md
- Full-stack monitoring and observability integration
Top-level structure:
Cisco-AI-Pods/
docs/ # All documentation
intersight.md
openshift.md
everpure.md
splunk_observability.md
guide_cisco_ai_pods_runbook.md
guide_prepare_the_environment.md
guide_troubleshooting.md
playbooks/ # Centralized Ansible playbooks
deploy_ai_pod.yml # Full stack orchestration
deploy_openshift.yml # OpenShift only
deploy_storage.yml # Storage/Portworx only
deploy_intersight_ucs.yml # Intersight only
deploy_observability.yml # Splunk Observability only
roles/ # Ansible roles
intersight_*/
openshift_*/
everpure/
portworx_csi/
splunk_observability/
host_vars/ # Environment variables (auto-loaded)
everpure/
intersight/
openshift/
splunk_observability/
examples/ # Example variable templates
schema/ # YAML schema for validation
requirements.txt # Python dependencies
requirements.yaml # Ansible collection dependencies
All documentation is in the docs/ folder:
- Start here: docs/guide_prepare_the_environment.md — Install dependencies and prepare your environment
- Main runbook: docs/guide_cisco_ai_pods_runbook.md — Complete deployment workflow and playbook usage
- Troubleshooting: docs/guide_troubleshooting.md — Cross-component triage and solutions
- Domain-specific guides:
- docs/intersight.md — Intersight/UCS provisioning
- docs/openshift.md — OpenShift deployment
- docs/everpure.md — Storage configuration
- docs/splunk_observability.md — Observability integration
Prepare tools and dependencies first:
- Follow docs/guide_prepare_the_environment.md.
- Install Python dependencies:
pip install -r requirements.txt
- Install Ansible collections:
ansible-galaxy collection install -r requirements.yaml
# Install dependencies
pip install -r requirements.txt
ansible-galaxy collection install -r requirements.yaml
# Copy example variables to host_vars/ and customize for your environment
mkdir -p host_vars
cp -r examples/intersight host_vars/
cp -r examples/openshift host_vars/
cp -r examples/everpure host_vars/
cp -r examples/splunk_observability host_vars/ansible-playbook playbooks/deploy_ai_pod.ymlIntersight and UCS only:
ansible-playbook playbooks/deploy_ai_pod.yml --tags intersightStorage and Portworx only:
ansible-playbook playbooks/deploy_ai_pod.yml --tags everpure,portworxOpenShift only:
ansible-playbook playbooks/deploy_openshift.ymlSplunk Observability only:
ansible-playbook playbooks/deploy_ai_pod.yml --tags observabilityFor detailed procedures, see docs/guide_cisco_ai_pods_runbook.md.
Run playbook in dry-run mode (check mode):
ansible-playbook playbooks/deploy_ai_pod.yml --checkRun with verbose output for debugging:
ansible-playbook playbooks/deploy_ai_pod.yml -vvvList all available tags:
ansible-playbook playbooks/deploy_ai_pod.yml --list-tagsRun a specific role or tag:
ansible-playbook playbooks/deploy_ai_pod.yml --tags certificates- Cross-component triage: docs/guide_troubleshooting.md
- Domain-specific issues:
- Intersight: docs/intersight.md
- OpenShift: docs/openshift.md
- Storage: docs/everpure.md
- Observability: docs/splunk_observability.md
- Keep
host_vars/configurations and documentation synchronized as environments evolve - Variables are auto-loaded from
host_vars/subdirectories at runtime — no manual file copying needed
The repository uses a centralized Ansible architecture:
- Playbooks (
playbooks/deploy_*.yml) — Orchestrate roles in dependency order - Roles (
roles/*/) — Task implementations for each domain - Variables (
host_vars/<domain>/) — Environment-specific configuration auto-loaded at runtime - Tags — Control which roles execute via
--tagsflag - Examples (
examples/) — Template variable files for reference - Schema (
schema/) — YAML validation for configuration files
For detailed architecture information, see docs/guide_cisco_ai_pods_runbook.md.
For issues, feature requests, or contributions, please use the GitHub repository issue tracker.
For detailed deployment procedures, consult the documentation in docs/.