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

task: Sync master from upstream #2

Merged
merged 58 commits into from
Jul 2, 2024

Conversation

github-actions[bot]
Copy link

Created by Mellanox/sriov-network-operator CI (sync-fork job).

SchSeba and others added 15 commits May 13, 2024 16:13
SriovNetworkNodePolicySpec - Bridge field added
SriovNetworkNodeStateSpec - Bridges field added
SriovNetworkNodeStateStatus - Bridges field added
VirtualFunction - RepresentroName field added

Signed-off-by: Yury Kulazhenkov <[email protected]>
[software-bridges 1/x] Update API to support automatic bridge creation
Add support for reporting VF representor
name when the NIC is in switchev mode

Signed-off-by: Yury Kulazhenkov <[email protected]>
Today, we are missing 2 checks on settings that sriov netop is
configuring:
* PF is up
* GUID is set

Without checking for these 2, we risk that changes made by the user
directly to the system are not reconciled by the netop leaving the
system in a bad state.

This commit is adding those checks.

Signed-off-by: Vasilis Remmas <[email protected]>
Add more checks on generic plugin to discover discrepancies from the desired state
Signed-off-by: Andrea Panattoni <[email protected]>
Add a make rule to verify `make manifests` has been run after every
change to the CRDs.

Signed-off-by: Andrea Panattoni <[email protected]>
When the MTU set in the SRIOV Network Node Policy is lower than the
actual MTU of the PF, it triggers the reconcile loop for the Node state
indefinitely, preventing the configuration from completing.

Signed-off-by: amaslennikov <[email protected]>
Copy link
Author

github-actions bot commented Jun 5, 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.

Add 'IB VF GUID Configuration' design doc
Copy link
Author

github-actions bot commented Jun 5, 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
Author

github-actions bot commented Jun 5, 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.

Fix issue preventing lowering of PF's MTU
Copy link
Author

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.

e0ne and others added 8 commits June 6, 2024 18:20
Since we always deploy both mutation and validating webhooks there is
no need to validate policy for InfiniBand and RDMA enabled because
mutating webhook will wet 'isRdma' flag to 'true' for InfiniBand'.
- add workflow to update helm chart and push to ghcr.io oc registry
- add chart update script to edit chart values for a specific release
- add chart push script to package and push helm chart
- add makefile targets to install pre-req and invoke scripts above

Signed-off-by: adrianc <[email protected]>
this will allow to publish a separate package
for the chart named: sriov-network-operator-chart

eg: ghcr.io/k8snetworkplumbingwg/sriov-network-operator-chart

Signed-off-by: adrianc <[email protected]>
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]>
Signed-off-by: Balazs Nemeth <[email protected]>
Bump go version to 1.22
[metrics 1/x] Support `sriov-network-metrics-exporter`
Copy link
Author

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.

Update ovs-cni image path to use NPWG registry
Copy link
Author

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.

[software-bridges 2/x] report VF representor name in SriovNetworkNodeState.Status field
Copy link
Author

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.

…es/github.com/hashicorp/go-retryablehttp-0.7.7

Bump github.com/hashicorp/go-retryablehttp from 0.7.0 to 0.7.7
Copy link
Author

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.

zeeke and others added 2 commits June 25, 2024 19:15
Merge issue coming from
- #690
- #587

Signed-off-by: Andrea Panattoni <[email protected]>
Copy link
Author

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.

zeeke and others added 6 commits June 26, 2024 08:13
Using `helm` to deploy the operator in vanilla k8s CI lanes helps
avoid error in helm charts changes.
Instead of adding a new helm e2e lane (as it would increase the CI load), we can keep the already in place lanes as:
- OpenShift: use the `hack/deploy-setup.sh` script
- K8s: use helm chart

Signed-off-by: Andrea Panattoni <[email protected]>
Webhook resources (`ValidatingWebhookConfiguration` and `MutatingWebhookConfiguration`) in OpenShift
are configured with `service.beta.openshift.io/inject-cabundle` in a way that
a third component fills the ClientConfig.CABundle field of the webhook.
When reconciling webhooks, do not override the field and avoid a flakiness, as
there might be a time slot in which the API server is not configured with a valid
client certificate:

```
Error from server (InternalError): error when creating "policies": Internal error occurred: failed calling webhook "operator-webhook.sriovnetwork.openshift.io": failed to call webhook: Post "https://operator-webhook-service.openshift-sriov-network-operator.svc:443/mutating-custom-resource?timeout=10s": tls: failed to verify certificate: x509: certificate signed by unknown authority
```

The same behavior also happens when using CertManager

Refs:
- https://docs.openshift.com/container-platform/4.15/security/certificates/service-serving-certificate.html
- https://issues.redhat.com/browse/OCPBUGS-32139
- https://cert-manager.io/docs/concepts/ca-injector/

Signed-off-by: Andrea Panattoni <[email protected]>
If a Virtual Function is configured with a DPDK driver (e.g. `vfio-pci`) and it is not
referred by any SriovNetworkNodePolicy, `NeedToUpdateSriov` function must not
trigger a  reconfiguration. This may happen if a PF is configured by multiple policies
(via PF partitioning) and a policy is deleted by the user. In these cases, the VF is not
reconfigured [1] and a drain loop is started

The same logic applies to VDPA devices.

refs:
[1] https://github.com/k8snetworkplumbingwg/sriov-network-operator/blob/5f3c4e903f789aa177fe54686efd6c18576b7ab1/pkg/host/internal/sriov/sriov.go#L457

Signed-off-by: Andrea Panattoni <[email protected]>
fix: regenerate API pkg with controller-gen 0.14.0 and go 1.22
Copy link
Author

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.

Avoid reconciling field `Webhook.ClientConfig.CABundle`
Copy link
Author

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.

SchSeba and others added 2 commits June 27, 2024 18:16
we need to be consistent with the policy order

Signed-off-by: Sebastian Sch <[email protected]>
add sort for the policy on the sriovOperatorConfig controller
Copy link
Author

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.

e2e: Use `helm` to deploy on k8s cluster
Copy link
Author

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.

Remove webhook validation for InfiniBand and RDMA
Copy link
Author

github-actions bot commented Jul 1, 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.

Avoid reconfiguring unmentioned DPDK VFs
Copy link
Author

github-actions bot commented Jul 1, 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.

@maze88 maze88 merged commit 630f110 into Mellanox:master Jul 2, 2024
10 of 12 checks passed
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.

10 participants