Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update machine config operator #707

Merged
merged 3 commits into from
Jun 17, 2024

Conversation

SalDaniele
Copy link
Contributor

Update machine config operator to remove dependency on goproxy.

go mod tidy && go mod vendor

Copy link

github-actions bot commented Jun 4, 2024

Thanks for your PR,
To run vendors CIs use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

Copy link

github-actions bot commented Jun 4, 2024

Thanks for your PR,
To run vendors CIs use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

@wizhaoredhat
Copy link
Contributor

LGTM

@zeeke
Copy link
Member

zeeke commented Jun 5, 2024

CI is broken due to the webhook not able to start (logs)

2024-06-04T21:27:05.8888659Z ==== START logs for container webhook-server of pod sriov-network-operator/operator-webhook-9jvn9 ====
2024-06-04T21:27:05.8888829Z Error: unknown flag: --alsologtostderr
2024-06-04T21:27:05.8888907Z Usage:
2024-06-04T21:27:05.8889117Z   sriov-network-operator-webhook start [flags]
2024-06-04T21:27:05.8889127Z 
2024-06-04T21:27:05.8889207Z Flags:
2024-06-04T21:27:05.8889668Z       --enable-http2                  If HTTP/2 should be enabled for the metrics and webhook servers.
2024-06-04T21:27:05.8889876Z   -h, --help                          help for start
2024-06-04T21:27:05.8890277Z       --port int                      Secure port that the webhook listens on (default 443)
2024-06-04T21:27:05.8890991Z       --tls-cert-file string          File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert).
2024-06-04T21:27:05.8891592Z       --tls-private-key-file string   File containing the default x509 private key matching --tls-cert-file.
2024-06-04T21:27:05.8891600Z 
2024-06-04T21:27:05.8891684Z Global Flags:
2024-06-04T21:27:05.8892792Z       --zap-devel                         Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error) (default true)
2024-06-04T21:27:05.8893207Z       --zap-encoder encoder               Zap log encoding (one of 'json' or 'console')
2024-06-04T21:27:05.8894288Z       --zap-log-level level               Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', or any integer value > 0 which corresponds to custom debug levels of increasing verbosity
2024-06-04T21:27:05.8894995Z       --zap-stacktrace-level level        Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic').
2024-06-04T21:27:05.8895774Z       --zap-time-encoding time-encoding   Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'.
2024-06-04T21:27:05.8895781Z 
2024-06-04T21:27:05.8896242Z ==== END logs for container webhook-server of pod sriov-network-operator/operator-webhook-9jvn9 ====

any idea of how it happened? maybe one of the bumped dependency broke it?

@SalDaniele
Copy link
Contributor Author

Hmm let me take a look. Its not obvious to me why bumping this dependencies would cause an unknown flag error to sriov-network-operator-webhook.

@SalDaniele
Copy link
Contributor Author

SalDaniele commented Jun 5, 2024

It looks like some of the package updates are indeed responsible for the missing flags

Before upgrades:

Run Webhook Daemon which validates/mutates the Custom Resource of the SR-IoV Network Operator

