Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1949102

Summary: NFD Image fails to build on disconnected environments
Product: OpenShift Container Platform Reporter: Carlos Eduardo Arango Gutierrez <carangog>
Component: Node Feature Discovery OperatorAssignee: Carlos Eduardo Arango Gutierrez <carangog>
Status: CLOSED ERRATA QA Contact: Walid A. <wabouham>
Severity: high Docs Contact:
Priority: high    
Version: 4.8CC: lhorsley, sejug, wabouham
Target Milestone: ---   
Target Release: 4.8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-07-27 22:19:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Carlos Eduardo Arango Gutierrez 2021-04-13 12:49:17 UTC
NFD-operator fails to build on disconnected environments due to a `go get` command being call by the Makefile on the "build" target

Comment 2 Walid A. 2021-05-06 15:01:49 UTC
Verified:

# git clone https://github.com/openshift/cluster-nfd-operator.git
Cloning into 'cluster-nfd-operator'...
remote: Enumerating objects: 20607, done.
remote: Counting objects: 100% (1818/1818), done.
remote: Compressing objects: 100% (1330/1330), done.
remote: Total 20607 (delta 469), reused 1392 (delta 390), pack-reused 18789
Receiving objects: 100% (20607/20607), 27.35 MiB | 21.35 MiB/s, done.
Resolving deltas: 100% (8502/8502), done.

# cd cluster-nfd-operator

# go clean -cache
# cp Makefile Makefile_ORIG
# vim Makefile
# diff Makefile Makefile_ORIG
78c78
< 	@GOOS=$(GOOS) GO111MODULE=on CGO_ENABLED=0 go build -v -o $(BIN) $(MAIN_PACKAGE)
---
> 	@GOOS=$(GOOS) GO111MODULE=on CGO_ENABLED=0 go build -o $(BIN) $(MAIN_PACKAGE)
201c201
< 	$(IMAGE_PUSH_CMD) $(BUNDLE_IMG)
---
> 	$(IMAGE_PUSH_CMD) $(BUNDLE_IMG)
\ No newline at end of file


