Skip to content

Commit

Permalink
Bump k8s deps
Browse files Browse the repository at this point in the history
- Bump helm to v3.4.0
- Bump k8s deps to v1.19.2
- Update dependent code as required
  • Loading branch information
lblackstone committed Oct 26, 2020
1 parent 743646b commit 1cc6652
Show file tree
Hide file tree
Showing 7 changed files with 186 additions and 141 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
## HEAD (Unreleased)

- Update Helm lib to v2.4.0 and client-go to v1.19.2 (https://github.com/pulumi/pulumi-kubernetes/pull/1360)

## 2.6.3 (October 12, 2020)

- Add support for previewing Create and Update operations for API servers that support dry-run (https://github.com/pulumi/pulumi-kubernetes/pull/1355)
Expand Down
20 changes: 10 additions & 10 deletions provider/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ go 1.14

require (
github.com/ahmetb/go-linq v3.0.0+incompatible
github.com/evanphx/json-patch v4.5.0+incompatible
github.com/evanphx/json-patch v4.9.0+incompatible
github.com/golang/protobuf v1.4.2
github.com/googleapis/gnostic v0.2.0
github.com/googleapis/gnostic v0.4.1
github.com/imdario/mergo v0.3.8
github.com/onsi/ginkgo v1.12.0 // indirect
github.com/onsi/gomega v1.9.0 // indirect
Expand All @@ -15,19 +15,19 @@ require (
github.com/pulumi/pulumi/sdk/v2 v2.11.3-0.20201012185126-156aa9862e15
github.com/stretchr/testify v1.6.1
google.golang.org/grpc v1.29.1
helm.sh/helm/v3 v3.3.3
k8s.io/api v0.18.8
k8s.io/apimachinery v0.18.8
k8s.io/cli-runtime v0.18.8
k8s.io/client-go v0.18.8
k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6
k8s.io/kubectl v0.18.8
helm.sh/helm/v3 v3.4.0
k8s.io/api v0.19.2
k8s.io/apimachinery v0.19.2
k8s.io/cli-runtime v0.19.2
k8s.io/client-go v0.19.2
k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6
k8s.io/kubectl v0.19.2
rsc.io/letsencrypt v0.0.3 // indirect
sigs.k8s.io/kustomize/api v0.4.1
sigs.k8s.io/yaml v1.2.0
)

replace (
github.com/Azure/go-autorest => github.com/Azure/go-autorest v13.3.1+incompatible
github.com/evanphx/json-patch => github.com/evanphx/json-patch v0.0.0-20200808040245-162e5629780b // 162e5629780b is the SHA for git tag v4.8.0
github.com/evanphx/json-patch => github.com/evanphx/json-patch v4.9.0+incompatible
)
141 changes: 77 additions & 64 deletions provider/go.sum

Large diffs are not rendered by default.

45 changes: 24 additions & 21 deletions provider/pkg/clients/memcache.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,17 @@ limitations under the License.
// Additionally, we improved caching of the OpenAPI schema in the OpenAPISchema method.
// If this change merges upstream, we will reconcile those changes in a future release.
//
// [1] https://github.com/kubernetes/client-go/blob/2dda7ceeec102b5a60e2abf37758642118501910/discovery/cached/memcache.go
// [1] https://github.com/kubernetes/client-go/blob/2568220050f6fdd4a8a0dbae292517559731905f/discovery/cached/memory/memcache.go

package clients

import (
"errors"
"fmt"
"net"
"net/url"
"sync"
"syscall"

"github.com/googleapis/gnostic/OpenAPIv2"
openapi_v2 "github.com/googleapis/gnostic/openapiv2"
logger "github.com/pulumi/pulumi/sdk/v2/go/common/util/logging"
errorsutil "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
Expand Down Expand Up @@ -71,19 +70,11 @@ var _ discovery.CachedDiscoveryInterface = &memCacheClient{}
// "Connection reset" error which usually means that apiserver is temporarily
// unavailable.
func isTransientConnectionError(err error) bool {
urlError, ok := err.(*url.Error)
if !ok {
return false
}
opError, ok := urlError.Err.(*net.OpError)
if !ok {
return false
}
errno, ok := opError.Err.(syscall.Errno)
if !ok {
return false
var errno syscall.Errno
if errors.As(err, &errno) {
return errno == syscall.ECONNREFUSED || errno == syscall.ECONNRESET
}
return errno == syscall.ECONNREFUSED || errno == syscall.ECONNRESET
return false
}

func isTransientError(err error) bool {
Expand Down Expand Up @@ -209,16 +200,28 @@ func (d *memCacheClient) refreshLocked() error {
return err
}

wg := &sync.WaitGroup{}
resultLock := &sync.Mutex{}
rl := map[string]*cacheEntry{}
for _, g := range gl.Groups {
for _, v := range g.Versions {
r, err := d.serverResourcesForGroupVersion(v.GroupVersion)
rl[v.GroupVersion] = &cacheEntry{r, err}
if err != nil {
logger.V(9).Infof("couldn't get resource list for %v: %v", v.GroupVersion, err)
}
gv := v.GroupVersion
wg.Add(1)
go func() {
defer wg.Done()

r, err := d.serverResourcesForGroupVersion(gv)
if err != nil {
logger.V(9).Infof("couldn't get resource list for %v: %v", gv, err)
}

resultLock.Lock()
defer resultLock.Unlock()
rl[gv] = &cacheEntry{r, err}
}()
}
}
wg.Wait()

d.groupToServerResources, d.groupList = rl, gl
d.cacheValid = true
Expand Down
3 changes: 0 additions & 3 deletions provider/pkg/provider/serve.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@ import (
"github.com/pulumi/pulumi/pkg/v2/resource/provider"
"github.com/pulumi/pulumi/sdk/v2/go/common/util/cmdutil"
lumirpc "github.com/pulumi/pulumi/sdk/v2/proto/go"

// Load auth plugins. Removing this will likely cause compilation error.
_ "k8s.io/client-go/plugin/pkg/client/auth"
)

// Serve launches the gRPC server for the Pulumi Kubernetes resource provider.
Expand Down
4 changes: 2 additions & 2 deletions tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ replace (
require (
github.com/pulumi/pulumi-kubernetes/provider/v2 v2.0.0
github.com/pulumi/pulumi-kubernetes/sdk/v2 v2.4.3
github.com/pulumi/pulumi/pkg/v2 v2.10.2
github.com/pulumi/pulumi/sdk/v2 v2.10.2
github.com/pulumi/pulumi/pkg/v2 v2.11.3-0.20201012185126-156aa9862e15
github.com/pulumi/pulumi/sdk/v2 v2.11.3-0.20201012185126-156aa9862e15
github.com/stretchr/testify v1.6.1
)
Loading

0 comments on commit 1cc6652

Please sign in to comment.