Usage:
  sriov-network-operator-webhook [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  start       Starts Webhook Daemon

Flags:
      --alsologtostderr                   log to standard error as well as files
  -h, --help                              help for sriov-network-operator-webhook
      --log_backtrace_at traceLocations   when logging hits line file:N, emit a stack trace
      --log_dir string                    If non-empty, write log files in this directory
      --log_link string                   If non-empty, add symbolic links in this directory to the log files
      --logbuflevel int                   Buffer log messages logged at this level or lower (-1 means don't buffer; 0 means buffer INFO only; ...). Has limited applicability on non-prod platforms.
      --logtostderr                       log to standard error instead of files
      --stderrthreshold severityFlag      logs at or above this threshold go to stderr (default 2)
  -v, --v Level                           log level for V logs
      --vmodule vModuleFlag               comma-separated list of pattern=N settings for file-filtered logging
      --zap-devel                         Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error) (default true)
      --zap-encoder encoder               Zap log encoding (one of 'json' or 'console')
      --zap-log-level level               Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', or any integer value > 0 which corresponds to custom debug levels of increasing verbosity
      --zap-stacktrace-level level        Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic').
      --zap-time-encoding time-encoding   Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'.

After Upgrades:

Run Webhook Daemon which validates/mutates the Custom Resource of the SR-IoV Network Operator

Usage:
  sriov-network-operator-webhook [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  start       Starts Webhook Daemon

Flags:
  -h, --help                              help for sriov-network-operator-webhook
      --zap-devel                         Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error) (default true)
      --zap-encoder encoder               Zap log encoding (one of 'json' or 'console')
      --zap-log-level level               Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', or any integer value > 0 which corresponds to custom debug levels of increasing verbosity
      --zap-stacktrace-level level        Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic').
      --zap-time-encoding time-encoding   Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'.

Use "sriov-network-operator-webhook [command] --help" for more information about a command.

Copy link

github-actions bot commented Jun 6, 2024

Thanks for your PR,
To run vendors CIs use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

Copy link

github-actions bot commented Jun 6, 2024

Thanks for your PR,
To run vendors CIs use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

Copy link

github-actions bot commented Jun 6, 2024

Thanks for your PR,
To run vendors CIs use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

Copy link

github-actions bot commented Jun 6, 2024

Thanks for your PR,
To run vendors CIs use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

@SalDaniele
Copy link
Contributor Author

@zeeke PTAL. Resolved the issues with the missing flags, we removed an indirect dependency on github.com/golang/glog by updating the machine config operator. This package provides an init() method which sets a number of flags such as alsologtostderr.

K8s test is passing now, I believe the OCP failure is unrelated to the PR

@zeeke
Copy link
Member

zeeke commented Jun 6, 2024

@zeeke PTAL. Resolved the issues with the missing flags, we removed an indirect dependency on github.com/golang/glog by updating the machine config operator. This package provides an init() method which sets a number of flags such as alsologtostderr.

K8s test is passing now, I believe the OCP failure is unrelated to the PR

Thanks for going deep here. LGTM

@SalDaniele
Copy link
Contributor Author

Looks like the ocp tests are failing still, I believe this is unrelated

+ internal_registry=image-registry.openshift-image-registry.svc:5000
++ jq '."image-registry.openshift-image-registry.svc:5000".password' registry-login.conf
+ pass='"***"'
+ podman login -u serviceaccount -p *** default-route-openshift-image-registry.apps.opr-ocp-2.lab --tls-verify=false
Error: logging into "default-route-openshift-image-registry.apps.opr-ocp-2.lab": invalid username/password
+ cleanup
+ kcli delete cluster opr-ocp-2 -y
opr-ocp-2-ctlplane-0 deleted on local!
opr-ocp-2-worker-0 deleted on local!
opr-ocp-2-worker-1 deleted on local!
opr-ocp-2-worker-2 deleted on local!
Deleting directory /root/.kcli/clusters/opr-ocp-2
+ kcli delete network opr-ocp-2 -y
Network opr-ocp-2 deleted
make: *** [Makefile:200: test-e2e-conformance-virtual-ocp-cluster-ci] Error 125

@wizhaoredhat
Copy link
Contributor

@adrianchiris PTAL

@SalDaniele
Copy link
Contributor Author

/test-all

Update machine config operator to remove dependency on goproxy.

Signed-off-by: Salvatore Daniele <[email protected]>
Signed-off-by: Salvatore Daniele <[email protected]>
Due to updating the machine config operator, we removed an indirect
dependency on github.com/golang/glog. This package provides an init()
method which sets a number of flags that we expect to be present [1].

To ensure compatability with the updates, we can explicitly add these
flags with the klog.init() method [2]. It is better to include packages
that are required to keep the API consistent explicitly.

[1] https://github.com/golang/glog/blob/424d2337a5299a465c8a8228fc3ba4b1c28337a2/glog.go#L398-L404
[2]
https://github.com/kubernetes/klog#:~:text=Use%20klog.InitFlags(nil)%20explicitly%20for%20initializing%20global%20flags%20as%20we%20no%20longer%20use%20init()%20method%20to%20register%20the%20flags

Signed-off-by: Salvatore Daniele <[email protected]>
Copy link

Thanks for your PR,
To run vendors CIs use one of:

  • /test-all: To run all tests for all vendors.
  • /test-e2e-all: To run all E2E tests for all vendors.
  • /test-e2e-nvidia-all: To run all E2E tests for NVIDIA vendor.

To skip the vendors CIs use one of:

  • /skip-all: To skip all tests for all vendors.
  • /skip-e2e-all: To skip all E2E tests for all vendors.
  • /skip-e2e-nvidia-all: To skip all E2E tests for NVIDIA vendor.
    Best regards.

@SalDaniele
Copy link
Contributor Author

Hi @zeeke any insights into why the OCP CI test is failing?

@SalDaniele
Copy link
Contributor Author

/test-all

@bn222
Copy link
Collaborator

bn222 commented Jun 17, 2024

/override Test SR-IOV Operator / ocp (pull_request)

@bn222
Copy link
Collaborator

bn222 commented Jun 17, 2024

LGTM

@bn222
Copy link
Collaborator

bn222 commented Jun 17, 2024

@ykulazhenkov can you PTAL?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants