Skip to content

ScaleOutSimulator for SimulatorStrategyMultiNodeSingleSim#153

Closed
elankath wants to merge 37 commits intogardener:mainfrom
unmarshall:mnss
Closed

ScaleOutSimulator for SimulatorStrategyMultiNodeSingleSim#153
elankath wants to merge 37 commits intogardener:mainfrom
unmarshall:mnss

Conversation

@elankath
Copy link
Copy Markdown
Member

@elankath elankath commented Mar 1, 2026

What this PR does / why we need it:

Which issue(s) this PR fixes:
Fixes #85

Special notes for your reviewer:

Release note:

ScaleOutSimulator for SimulatorStrategyMultiNodeSingleSim

unmarshall and others added 30 commits February 4, 2026 11:48
* Renamed planner service binary from scalp to splanner.
* Renamed samples/types.go SimplePodMetadata to SimplePodGenInput.
* Added PCVNames and SchedulerName to SimplePodGenInput.
* Added templates for PVC and PV in samples/data.
* Created utility functions to generate simple PVCs.
* introduced VolumeClaimAssignment representing PV<->PVC in planner API
* introduced StorageMetaAccess to query CSI storage meta-info in planner API
* introduced Planner util: BindClaimsAndVolumes, BindClaimAndVolume, IsPVBindCandidate
* planner request view is now popualated with SC's, PVC's and PV's
* introduced viewutil.GetStorageClassesClaimsAndVolumes
* introduced viewutil.ListStorageClassesClaimsAndVolumes
* run Simulation now invokes new createCSINode method before launching scheduler.
* run Simulation now performs util.BindClaimsAndVolumes before launching scheduler.
* introduced samples.GenFillStorageAndVolumeObjects
* introduced samples.CSIDefaults for holding CSI defaults.
* introduced samples.StorageVolGenInput as common input gen obj for SC's,PV's,PVC's
* introduced samples.GetCSINodeDrivers, samples.GetCSIDefaults
* introduced TestBasicOnePoolScaleOutWithBoundPVC, TestBasicOnePoolScaleOutWithUnboundPVC
* introduced TestGeneratePVCs
* using Factory interfaces in planner instead of functions, impls don't depend on other impls.
* introduced Factories struct in planner API that encapsulates all factory facades
* methods added to ScalingConstraintSpec to get zones, NodePlacements
* ViewFactory moved to api/minkapi
* rename pkg weights->weigher
* scale-out Result types prefixed with ScaleOut
* sentinel errors for view pop and volume binding in planner API
* moved ScaleOut types to scaleout_types.go in planner API
* rename Simulator -> ScaleOutSimulator
* rename Simulation -> ScaleOutSimulation
* rename SimGroupKey -> PriorityKey
* rename SimulationGroupPassScores -> ScaleOutSimGroupPassScores
* rename SimulationGroupCycleResult -> ScaleOutSimGroupCycleResult
* removed BasicObjectMeta, using metav1.ObjectMeta as many fields are used.
* rename samples.ResourceCategory to samples.ResourcePreset
* rename samples.SimplePodGenInput to PodGenInput
* added missing json tags to PodInfo, NodeInfo
* introduced samples.GenScalingConstraints
* support constraint generation for pools with multiple zones.
* all tests write request and response json to tmp test dir
* renamed samples.PoolCategory -> samples.PoolPreset
* dont use eventTime in simulation for tracking - reset event list
  instead
* added mutex to simulator state to prevent data race for sandbox view
  creation/access
Co-authored-by: Prashant Tak <prashant.tak@sap.com>
…viewutil.go

Co-authored-by: Aaron Francis Fernandes <79958509+aaronfern@users.noreply.github.com>
Co-authored-by: Prashant Tak <prashant.tak@sap.com>
Co-authored-by: Prashant Tak <prashant.tak@sap.com>
* TestOnePoolScaleOutWithUnboundPVC_ImmediateVolumeBinding(t
* rename util.BindClaimsAndVolumes -> BindClaimsAndVolumesForImmediateMode
* rename defaultScaleOut.trackUntilStabilized -> workAndTrackUntilStabilized
* introduced defaultScaleOut.doWork
* introduced util.BindClaimsAndVolumesWithNonNilClaimRefs invoked by
  doWork
* samples and planner testutil changes to support Immediate and WFFC
  volume bindings
* ScaleOutSimulator under planner/simulator/scaleout
* ScaleOutSimulation under planner/simulation/scaleout
* factory packages under planner/simulation, planner/simulator
* minkapi typeinfo moved to api/minkapi/typeinfo
* introduced plannerapi.ScaleOutNodeTemplate
* introduced scaleout.RunState used by scaleout.defaultSimulation
@elankath elankath self-assigned this Mar 1, 2026
@gardener-prow
Copy link
Copy Markdown

gardener-prow bot commented Mar 1, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from elankath. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gardener-prow gardener-prow bot added do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Mar 1, 2026
@elankath elankath marked this pull request as draft March 1, 2026 14:09
@gardener-prow gardener-prow bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 1, 2026
@elankath elankath added the kind/enhancement Enhancement, improvement, extension label Mar 1, 2026
@gardener-prow gardener-prow bot removed the do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. label Mar 1, 2026
@gardener-prow gardener-prow bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 12, 2026
@gardener-prow
Copy link
Copy Markdown

gardener-prow bot commented Mar 12, 2026

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@elankath
Copy link
Copy Markdown
Member Author

elankath commented Apr 1, 2026

/close

This is being closed in favour of simpler PR #154

@elankath elankath closed this Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/enhancement Enhancement, improvement, extension needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Simulator executing SimulatorStrategyMultiNodeSingleSim without Node Scoring

2 participants