Kuadrant / multicluster-gateway-controller

multi-cluster gateway controller, manages multi-cluster gateways based on gateway api and policy attachment
Apache License 2.0
10 stars 23 forks source link

release 0.3 manual docs testing #717

Closed maleck13 closed 8 months ago

maleck13 commented 9 months ago

what

This covers a set of tests to execute as part of release testing around documentation. It does not cover every doc, the aim is to cover what we consider to be the core / most valuable user facing docs.

Process

There is a corresponding unified-kuadrant-layout branch of the docs also https://github.com/Kuadrant/docs.kuadrant.io/tree/unified-kuadrant-layout

Check out this branch and run the docs locally usinging mkdocs serve

david-martin commented 8 months ago
  • Follow the DNSPolicy health checks guide

following what I can from /docs/dnspolicy/dns-health-checks/, I patched the DNSPolicy after going through the multi cluster walkthrough:

[
  {
    "op": "add",
    "path": "/spec/healthCheck",
    "value": {
      "allowInsecureCertificates": true,
      "endpoint": "/",
      "expectedResponses": [200, 201, 301],
      "failureThreshold": 5,
      "port": 443,
      "protocol": "https"
    }
  }
]

kubectl patch dnspolicy prod-web --type=json --patch-file=patch.json -n multi-cluster-gateways

I'm not seeing any DNSHealthCheckProbe resources

kubectl get DNSHealthCheckProbe -A
No resources found

Here's the full DNSPolicy spec:

spec:
  healthCheck:
    allowInsecureCertificates: true
    endpoint: /
    expectedResponses:
    - 200
    - 201
    - 301
    failureThreshold: 5
    port: 443
    protocol: https
  routingStrategy: loadbalanced
  targetRef:
    group: gateway.networking.k8s.io
    kind: Gateway
    name: prod-web

dig and curl are working as expected for the HTTPRoute host echo.dm.hcpapps.net.

Full log of the policy controller here.

maleck13 commented 8 months ago

@david-martin ok I will give it a go here also to reproduce

david-martin commented 8 months ago

@maleck13 The problem was the wildcard hostname in the Gateway listener. I changed it to the full hostname and how the probes are created:

kubectl get -l kuadrant.io/gateway=prod-web dnshealthcheckprobes -A
NAMESPACE                NAME                        HEALTHY   LAST CHECKED
multi-cluster-gateways   172.31.201.0-prod-web-api   true      5s
multi-cluster-gateways   172.31.202.0-prod-web-api

I'll mark that test as OK now.

maleck13 commented 8 months ago

Yeah figured that out also. Added https://github.com/Kuadrant/multicluster-gateway-controller/issues/726 as it is difficult to figure that out