Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build/cmd/makemac: create macOS VMs in response to scheduler demand #35698

Closed
bradfitz opened this issue Nov 19, 2019 · 1 comment
Closed
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@bradfitz
Copy link
Contributor

The current x/build/cmd/makemac binary maintains a static number of macOS VMs of a fixed distribution of macOS versions. (at least, it queries the coordinator for the dashboard/builders.go-configured distribution of versions)

But now that we have the scheduler in the coordinator, makemac could instead create what's needed. This would let us use our limited 10 Macs betters. We currently strand a fair bit of our resources.

There's a TODO in the code:

// wantedMacVersionNext returns the macOS 10.x version to create next,                                                                                               
// or 0 to not make anything. It gets the latest reverse buildlet                                                                                                    
// status from the coordinator.                                                                                                                                      
func wantedMacVersionNext(st *State, rstat *types.ReverseBuilderStatus) int {
        // TODO: improve this logic now that the coordinator has a                                                                                                   
        // proper scheduler. Instead, don't create anything                                                                                                          
        // proactively until there's demand from it from the                                                                                                         
        // scheduler. (will need to add that to the coordinator's                                                                                                    
        // status JSON) And maybe add a streaming endpoint to the                                                                                                    
        // coordinator so we don't need to poll every N seconds. Or                                                                                                  
        // just poll every few seconds, perhaps at a lighter endpoint                                                                                                
        // that only does darwin.                                                                                                                                    
        //                                                                                                                                                           
        // For now just use the static configuration in                                                                                                              
        // dashboard/builders.go of how many are expected, which ends                                                                                                
        // up in ReverseBuilderStatus.                                                                                                                               

/cc @cagedmantis @dmitshur

@gopherbot gopherbot added this to the Unreleased milestone Nov 19, 2019
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Nov 19, 2019
@toothrot toothrot added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Nov 22, 2019
@heschi
Copy link
Contributor

heschi commented Nov 29, 2022

Obsolete.

@heschi heschi closed this as completed Nov 29, 2022
@heschi heschi closed this as not planned Won't fix, can't repro, duplicate, stale Nov 29, 2022
@golang golang locked and limited conversation to collaborators Nov 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

4 participants