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

hostGroup parameter and multiple EDNS resources appear incompatible #2703

Closed
mikeoleary opened this issue Jan 5, 2023 · 1 comment · Fixed by #2734
Closed

hostGroup parameter and multiple EDNS resources appear incompatible #2703

mikeoleary opened this issue Jan 5, 2023 · 1 comment · Fixed by #2734

Comments

@mikeoleary
Copy link

Setup Details

CIS Version : 2.11
Build: f5networks/k8s-bigip-ctlr:latest
BIGIP Version: Big IP 16.1.3.2
AS3 Version: 3.25
Agent Mode: AS3
Orchestration: AKS
Orchestration Version:
Pool Mode: Cluster

Description

If using the hostGroup parameter to club multiple HTTP VS's with different hostnames into the same VIP on the BIG-IP, then multiple ExternalDNS resources for matching DNS records do not work.

One of your GTM pools will have zero pool members.

Example:

  • this works if I deploy 4 separate unrelated resources: VS1+ EDNS1+ VS2+ EDNS2
  • this fails with 1 empty GTM pool if I deploy these resources: VS1 (with hostGroup) + EDNS1 + VS2 (with hostGroup) + EDNS2

Steps To Reproduce

  1. Deploy 2x VS with matching hostGroup and IP address
  2. Deploy 2x EDNS resources to create Wide IP's for these hostnames
  3. Notice that 1 of your EDNS pools is empty.

My manifests:

apiVersion: "cis.f5.com/v1"
kind: VirtualServer
metadata:
  name: hello-world-virtual-server
  namespace: nginx-ingress
  labels:
    f5cr: "true"
spec:
  host: demo.my-f5.com
  hostGroup: tony
  virtualServerAddress: "20.75.27.53"
  pools:
  - path: /
    service: nginx-ingress
    servicePort: 80
    monitor:
      type: http
      interval: 10
      timeout: 31
      send: "/"
      recv: ""
apiVersion: "cis.f5.com/v1"
kind: VirtualServer
metadata:
  name: hello-world-virtual-server2
  namespace: nginx-ingress
  labels:
    f5cr: "true"
spec:
  host: demo2.my-f5.com
  hostGroup: tony
  virtualServerAddress: "20.75.27.53"
  pools:
  - path: /
    service: nginx-ingress
    servicePort: 80
    monitor:
      type: http
      interval: 10
      timeout: 31
      send: "/"
      recv: ""
apiVersion: "cis.f5.com/v1"
kind: ExternalDNS
metadata:
  name: edns-demo
  namespace: nginx-ingress
  labels:
    f5cr: "true"
spec:
  domainName: demo.my-f5.com
  dnsRecordType: A
  loadBalanceMethod: round-robin
  pools:
  - dnsRecordType: A
    loadBalanceMethod: round-robin
    dataServerName: /Common/GSLBServer1
    monitor:
      type: http
      send: "GET / HTTP/1.1\r\nHost: demo.my-f5.com\r\n"
      recv: ""
      interval: 10
      timeout: 10
apiVersion: "cis.f5.com/v1"
kind: ExternalDNS
metadata:
  name: edns-demo2
  namespace: nginx-ingress
  labels:
    f5cr: "true"
spec:
  domainName: demo2.my-f5.com
  dnsRecordType: A
  loadBalanceMethod: round-robin
  pools:
  - dnsRecordType: A
    loadBalanceMethod: round-robin
    dataServerName: /Common/GSLBServer1
    monitor:
      type: http
      send: "GET / HTTP/1.1\r\nHost: demo2.my-f5.com\r\n"
      recv: ""
      interval: 10
      timeout: 10

Expected Result

I would expect that we can have a single VS on the BIG-IP to serve multiple hostnames, and multiple WideIP's for all (or some) of the hostnames that are grouped under this VS.

Actual Result

1 of your EDNS pools is empty.

@mikeoleary mikeoleary added bug untriaged no JIRA created labels Jan 5, 2023
@trinaths
Copy link
Contributor

trinaths commented Jan 6, 2023

Created [CONTCNTR-3755] for internal tracking.

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

Successfully merging a pull request may close this issue.

2 participants