Diagram generation: ref-arch-driven procedure + spec validator + KB enrichment

The diagram path now follows a documented standard procedure (lookup
the closest Oracle Architecture Center reference → confirm components
→ author absolute_layout → spec validator → render → visually verify)
and ships persistent guardrails so layout regressions can't recur.

Persistent procedure changes (apply to all users, all sessions):
- tools/diagram_spec_validator.py — geometry checks (CONTAINER_TOO_THIN,
  CONTAINER_PADDING_VIOLATION, LABEL_OVERFLOW_PARENT) run BEFORE either
  renderer (drawio + PPTX). Catches the subnet-collapse / label-overflow
  bugs that the post-render drawio validator missed.
- tools/oci_diagram_gen.py + tools/oci_pptx_diagram_gen.py — call the
  spec validator before emitting any output. Adds mysql / mysql_heatwave
  type aliases.
- tools/archcenter_pattern_lookup.py — scores against cached page
  descriptions (not just the 1-line summary), supports --queries for
  multi-fragment composition, and applies synonym expansion via
  kb/architecture-center/synonyms.yaml so "LB HA cross AD" matches
  "load balancer high availability availability domain".
- kb/architecture-center/synonyms.yaml — canonical synonym table
  (load balancer, autonomous database, data guard, …) used by the
  lookup scorer.

KB enrichment:
- tools/archcenter_description_fetcher.py + 121 cached _description.md
  under kb/diagram/assets/archcenter-refs/<slug>/. Removes the runtime
  dependency on docs.oracle.com when authoring specs and feeds the
  pattern-lookup scorer.
- 110+ cached .drawio / .svg / .png references for offline reuse,
  plus the OCI Toolkit v24.2 import (kb/diagram/assets/oci-toolkit-drawio).

Documentation:
- docs/skill/output-formats.md — new "Standard diagram-generation
  procedure (MANDATORY)" + geometry rules + the new validator entry.
- SKILL.md option 2 — references the mandatory procedure.
- README.md — describes the spec validator, archcenter_pattern_lookup
  and description fetcher, and updates the KB-health table.

Tooling that backs the procedure (cumulative across recent sessions):
tools/archcenter_case_runner.py, archcenter_batch_driver.py,
archcenter_zip_downloader.py, drawio_visual_validator.py,
drawio_fidelity_eval.py, harvest_drawio_icon.py, import_oci_library.py,
oci_pptx_diagram_gen.py, oci_pptx_render.py, refresh_pptx_icon_index.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
root
2026-04-25 21:15:21 -03:00
parent 2491c38d4b
commit b30a4f0d32
635 changed files with 365317 additions and 1014 deletions

View File

