Skip to content

Commit

Permalink
Merge pull request #477 from morlay/master
Browse files Browse the repository at this point in the history
should list real pod nodes when all drivers are kubernetes
  • Loading branch information
tonistiigi authored Jan 4, 2021
2 parents 74f76cf + dd13e16 commit dcbe4b3
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions commands/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -403,13 +403,24 @@ func loadNodeGroupData(ctx context.Context, dockerCli command.Cli, ngi *nginfo)
return err
}

// skip when multi drivers
if len(ngi.drivers) == 1 {
kubernetesDriverCount := 0

for _, di := range ngi.drivers {
if di.info != nil && len(di.info.DynamicNodes) > 0 {
kubernetesDriverCount++
}
}

isAllKubernetesDrivers := len(ngi.drivers) == kubernetesDriverCount

if isAllKubernetesDrivers {
var drivers []dinfo
var dynamicNodes []store.Node

for _, di := range ngi.drivers {
// dynamic nodes are used in Kubernetes driver.
// Kubernetes pods are dynamically mapped to BuildKit Nodes.
if di.info != nil && len(di.info.DynamicNodes) > 0 {
var drivers []dinfo
for i := 0; i < len(di.info.DynamicNodes); i++ {
// all []dinfo share *build.DriverInfo and *driver.Info
diClone := di
Expand All @@ -418,14 +429,16 @@ func loadNodeGroupData(ctx context.Context, dockerCli command.Cli, ngi *nginfo)
}
drivers = append(drivers, di)
}
// not append (remove the static nodes in the store)
ngi.ng.Nodes = di.info.DynamicNodes
ngi.ng.Dynamic = true
ngi.drivers = drivers
return nil
dynamicNodes = append(dynamicNodes, di.info.DynamicNodes...)
}
}

// not append (remove the static nodes in the store)
ngi.ng.Nodes = dynamicNodes
ngi.drivers = drivers
ngi.ng.Dynamic = true
}

return nil
}

Expand Down

0 comments on commit dcbe4b3

Please sign in to comment.