# make build
k8s.io/apimachinery/pkg/selection
github.com/golang/groupcache/lru
k8s.io/apimachinery/pkg/types
google.golang.org/protobuf/internal/flags
github.com/gogo/protobuf/proto
github.com/gogo/protobuf/sortkeys
github.com/google/gofuzz
gopkg.in/inf.v0
k8s.io/apimachinery/third_party/forked/golang/reflect
k8s.io/apimachinery/pkg/fields
k8s.io/apimachinery/pkg/util/sets
k8s.io/apimachinery/pkg/conversion
net
k8s.io/apimachinery/pkg/util/errors
github.com/go-logr/logr
os/user
k8s.io/apimachinery/pkg/util/validation/field
k8s.io/klog/v2
k8s.io/apimachinery/pkg/conversion/queryparams
k8s.io/apimachinery/pkg/util/json
k8s.io/apimachinery/pkg/util/naming
github.com/modern-go/concurrent
gopkg.in/yaml.v2
github.com/modern-go/reflect2
k8s.io/apimachinery/pkg/api/resource
k8s.io/apimachinery/pkg/util/validation
k8s.io/apimachinery/pkg/labels
k8s.io/apimachinery/pkg/runtime/schema
crypto/x509
net/textproto
vendor/golang.org/x/net/http/httpproxy
k8s.io/apimachinery/pkg/util/intstr
github.com/json-iterator/go
vendor/golang.org/x/net/http/httpguts
mime/multipart
golang.org/x/text/transform
crypto/tls
golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm
golang.org/x/text/secure/bidirule
golang.org/x/net/http2/hpack
k8s.io/apimachinery/pkg/util/framer
golang.org/x/net/idna
sigs.k8s.io/yaml
sigs.k8s.io/structured-merge-diff/v4/value
k8s.io/apimachinery/pkg/util/yaml
golang.org/x/net/http/httpguts
k8s.io/apimachinery/pkg/util/clock
net/http/httptrace
github.com/davecgh/go-spew/spew
k8s.io/apimachinery/third_party/forked/golang/json
net/http
google.golang.org/protobuf/internal/detrand
google.golang.org/protobuf/internal/pragma
k8s.io/apimachinery/pkg/util/mergepatch
google.golang.org/protobuf/internal/set
google.golang.org/protobuf/internal/errors
google.golang.org/protobuf/encoding/protowire
google.golang.org/protobuf/internal/version
gopkg.in/yaml.v3
k8s.io/apimachinery/pkg/version
google.golang.org/protobuf/reflect/protoreflect
k8s.io/client-go/pkg/version
golang.org/x/sys/internal/unsafeheader
golang.org/x/sys/unix
google.golang.org/protobuf/reflect/protoregistry
google.golang.org/protobuf/internal/encoding/messageset
google.golang.org/protobuf/internal/strs
google.golang.org/protobuf/internal/encoding/text
google.golang.org/protobuf/internal/genid
google.golang.org/protobuf/internal/mapsort
google.golang.org/protobuf/internal/fieldsort
google.golang.org/protobuf/runtime/protoiface
google.golang.org/protobuf/internal/descfmt
google.golang.org/protobuf/proto
google.golang.org/protobuf/internal/descopts
google.golang.org/protobuf/internal/encoding/defval
github.com/googleapis/gnostic/jsonschema
golang.org/x/crypto/ssh/terminal
k8s.io/apimachinery/pkg/util/runtime
golang.org/x/net/http2
k8s.io/apimachinery/pkg/runtime
k8s.io/client-go/tools/metrics
google.golang.org/protobuf/encoding/prototext
google.golang.org/protobuf/internal/filedesc
golang.org/x/net/context/ctxhttp
golang.org/x/oauth2/internal
golang.org/x/oauth2
k8s.io/apimachinery/pkg/runtime/serializer/recognizer
google.golang.org/protobuf/internal/encoding/tag
k8s.io/apimachinery/pkg/runtime/serializer/json
k8s.io/apimachinery/pkg/runtime/serializer/streaming
google.golang.org/protobuf/internal/impl
k8s.io/client-go/tools/clientcmd/api
k8s.io/apimachinery/pkg/util/wait
k8s.io/apimachinery/pkg/util/net
k8s.io/client-go/util/connrotation
golang.org/x/time/rate
k8s.io/client-go/util/keyutil
k8s.io/client-go/util/workqueue
k8s.io/apimachinery/pkg/watch
k8s.io/client-go/util/cert
k8s.io/client-go/transport
k8s.io/apimachinery/pkg/apis/meta/v1
k8s.io/utils/integer
k8s.io/client-go/util/flowcontrol
google.golang.org/grpc/codes
google.golang.org/grpc/grpclog
k8s.io/klog
google.golang.org/grpc/connectivity
google.golang.org/grpc/internal
github.com/pkg/errors
sigs.k8s.io/controller-runtime/pkg/log
sigs.k8s.io/controller-runtime/pkg/internal/log
github.com/evanphx/json-patch
sigs.k8s.io/controller-runtime/pkg/reconcile
github.com/hashicorp/golang-lru/simplelru
google.golang.org/protobuf/internal/filetype
github.com/hashicorp/golang-lru
github.com/google/go-cmp/cmp/internal/flags
github.com/google/go-cmp/cmp/internal/diff
google.golang.org/protobuf/runtime/protoimpl
k8s.io/apimachinery/pkg/util/cache
github.com/golang/protobuf/proto
google.golang.org/protobuf/types/known/anypb
google.golang.org/protobuf/types/known/durationpb
github.com/golang/protobuf/ptypes/any
k8s.io/api/core/v1
k8s.io/apimachinery/pkg/runtime/serializer/protobuf
k8s.io/apimachinery/pkg/apis/meta/v1/unstructured
sigs.k8s.io/controller-runtime/pkg/scheme
k8s.io/api/rbac/v1
k8s.io/apimachinery/pkg/api/errors
k8s.io/apimachinery/pkg/runtime/serializer/versioning
github.com/golang/protobuf/ptypes/duration
k8s.io/apimachinery/pkg/runtime/serializer
google.golang.org/protobuf/types/known/timestamppb
k8s.io/client-go/pkg/apis/clientauthentication
k8s.io/client-go/rest/watch
github.com/golang/protobuf/ptypes/timestamp
k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1
k8s.io/client-go/pkg/apis/clientauthentication/v1beta1
github.com/golang/protobuf/ptypes
github.com/googleapis/gnostic/extensions
k8s.io/apimachinery/pkg/api/meta
k8s.io/client-go/plugin/pkg/client/auth/exec
github.com/googleapis/gnostic/compiler
k8s.io/client-go/rest
github.com/googleapis/gnostic/openapiv2
google.golang.org/genproto/googleapis/rpc/status
google.golang.org/grpc/status
k8s.io/api/authentication/v1
k8s.io/cri-api/pkg/errors
k8s.io/api/admissionregistration/v1
k8s.io/api/admission/v1
k8s.io/api/admission/v1beta1
k8s.io/api/admissionregistration/v1beta1
k8s.io/api/authentication/v1beta1
k8s.io/api/authorization/v1
k8s.io/api/authorization/v1beta1
k8s.io/kube-openapi/pkg/util/proto
k8s.io/api/imagepolicy/v1alpha1
k8s.io/api/rbac/v1alpha1
k8s.io/apimachinery/pkg/util/strategicpatch
k8s.io/api/rbac/v1beta1
k8s.io/apimachinery/pkg/apis/meta/v1beta1
k8s.io/api/apiserverinternal/v1alpha1
k8s.io/api/coordination/v1
k8s.io/api/coordination/v1beta1
k8s.io/api/flowcontrol/v1alpha1
k8s.io/apimachinery/pkg/apis/meta/internalversion
k8s.io/api/flowcontrol/v1beta1
k8s.io/apimachinery/pkg/apis/meta/internalversion/scheme
k8s.io/client-go/metadata
github.com/google/go-cmp/cmp/internal/function
github.com/google/go-cmp/cmp/internal/value
k8s.io/client-go/tools/pager
k8s.io/utils/buffer
k8s.io/utils/trace
github.com/openshift/api/security/v1
github.com/openshift/custom-resource-status/conditions/v1
k8s.io/api/apps/v1
k8s.io/client-go/tools/record/util
github.com/openshift/cluster-nfd-operator/api/v1
k8s.io/client-go/tools/reference
k8s.io/api/apps/v1beta1
k8s.io/client-go/tools/record
github.com/openshift/client-go/security/clientset/versioned/scheme
k8s.io/api/apps/v1beta2
k8s.io/api/autoscaling/v1
k8s.io/api/autoscaling/v2beta1
k8s.io/api/batch/v1
k8s.io/api/certificates/v1
k8s.io/api/batch/v1beta1
k8s.io/api/batch/v2alpha1
k8s.io/api/certificates/v1beta1
k8s.io/api/extensions/v1beta1
k8s.io/api/networking/v1
k8s.io/api/policy/v1beta1
k8s.io/api/scheduling/v1alpha1
k8s.io/api/storage/v1
k8s.io/api/storage/v1beta1
k8s.io/api/autoscaling/v2beta2
k8s.io/api/discovery/v1alpha1
k8s.io/api/discovery/v1beta1
k8s.io/api/events/v1
k8s.io/api/events/v1beta1
k8s.io/api/networking/v1beta1
k8s.io/api/node/v1
k8s.io/api/node/v1alpha1
k8s.io/api/node/v1beta1
k8s.io/api/scheduling/v1
k8s.io/api/scheduling/v1beta1
k8s.io/api/storage/v1alpha1
github.com/google/go-cmp/cmp
k8s.io/client-go/dynamic
expvar
github.com/beorn7/perks/quantile
github.com/cespare/xxhash/v2
k8s.io/client-go/kubernetes/scheme
github.com/prometheus/client_model/go
github.com/matttproud/golang_protobuf_extensions/pbutil
k8s.io/kubectl/pkg/scheme
k8s.io/client-go/discovery
github.com/prometheus/client_golang/prometheus/internal
k8s.io/apimachinery/pkg/util/diff
github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
github.com/prometheus/common/model
github.com/prometheus/procfs/internal/fs
k8s.io/client-go/tools/cache
k8s.io/client-go/restmapper
github.com/prometheus/procfs/internal/util
github.com/prometheus/procfs
sigs.k8s.io/controller-runtime/pkg/client/apiutil
github.com/prometheus/common/expfmt
sigs.k8s.io/controller-runtime/pkg/client
k8s.io/client-go/kubernetes/typed/admissionregistration/v1
k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1
sigs.k8s.io/controller-runtime/pkg/event
sigs.k8s.io/controller-runtime/pkg/cache/internal
sigs.k8s.io/controller-runtime/pkg/predicate
github.com/prometheus/client_golang/prometheus
k8s.io/client-go/kubernetes/typed/apiserverinternal/v1alpha1
k8s.io/client-go/kubernetes/typed/apps/v1
sigs.k8s.io/controller-runtime/pkg/cache
k8s.io/client-go/kubernetes/typed/apps/v1beta1
sigs.k8s.io/controller-runtime/pkg/runtime/inject
k8s.io/client-go/kubernetes/typed/apps/v1beta2
sigs.k8s.io/controller-runtime/pkg/handler
k8s.io/client-go/kubernetes/typed/authentication/v1
sigs.k8s.io/controller-runtime/pkg/metrics
sigs.k8s.io/controller-runtime/pkg/source/internal
github.com/prometheus/client_golang/prometheus/promhttp
k8s.io/client-go/kubernetes/typed/authentication/v1beta1
sigs.k8s.io/controller-runtime/pkg/source
sigs.k8s.io/controller-runtime/pkg/internal/controller/metrics
k8s.io/client-go/kubernetes/typed/authorization/v1
k8s.io/client-go/kubernetes/typed/authorization/v1beta1
sigs.k8s.io/controller-runtime/pkg/internal/controller
k8s.io/client-go/kubernetes/typed/autoscaling/v1
k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1
k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2
k8s.io/client-go/kubernetes/typed/batch/v1
k8s.io/client-go/kubernetes/typed/batch/v1beta1
k8s.io/client-go/kubernetes/typed/batch/v2alpha1
k8s.io/client-go/kubernetes/typed/certificates/v1
k8s.io/client-go/kubernetes/typed/certificates/v1beta1
k8s.io/client-go/kubernetes/typed/coordination/v1
k8s.io/client-go/kubernetes/typed/coordination/v1beta1
k8s.io/client-go/kubernetes/typed/core/v1
k8s.io/client-go/kubernetes/typed/discovery/v1alpha1
k8s.io/client-go/kubernetes/typed/discovery/v1beta1
k8s.io/client-go/kubernetes/typed/events/v1
k8s.io/client-go/kubernetes/typed/events/v1beta1
k8s.io/client-go/kubernetes/typed/extensions/v1beta1
k8s.io/client-go/kubernetes/typed/flowcontrol/v1alpha1
k8s.io/client-go/kubernetes/typed/flowcontrol/v1beta1
k8s.io/client-go/kubernetes/typed/networking/v1
k8s.io/client-go/kubernetes/typed/networking/v1beta1
k8s.io/client-go/kubernetes/typed/node/v1
k8s.io/client-go/kubernetes/typed/node/v1alpha1
k8s.io/client-go/kubernetes/typed/node/v1beta1
k8s.io/client-go/kubernetes/typed/policy/v1beta1
k8s.io/client-go/kubernetes/typed/rbac/v1
k8s.io/client-go/kubernetes/typed/rbac/v1alpha1
k8s.io/client-go/kubernetes/typed/rbac/v1beta1
k8s.io/client-go/kubernetes/typed/scheduling/v1
k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1
k8s.io/client-go/kubernetes/typed/scheduling/v1beta1
k8s.io/client-go/kubernetes/typed/storage/v1
k8s.io/client-go/kubernetes/typed/storage/v1alpha1
k8s.io/client-go/kubernetes/typed/storage/v1beta1
k8s.io/component-base/config
k8s.io/utils/pointer
sigs.k8s.io/controller-runtime/pkg/healthz
k8s.io/component-base/config/v1alpha1
github.com/google/uuid
k8s.io/client-go/kubernetes
sigs.k8s.io/controller-runtime/pkg/recorder
sigs.k8s.io/controller-runtime/pkg/config/v1alpha1
gomodules.xyz/jsonpatch/v2
k8s.io/apimachinery/pkg/util/uuid
sigs.k8s.io/controller-runtime/pkg/config
sigs.k8s.io/controller-runtime/pkg/webhook/admission
github.com/fsnotify/fsnotify
sigs.k8s.io/controller-runtime/pkg/webhook/internal/metrics
sigs.k8s.io/controller-runtime/pkg/webhook/internal/certwatcher
sigs.k8s.io/controller-runtime/pkg/ratelimiter
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
sigs.k8s.io/controller-runtime/pkg/webhook
sigs.k8s.io/controller-runtime/pkg/conversion
github.com/imdario/mergo
github.com/spf13/pflag
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1
k8s.io/client-go/tools/leaderelection/resourcelock
sigs.k8s.io/controller-runtime/pkg/internal/recorder
k8s.io/client-go/tools/auth
k8s.io/client-go/tools/leaderelection
sigs.k8s.io/controller-runtime/pkg/leaderelection
k8s.io/client-go/tools/clientcmd/api/v1
k8s.io/client-go/util/homedir
k8s.io/apimachinery/pkg/api/equality
sigs.k8s.io/controller-runtime/pkg/manager
sigs.k8s.io/controller-runtime/pkg/controller/controllerutil
k8s.io/client-go/tools/clientcmd/api/latest
sigs.k8s.io/controller-runtime/pkg/manager/signals
k8s.io/client-go/tools/clientcmd
sigs.k8s.io/controller-runtime/pkg/webhook/conversion
sigs.k8s.io/controller-runtime/pkg/controller
github.com/Azure/go-autorest/autorest/date
github.com/Azure/go-autorest/tracing
sigs.k8s.io/controller-runtime/pkg/builder
github.com/form3tech-oss/jwt-go
golang.org/x/crypto/pkcs12/internal/rc2
net/http/cookiejar
golang.org/x/crypto/pkcs12
sigs.k8s.io/controller-runtime/pkg/client/config
github.com/Azure/go-autorest/logger
sigs.k8s.io/controller-runtime
cloud.google.com/go/compute/metadata
github.com/Azure/go-autorest/autorest/adal
golang.org/x/oauth2/jws
github.com/openshift/cluster-nfd-operator/controllers
k8s.io/client-go/third_party/forked/golang/template
golang.org/x/oauth2/jwt
github.com/Azure/go-autorest/autorest
golang.org/x/oauth2/google
k8s.io/client-go/util/jsonpath
k8s.io/client-go/plugin/pkg/client/auth/oidc
k8s.io/client-go/plugin/pkg/client/auth/openstack
go.uber.org/atomic
go.uber.org/zap/buffer
k8s.io/client-go/plugin/pkg/client/auth/gcp
go.uber.org/zap/internal/bufferpool
github.com/Azure/go-autorest/autorest/azure
go.uber.org/zap/internal/color
go.uber.org/multierr
go.uber.org/zap/internal/exit
go.uber.org/zap/zapcore
k8s.io/client-go/plugin/pkg/client/auth/azure
k8s.io/client-go/plugin/pkg/client/auth
go.uber.org/zap
github.com/go-logr/zapr
sigs.k8s.io/controller-runtime/pkg/log/zap
command-line-arguments

