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

Issue: Installation failure with controller-v1.12.0 due to invalid paths with pathType: Prefix #12637

Closed
dmuley17 opened this issue Jan 7, 2025 · 2 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@dmuley17
Copy link

dmuley17 commented Jan 7, 2025

We encountered an issue with the installation of ingress-nginx using version controller-v1.12.0. During the installation, the following error occurs:

W0107 14:30:31.975740    1812 warnings.go:70] path /api/v1/schedules:batchDelete cannot be used with pathType Prefix
Error: INSTALLATION FAILED: 1 error occurred:
        * admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: ingress contains invalid paths: path /api/v1/authorization:evaluate cannot be used with pathType Prefix
...

The error indicates that several paths with special characters (e.g., :) in their names are being rejected when using pathType: Prefix.

However, version 4.11.4 works perfectly without triggering this error.

Steps to Reproduce:
Install the ingress-nginx chart with version controller-v1.12.0 using the following Helm command:

helm install ingress-nginx ingress-nginx/ingress-nginx --version controller-v1.12.0

Observe that the installation fails due to invalid paths with pathType: Prefix.
Expected Behavior:
The installation should complete successfully, similar to how it works with version 4.11.4.

Additional Context:
Helm Chart Version: controller-v1.12.0
The paths mentioned in the error are used in various endpoints (e.g., /api/v1/schedules:batchDelete, /api/v1/authorization:evaluate).
The issue does not occur with version 4.11.4 of the Helm chart, where the paths with pathType: Prefix are accepted without issues.
Environment:
Kubernetes version:
Client Version: v1.30.8-dispatcher
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.6-gke.1125000

Helm version:

version.BuildInfo{Version:"v3.16.3", GitCommit:"cfd07493f46efc9debd9cc1b02a0961186df7fdf", GitTreeState:"clean", GoVersion:"go1.22.7"}

W0107 14:30:31.975740    1812 warnings.go:70] path /api/v1/schedules:batchDelete cannot be used with pathType Prefix
...

Please investigate why version controller-v1.12.0 is rejecting paths with pathType: Prefix and fix the issue, as it works fine with version 4.11.4.

@dmuley17 dmuley17 added the kind/bug Categorizes issue or PR as related to a bug. label Jan 7, 2025
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jan 7, 2025
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@Gacko
Copy link
Member

Gacko commented Jan 7, 2025

Strict path type validation is enabled by default since v1.12. See the release notes for this change and either change your Ingress resource(s) to path type ImplementationSpecific or disable strict path type validation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
Development

No branches or pull requests

3 participants