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

Deleting default-backend doesn't update backend configuration #673

Closed
Sea-you opened this issue Oct 14, 2020 · 2 comments · Fixed by #680
Closed

Deleting default-backend doesn't update backend configuration #673

Sea-you opened this issue Oct 14, 2020 · 2 comments · Fixed by #680
Labels
Milestone

Comments

@Sea-you
Copy link

Sea-you commented Oct 14, 2020

Description of the problem

It looks like that even with the latest 0.11 beta image, whenever you delete the default-backend pod and it comes up with a new IP address, this is not reflected in the configuration, all other updates are working just fine. Additionally, it'd be nice to be able to configure default-backend's backend protocol independently (or force it to h1) as now - after enabling http/2 backend - I have problems with it as it's a simple HTTP/1.1 webserver.

Before, all good:

haproxy-ingress-0-default-backend-5956896444-99ntl                1/1     Running   0          82m   10.232.6.16

backend _default_backend
    mode http
    balance roundrobin
    http-request set-header X-Original-Forwarded-For %[hdr(x-forwarded-for)] if { hdr(x-forwarded-for) -m found }
    http-request del-header x-forwarded-for
    option forwardfor
    server srv001 10.232.6.16:8080 weight 1 proto h2
    server srv002 127.0.0.1:1023 disabled weight 1 proto h2
    server srv003 127.0.0.1:1023 disabled weight 1 proto h2
    server srv004 127.0.0.1:1023 disabled weight 1 proto h2

After deleting pod:

haproxy-ingress-0-default-backend-5956896444-jpnpv                1/1     Running   0          2m26s   10.232.8.19

backend _default_backend
    mode http
    balance roundrobin
    http-request set-header X-Original-Forwarded-For %[hdr(x-forwarded-for)] if { hdr(x-forwarded-for) -m found }
    http-request del-header x-forwarded-for
    option forwardfor
    server srv001 10.232.6.16:8080 weight 1 proto h2
    server srv002 127.0.0.1:1023 disabled weight 1 proto h2
    server srv003 127.0.0.1:1023 disabled weight 1 proto h2

Expected behavior

Default-backend's IP address should be updated in the configuration.

Steps to reproduce the problem

  1. Start controller
  2. Delete default-backend pod

Environment information

HAProxy Ingress version: v0.11-beta2

Command-line options:

--default-backend-service=ingress/haproxy-ingress-0-default-backend 
--default-ssl-certificate=ingress/tls
--rate-limit-update=0.1 
--verify-hostname=false

Global options:

    backend-protocol: "h2"
    backend-server-slots-increment: "42"
    health-check-interval: "" # Disable backend healthcheck
    max-connections: "20000"
    nbthread: "4"
    ssl-engine: "rdrand"
    ssl-options: "no-tlsv10 no-tlsv11 no-tls-tickets"
    ssl-redirect-code: "301"
    timeout-client-fin: "5s"
    timeout-server-fin: "5s"
    use-htx: "true"

Thanks for all the help in advance!

@jcmoraisjr
Copy link
Owner

Hi, thank you for the report. In fact v0.11 introduced this issue due to its nature (expose without and ingress) and how v0.11 updates the internal state (tracking everything under ingress objects). A new v0.11 beta should be tagged in a few more days.

@jcmoraisjr
Copy link
Owner

Just to let you know that v0.11-beta.3 was just tagged, hope that it fixes the issue in your env. Let me know if anything goes wrong.

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

Successfully merging a pull request may close this issue.

2 participants