No description
Find a file
2026-07-13 13:25:09 +01:00
.claude phase-sync: replace pages-server with plain-HTTP nginx+git-sync (edge forwards port 80 only) 2026-07-10 16:06:51 +01:00
docs phase-sync: tracker head bump — RHSI+UWM live 2026-07-13 13:25:09 +01:00
gitops interconnect: RHSI/Skupper v2 private service plane for the KEDA metric path 2026-07-13 13:16:15 +01:00
images burst: B4 — firstboot schedules a delayed LIM re-kick on remote clones (identity-cache race) 2026-07-12 12:09:43 +01:00
infra interconnect: document the RHSI/Skupper service plane in infra/interconnect 2026-07-13 13:16:21 +01:00
poc Add CE burst PoC, v0.2 review pass, and eval Advanced Edition status 2026-07-09 18:24:05 +01:00
scripts interconnect: RHSI/Skupper v2 private service plane for the KEDA metric path 2026-07-13 13:16:15 +01:00
symphony/config phase2: bake workload-execution fixes — .\egoadmin exec user (mixed-cluster form), local egoadmin account in firstboot, EGO hosts-file + no-cache params in config fragments 2026-07-10 21:44:34 +01:00
.gitignore burst: commit master-side WireGuard bake backports (wg-setup.sh cloud-init + create-secrets WG_HUB_* tokens) — B3, left uncommitted by the interrupted wg-hub agent 2026-07-11 07:42:17 +01:00
CLAUDE.md phase0: add live tracker (docs/tracker.html) + artifact update protocol 2026-07-09 19:21:31 +01:00
README.md phase0: scaffold deployable GitOps solution + deployment plan + agents 2026-07-09 18:41:32 +01:00

symphonygrid

Reference architecture for running an IBM Spectrum Symphony compute grid with Windows workloads on ROSA + OpenShift Virtualization, with burst capacity into IBM Cloud (ROKS + OpenShift Virtualization).

Documents

  • docs/reference-architecture.md — the reference architecture: topology, platform requirements, Symphony port/WAN configuration, licensing, burst mechanics, build plan, risk register.
  • docs/deployment-plan.md — the executable plan: locked decisions D1D8, phases 05 with exit criteria, execution model.
  • docs/phase-log.md — running record of phase executions and measurements.
  • docs/research/verified-findings.md — raw research log: every load-bearing claim with source URLs, verbatim evidence, and adversarial-verification votes (research date 2026-07-08/09).
  • poc/ — runnable $0 PoC: CE cross-cluster burst across two OpenShift clusters (containers on cluster A; burst as hostNetwork pods AND as Linux VMs-running-CE-containers on cluster B), with the real containerized port matrix (base 17869, SSM 2100021007), join-wrapper, runbook, and exit criteria mirroring Phase 3.

Solution tree (deployable)

  • infra/ — Terraform: aws/ (ROSA HCP + metal pool, Phase 1), ibm/ (ROKS, Phase 3), interconnect/ (IPsec VPN, Phase 3)
  • gitops/ — Argo CD app-of-apps per cluster; operators (OCP Virt, Pipelines), UDN, Symphony mgmt VMs, Windows VirtualMachinePool, installer-repo, image-pipeline, KEDA (Phase 4)
  • images/ — Windows golden image workflow (WS2019 + Symphony baked, sysprep-cloned; see images/windows/README.md) and Linux mgmt cloud-init
  • symphony/config/ — EGO/SOAM fragments encoding the WAN/port invariants
  • scripts/ — phase0 checks, GitOps bootstrap, secret rendering (nothing sensitive in git), installer upload
  • .claude/agents/ — infra, gitops, windows-image, symphony-admin agents; CLAUDE.md has the rules

Start here: docs/deployment-plan.md → Phase 0 → scripts/phase0-checks.sh.

TL;DR

  • Feasible today. OCP Virt is GA on ROSA (Classic + HCP, x86 bare-metal machine pools) and supported on ROKS (VPC bare-metal workers, RHCOS, OVN CNI, 4.20+ manual install).
  • Windows Server 2016/2019 (2022 w/ Fix 601711) are supported Symphony hosts; containerized Symphony is a dead end (archived, Linux-only) — run Symphony traditionally inside VMs. (MapReduce is unsupported on Windows hosts.)
  • Licensing gate: Symphony Advanced Edition BYOL is required for production. The free Community Edition cannot run this design — Linux-only Docker image (no Windows binaries), 64-core/cluster cap (burst hosts count), no support. In hand (2026-07-09): the Advanced Edition Evaluation — Windows + Linux 7.3.2.0 installers and an entitlement (sym_advanced_edition 7.3.2, valid to 2026-12-31) from IBM's eval portal, stored in installers/ (gitignored) — so the full PoC incl. Windows hosts and real Host Factory runs at $0 before procurement.
  • AWS side licensing: Windows License Included for OCP Virt on ROSA (GA 2026-03, per-vCPU, d1 instance types for compliance). IBM side: BYOL only (IBM Cloud is an Authorized Outsourcer — favorable, but get Microsoft sign-off).
  • ROKS VMs get VPC-routable IPs via VNI + OVN localnet UDN — the enabler for burst hosts reaching AWS-side masters. Caveats (re-verified 2026-07-09): VNI is allowlist-gated GA, IBM docs conflict on 4.20 vs 4.21 (plan 4.21), and cross-Transit-Gateway reachability is inferred, not documented — validate in the manual burst proof. ROSA VMs cannot do the equivalent (Red Hat documents the underlay as unsupported); masters need NLB exposure or native-EC2 placement.
  • The build gap: no Host Factory provider targets OpenShift Virtualization VMs (and no built-in path provisions Windows dynamically on IBM Cloud) — a custom KubeVirt provider on the documented 5-script interface is required. Prior art: FINOS open-resource-broker, google/symphony-gcp. (KEDA was evaluated for VM scaling and rejected: it can drive a VirtualMachinePool via /scale, but its scale-in is not grid-aware — Host Factory's requestReturnMachines drains gracefully.)
  • Burst economics on ROKS: bare-metal pool is semi-static (monthly-ish billing, slow node join); the burst unit is the VM (minutes, ~free on paid metal). Watch cross-cloud egress: per-task payloads billed out of AWS and metered on Direct Link can exceed burst compute cost — the multicluster fallback keeps data local.