@@ -0,0 +1,324 @@
# Deploy a VMware vSAN Stretched Cluster across OCI Regions with Oracle Cloud VMware Solution
- Source: https://docs.oracle.com/en/solutions/ocvs-vsan-stretched-cluster/index.html
- Date: 2025-07
- Type: reference-architecture
- Services: ocvs
- Tags: vmware, ha-dr
## Summary (catalog)
vSAN Stretched Cluster across OCI regions for VMware HA/DR. Synchronous storage replication between sites, automatic VM restart on site failure. Witness host in third location.
## Architecture (fetched from source)
Architecture
This architecture shows how you can deploy custom VMware vSAN stretched
clusters across multiple OCI regions.
The high-level topology consists of:
- Primary Site : Oracle Cloud VMware Solution SDDC deployed in OCI Dedicated Region A.
- Secondary Site : Oracle Cloud VMware Solution SDDC deployed in OCI Dedicated Region B.
- Witness Site : A regionally separate location for deploying the
VMware vSAN Witness Appliance.
Communication across these sites is established through OCIs private
backbone and OCI FastConnect , both of which are mandatory to meet the low-latency and high-bandwidth requirements
of a stable VMware vSAN stretched cluster.
Note:
IPSec VPN is not supported for this configuration.
The following diagram illustrates this architecture.
Description of the illustration ocvs-vsan-stretched-cluster.png
ocvs-vsan-stretched-cluster-oracle.zip
The following sections outline the key technical considerations that
influence a successful deployment of a VMware vSAN stretched cluster in Oracle Cloud VMware Solution across OCI Dedicated Region s.
Networking Considerations
A key enabler of this architecture is the robust OCI backbone network
that interconnects OCI Dedicated Region s within a customer tenancy. This backbone ensures the high-speed, low-latency
communication necessary for VMware vSAN replication traffic and heartbeat signaling
between sites.
Key factors to plan for:
- Establish Remote Peering Connections (RPCs) between the VCNs in
OCI Dedicated Region A and OCI Dedicated Region B using Dynamic Routing Gateways (DRGs) . This enables full mesh
connectivity across all VMware ESXi hosts.
- Use OCI FastConnect (not IPSec VPN) to connect both OCI Dedicated Region s to the public OCI region hosting the Witness. This ensures consistent
low-latency and reliable throughput to support witness communication.
- Reference documentation: Remote Peering , Managing DRGs , OCI FastConnect
Compute and Storage Considerations
Infrastructure planning across all three regions involves several
decisions:
- Region Selection
- Choose two OCI Dedicated Region s with < 5 ms RTT latency between them.
- Select a public OCI region with < 200 ms RTT latency
to both OCI Dedicated Region s for Witness deployment.
- Shape Selection
- Use Dense Bare Metal shapes (e.g., BM.DenseIO.E5.128)
with local NVMe storage for VMware vSAN.
- Avoid Standard shapes that use Block Volumes, as they are
not suitable for stretched vSAN deployments.
- Minimum Host Requirements
- Primary Region : Minimum three Dense Bare Metal hosts
- Secondary Region : Minimum three Dense Bare Metal
hosts
- Witness Region : One Bare Metal host
- Witness Appliance Guidelines
- Follow vSAN Witness Design
guidance .
- Always refer to the official documentation from Broadcom to get
the latest updates as the requirements could change. Below are some
references:
- Stretched cluster
considerations in VCF 5.1.2
- Minimum host count
for vSAN stretched clusters
Stretched Cluster Requirements
- RTT latency < 5 ms between Primary and Secondary Regions
- RTT latency < 200 ms between either site and the Witness node
- All hosts (including Witness) must belong to the same VMware vSAN
cluster
- Host hardware and configuration must be identical across regions
- Witness must reside in a third, separate location
Operational Considerations
Customers are responsible for completing Day 2 operations manually. Key
notes:
- Oracle Cloud VMware Solution environments are deployed separately in each OCI Dedicated Region . The secondary sites VMware vCenter and VMware NSX Manager must be manually
detached and integrated with the primary cluster.
- Manual failover and route updates are required in case of a site
failure.
- VMware NSX Tier-0 Gateway is active only in one site, implying an
active-passive model for North-South traffic routing.
Design Overview
Building on the previous sections that covered architecture and requirements
for a stretched vSAN configuration with Oracle Cloud VMware Solution , this section explains how to implement a highly available design capable of withstanding
the failure of an OCI Dedicated Region .
This design uses two VCNs per site , resulting in a total of four VCNs :
OCI Dedicated Region A
- VCN Primary with two CIDR blocks; for example,
10.16.0.0/16 as the primary and 172.45.0.0/16
as the secondary CIDR (added after VCN creation). The secondary CIDR is required
only for the initial SDDC deployment.
Since an Oracle Cloud VMware Solution SDDC cannot span multiple VCNs, a secondary CIDR block
( 172.45.0.0/16 ) is attached to the Primary VCN within OCI Dedicated Region A. This enables VLAN definitions for management and services subnets while
keeping them logically grouped within a single VCN.
- VCN MGMT Active , using the same CIDR block as
the secondary CIDR attached to VCN Primary; i.e.,
172.45.0.0/16 .
OCI Dedicated Region B
- VCN Secondary with a CIDR block distinct from
and non-overlapping with VCN Primary ; for example,
10.17.0.0/16 .
- VCN MGMT Failover , using the same CIDR block as
VCN MGMT Active ; i.e., 172.45.0.0/16 .
Oracle Cloud VMware Solution provides flexibility in network provisioning. During SDDC creation, users can
either:
- Specify a CIDR block and allow Oracle Cloud VMware Solution automation to create required networking components, or
- Manually create VCNs, subnets, VLANs, route tables, and NSGs beforehand, then select
these existing resources during deployment.
For this stretched vSAN design, the latter approach is necessary. Precise
control over network segmentation across multiple VCNs and regions requires pre-creation
of route tables, NSGs, and VLANs. This separation supports clear responsibilities
between VCNs and enables seamless failover behavior.
A critical aspect is that the management subnet
( 172.45.0.0/16 ) must be accessible in both OCI Dedicated Region s. To support failover, the design allows this VCN MGMT network to “float” between the
two sites via manual network updates during failover events, such as modifying route
tables and re-advertising the subnet through DRG attachments.
DNS resolution is vital for failover and service availability. Therefore, a dedicated
services subnet will be created in each VCN to host DNS and supporting
infrastructure.
For VLAN tagging simplicity:
- VLAN tags in the 100 range are region-specific , confined to their
respective sites.
- VLAN tags in the 200 range are associated with the
172.45.0.0/16 subnet and will float between sites .
With the high-level design defined, we now step into the practical configuration of each
site, starting with the Primary region.
Title and Copyright Information
Deploy a VMware vSAN Stretched Cluster across OCI Regions with Oracle Cloud VMware Solution
G36844-01
July 2025
Copyright © 2025,
Oracle and/or its affiliates.