# ls -ltr
total 45396
-rw-r--r--.  1 root root     2941 May  6 13:52 README.md
-rw-r--r--.  1 root root      533 May  6 13:52 PROJECT
-rw-r--r--.  1 root root      208 May  6 13:52 OWNERS
-rw-r--r--.  1 root root    10175 May  6 13:52 LICENSE
-rw-r--r--.  1 root root      880 May  6 13:52 Dockerfile.rhel7
-rw-r--r--.  1 root root      661 May  6 13:52 Dockerfile
drwxr-xr-x.  3 root root       20 May  6 13:52 build
drwxr-xr-x.  4 root root       32 May  6 13:52 api
-rw-r--r--.  1 root root      527 May  6 13:52 go.mod
drwxr-xr-x.  2 root root      187 May  6 13:52 controllers
drwxr-xr-x. 11 root root      145 May  6 13:52 config
-rw-r--r--.  1 root root     4099 May  6 13:52 main.go
-rw-r--r--.  1 root root    86032 May  6 13:52 go.sum
drwxr-xr-x.  2 root root       32 May  6 13:52 utils
drwxr-xr-x.  4 root root       38 May  6 13:52 pkq
-rw-r--r--.  1 root root       68 May  6 13:52 nfd.package.yaml
drwxr-xr-x.  3 root root       57 May  6 13:52 manifests
drwxr-xr-x. 11 root root      199 May  6 13:52 vendor
-rw-r--r--.  1 root root     7136 May  6 13:53 Makefile_ORIG
-rw-r--r--.  1 root root     7140 May  6 13:53 Makefile
-rwxr-xr-x.  1 root root 46326163 May  6 13:54 node-feature-discovery-operator

Comment 5 errata-xmlrpc 2021-07-27 22:19:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Container Platform 4.8.2 extras update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:2435