Skip to content

revert(vd): revert allowing ingress from virtualization namespace to uploader pods#2396

Merged
hardcoretime merged 1 commit into
mainfrom
revert/67b70fa88-e2e-upload-failure
May 22, 2026
Merged

revert(vd): revert allowing ingress from virtualization namespace to uploader pods#2396
hardcoretime merged 1 commit into
mainfrom
revert/67b70fa88-e2e-upload-failure

Conversation

@hardcoretime
Copy link
Copy Markdown
Contributor

@hardcoretime hardcoretime commented May 22, 2026

Description

Reverts the changes introduced in commit 67b70fa which added an Ingress rule to NetworkPolicy for uploader pods.

The original fix added an Ingress rule allowing traffic only from namespaces labeled with module: virtualization. This was intended to allow the CDI controller to scrape progress metrics from importer pods in isolated namespaces. However, this breaks the e2e DataExport test because the uploader pod is accessed via the Ingress controller, which is located in a different namespace (e.g., d8-ingress-nginx) with label module: ingress-nginx.

Why do we need it, and what problem does it solve?

The e2e test DataExports exports VirtualDisk and VirtualDiskSnapshot, then restores data via upload fails with the following error:

failed to sync virtual disk data source upload: failed to get upload server status: Get "https://virtualization.example.com/upload/...": context deadline exceeded

The request flow in the test:

  1. Test sends HTTP request to the Ingress URL
  2. Request hits the Ingress controller pod (in d8-ingress-nginx namespace)
  3. Ingress controller proxies the request to the uploader pod
  4. NetworkPolicy blocks this because the source namespace has module: ingress-nginx label, not module: virtualization

The fix reverts the Ingress rule addition, restoring the previous behavior where only Egress policy was applied.

What is the expected result?

The e2e test DataExports should pass after this revert.

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: core
type: chore
summary: "Reverted NetworkPolicy Ingress rule that broke e2e DataExport test. The Ingress rule was blocking traffic from ingress controller namespaces."
impact_level: low

…uploader pods

This reverts commit 67b70fa.

The original fix introduced an Ingress rule that allowed traffic only from
namespaces labeled with 'module: virtualization'. However, this breaks the
e2e DataExport test because the uploader pod is accessed via Ingress controller,
which is located in a different namespace (e.g., d8-ingress-nginx) that has
'module: ingress-nginx' label instead.

The request flow in the test:
1. Test sends HTTP request to the Ingress URL
2. Request hits the Ingress controller pod (in d8-ingress-nginx namespace)
3. Ingress controller proxies the request to the uploader pod
4. NetworkPolicy blocks this because the source namespace doesn't have
   'module: virtualization' label

A proper fix would require allowing ingress from ingress controller namespaces
or using pod selectors instead of namespace selectors.

Signed-off-by: Roman Sysoev <roman.sysoev@flant.com>
@hardcoretime hardcoretime added this to the v1.9.0 milestone May 22, 2026
@hardcoretime hardcoretime changed the title revert(vd): revert allowing ingress from virtualization namespace to … revert(vd): revert allowing ingress from virtualization namespace to uploader pods May 22, 2026
@hardcoretime hardcoretime merged commit 07a18f3 into main May 22, 2026
32 of 34 checks passed
@hardcoretime hardcoretime deleted the revert/67b70fa88-e2e-upload-failure branch May 22, 2026 13:29
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.

2 participants