diff --git a/docs/src/development/proposals/MEP12/README.md b/docs/src/development/proposals/MEP12/README.md index 2ff05fb823..ccb0a5f977 100644 --- a/docs/src/development/proposals/MEP12/README.md +++ b/docs/src/development/proposals/MEP12/README.md @@ -8,7 +8,11 @@ So, instead of just randomly deciding the placement of a machine candidate, we w ## Placement Strategy -Machines in the project are spread across all available racks evenly (best effort), the user can optionally pass placement tags which will be considered for spreading the machines as well (this will for example allow spreading by a cluster id tag inside the same project). +Machines in the project are spread across all available racks evenly within a partition (best effort). For this, an additional request to the datastore has to be made in order to find allocated machines within the project in the partition. + +The algorithm will then figure out the least occupied racks and elect a machine candidate randomly from those racks. + +The user can optionally pass placement tags which will be considered for spreading the machines as well (this will for example allow spreading by a cluster id tag inside the same project). ## API @@ -17,6 +21,6 @@ Machines in the project are spread across all available racks evenly (best effor type MachineAllocation struct { // existing fields are omitted for readability - PlacementTags []string `json:"tags" description:"by default machines are spread across the racks inside a partition for every project. if placement tags are provided, the machine candidate has an additional anti-affinity to other machines having the same tags"` + PlacementTags []string `json:"placement_tags" description:"by default machines are spread across the racks inside a partition for every project. if placement tags are provided, the machine candidate has an additional anti-affinity to other machines having the same tags"` } ``` diff --git a/docs/src/development/proposals/index.md b/docs/src/development/proposals/index.md index eff82ba58a..41a5bc2429 100644 --- a/docs/src/development/proposals/index.md +++ b/docs/src/development/proposals/index.md @@ -22,11 +22,11 @@ Once a proposal was accepted, an issue should be raised and the implementation s | [MEP-1](MEP1/README.md) | Distributed Control Plane Deployment | `In Discussion` | | [MEP-2](MEP2/README.md) | Two Factor Authentication | `Aborted` | | [MEP-3](MEP3/README.md) | Machine Re-Installation to preserve local data | `Completed` | -| [MEP-4](MEP4/README.md) | Multi-tenancy for the metal-api | `Accepted` | +| [MEP-4](MEP4/README.md) | Multi-tenancy for the metal-api | `In Discussion` | | [MEP-5](MEP5/README.md) | Shared Networks | `Completed` | | [MEP-6](MEP6/README.md) | DMZ Networks | `Completed` | | [MEP-8](MEP8/README.md) | Configurable Filesystemlayout | `Completed` | | [MEP-9](MEP9/README.md) | No Open Ports To the Data Center | `Completed` | | [MEP-10](MEP10/README.md) | SONiC Support | `Completed` | | [MEP-11](MEP11/README.md) | Auditing of metal-stack resources | `Completed` | -| [MEP-12](MEP12/README.md) | Rack Spreading | `In Discussion` | +| [MEP-12](MEP12/README.md) | Rack Spreading | `Completed` |