in pkg/provider/gke/gke.go [394:428]
func (c *GKE) NodePoolDelete(*kingpin.ParseContext) error {
// Use CreateNodePoolRequest struct to pass the UnmarshalStrict validation and
// than use the result to create the DeleteNodePoolRequest
reqC := &containerpb.CreateClusterRequest{}
for _, deployment := range c.gkeResources {
if err := yamlGo.UnmarshalStrict(deployment.Content, reqC); err != nil {
log.Fatalf("Error parsing the cluster deployment file %s:%v", deployment.FileName, err)
}
for _, node := range reqC.Cluster.NodePools {
reqD := &containerpb.DeleteNodePoolRequest{
//nolint:staticcheck // SA1019 - Ignore "Do not use.".
ProjectId: reqC.ProjectId,
//nolint:staticcheck // SA1019 - Ignore "Do not use.".
Zone: reqC.Zone,
ClusterId: reqC.Cluster.Name,
NodePoolId: node.Name,
}
//nolint:staticcheck // SA1019 - Ignore "Do not use.".
log.Printf("Removing cluster node pool: `%v`, cluster '%v', project '%v', zone '%v'", reqD.NodePoolId, reqD.ClusterId, reqD.ProjectId, reqD.Zone)
err := provider.RetryUntilTrue(
//nolint:staticcheck // SA1019 - Ignore "Do not use.".
fmt.Sprintf("deleting nodepool:%v", reqD.NodePoolId),
provider.GlobalRetryCount,
func() (bool, error) { return c.nodePoolDeleted(reqD) })
if err != nil {
log.Fatalf("Couldn't delete cluster nodepool '%v', file:%v ,err: %v", node.Name, deployment.FileName, err)
}
}
}
return nil
}