Can not build Cluster Capacity Tool in Openshift Container Platform 4.

Solution Verified - Updated -

Issue

When building the Cluster Capacity Tool, it fails with multiples dependencies errors:

GO111MODULE=auto go build -o hypercc sigs.k8s.io/cluster-capacity/cmd/hypercc
# sigs.k8s.io/cluster-capacity/vendor/github.com/google/gofuzz
vendor/github.com/google/gofuzz/fuzz.go:547:8: undefined: strings.Builder
vendor/github.com/google/gofuzz/fuzz.go:587:8: undefined: strings.Builder
# sigs.k8s.io/cluster-capacity/vendor/k8s.io/apimachinery/pkg/util/errors
vendor/k8s.io/apimachinery/pkg/util/errors/errors.go:99:10: undefined: errors.Is
# sigs.k8s.io/cluster-capacity/vendor/k8s.io/apimachinery/pkg/api/resource
vendor/k8s.io/apimachinery/pkg/api/resource/quantity.go:470:34: invalid operation: int64(1) << (exponent * 10) (shift count type int, must be unsigned integer)
# sigs.k8s.io/cluster-capacity/vendor/sigs.k8s.io/yaml
vendor/sigs.k8s.io/yaml/yaml.go:42:48: undefined: DisallowUnknownFields
# sigs.k8s.io/cluster-capacity/vendor/sigs.k8s.io/structured-merge-diff/v4/value
vendor/sigs.k8s.io/structured-merge-diff/v4/value/mapreflect.go:95:13: val.MapRange undefined (type reflect.Value has no field or method MapRange)
vendor/sigs.k8s.io/structured-merge-diff/v4/value/mapreflect.go:173:14: rhs.MapRange undefined (type reflect.Value has no field or method MapRange)
vendor/sigs.k8s.io/structured-merge-diff/v4/value/mapreflect.go:194:13: lhs.MapRange undefined (type reflect.Value has no field or method MapRange)
# sigs.k8s.io/cluster-capacity/vendor/k8s.io/apimachinery/pkg/util/net
vendor/k8s.io/apimachinery/pkg/util/net/http.go:67:5: undefined: errors.As
vendor/k8s.io/apimachinery/pkg/util/net/http.go:84:5: undefined: errors.As
vendor/k8s.io/apimachinery/pkg/util/net/util.go:43:5: undefined: errors.As
vendor/k8s.io/apimachinery/pkg/util/net/util.go:52:5: undefined: errors.As
# sigs.k8s.io/cluster-capacity/vendor/k8s.io/component-base/cli/flag
vendor/k8s.io/component-base/cli/flag/ciphersuites_flag.go:46:45: undefined: tls.TLS_AES_128_GCM_SHA256
vendor/k8s.io/component-base/cli/flag/ciphersuites_flag.go:47:45: undefined: tls.TLS_CHACHA20_POLY1305_SHA256
vendor/k8s.io/component-base/cli/flag/ciphersuites_flag.go:48:45: undefined: tls.TLS_AES_256_GCM_SHA384
vendor/k8s.io/component-base/cli/flag/ciphersuites_flag.go:133:18: undefined: tls.VersionTLS13
# sigs.k8s.io/cluster-capacity/vendor/k8s.io/component-base/logs/datapol
vendor/k8s.io/component-base/logs/datapol/datapol.go:49:9: v.IsZero undefined (type reflect.Value has no field or method IsZero)
vendor/k8s.io/component-base/logs/datapol/datapol.go:53:9: v.IsZero undefined (type reflect.Value has no field or method IsZero)
vendor/k8s.io/component-base/logs/datapol/datapol.go:68:15: v.MapRange undefined (type reflect.Value has no field or method MapRange)
vendor/k8s.io/component-base/logs/datapol/datapol.go:89:19: v.Field(i).IsZero undefined (type reflect.Value has no field or method IsZero)
# sigs.k8s.io/cluster-capacity/vendor/k8s.io/utils/trace
vendor/k8s.io/utils/trace/trace.go:200:119: totalTime.Milliseconds undefined (type time.Duration has no field or method Milliseconds)
# sigs.k8s.io/cluster-capacity/vendor/go.etcd.io/etcd/raft/quorum
vendor/go.etcd.io/etcd/raft/quorum/majority.go:33:10: undefined: strings.Builder
vendor/go.etcd.io/etcd/raft/quorum/majority.go:89:10: undefined: strings.Builder
# sigs.k8s.io/cluster-capacity/vendor/go.etcd.io/etcd/raft/raftpb
vendor/go.etcd.io/etcd/raft/raftpb/confchange.go:150:10: undefined: strings.Builder
# sigs.k8s.io/cluster-capacity/vendor/k8s.io/kubernetes/pkg/volume/util/types
vendor/k8s.io/kubernetes/pkg/volume/util/types/types.go:76:9: undefined: errors.As
vendor/k8s.io/kubernetes/pkg/volume/util/types/types.go:125:5: undefined: errors.As
make: *** [build] Error 2

Environment

  • RHEL8
  • Red Hat Openshift Container Platform 4.x [RHOCP]

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content