Files
vmware-api-simulator/docs/seed-profiles.md
T

64 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**Language / Язык:** [English](seed-profiles.md) | [Русский](ru/seed-profiles.md)
# Seed profiles
Seeds replace the vSphere inventory **atomically** using deterministic MOIDs
so labs are reproducible. Definitions live in
[`app/vsphere/profiles.py`](../app/vsphere/profiles.py).
```bash
make seed # default: large (10 hosts / 1000 VMs)
VSPHERE_PROFILE=small make seed
VSPHERE_PROFILE=big make seed
```
## Profiles
| Profile | Hosts | VMs | Datastores | Networks | Folders† | Content extras |
|---|---:|---:|---:|---:|---:|---:|
| `minimal` | 3 | 5 | 1 | 1 | 8 | ×1 |
| `small` | 3 | 50 | 2 | 2 | 8 | ×1 |
| `large` (default) | 10 | 1000 | 4 | 4 | 10 | ×2 |
| `big` | 20 | 2000 | 8 | 8 | 14 | ×4 |
† Spine folders (8) plus scaled team folders for larger tiers.
`demo-cluster` remains an alias of `big`. Reset / unload loads `minimal`.
## Examples
```bash
make seed # large, 10 hosts / 1000 VMs
VSPHERE_PROFILE=small make seed
VSPHERE_PROFILE=big make seed
VSPHERE_PROFILE=large VSPHERE_HOSTS=20 VSPHERE_VMS=5000 make seed
# 100% seed ↔ live inventory dump
VSPHERE_PROFILE=big make vsphere-seed-dump
```
Or run the seed CLI directly with the underlying environment variables (for
example from a non-`make` script or CI step):
```bash
SEED_VSPHERE_PROFILE=small \
docker compose run --rm --entrypoint python simulator -m app.simulation.seed_cli
```
## Topology shape
Every profile builds the same spine (`Datacenters``Datacenter` → host/vm/
datastore/network folders → one `ClusterComputeResource` + `ResourcePool`),
then scales hosts, datastores, port groups, and VMs. VM MOIDs are `vm-{100+n}`;
host MOIDs are `host-{10+n}`.
## Web UI
The **DATA** panel exposes three load buttons matching these tiers. Each call
is `POST /ui/api/vsphere/seed?profile=small|large|big` (atomic reseed).
Legacy endpoints:
- `POST /ui/api/demo/load``big`
- `POST /ui/api/demo/unload``small`