64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
**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`
|