Skip to content

Commit

Permalink
ci: make external workload only use global DNS server in test
Browse files Browse the repository at this point in the history
[ upstream commit 77d5fae ]

Follow cilium/cilium#19483

Only use the first configured DNS server (the global one) in the
test. Also add nslookup debug and retry options in case they are needed
for further debugging and troubleshooting.

This fixes external workload CI test on master that failed like this:

Server:		169.254.169.254
Address:	169.254.169.254#53

** server can't find clustermesh-apiserver.kube-system.svc.cluster.local: NXDOMAIN

Here an incorrect nameserver is being used by nslookup. This
169.254.169.254 is configured (now) in GKE as a nameserver for some
local names. Don't know why nslookup sometimes chooses it if no server
address is given as a parameter.

Co-authored-by: Jarno Rajahalme <[email protected]>
Signed-off-by: Tobias Klauser <[email protected]>
  • Loading branch information
tklauser and jrajahalme committed May 20, 2022
1 parent 8d2c587 commit 44214ab
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/externalworkloads.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ jobs:
- name: Verify cluster DNS on VM
run: |
gcloud compute ssh ${{ env.vmName }} --zone ${{ env.zone }} \
--command "nslookup -norecurse clustermesh-apiserver.kube-system.svc.cluster.local"
--command "nslookup -d2 -retry=10 -timeout=5 -norecurse clustermesh-apiserver.kube-system.svc.cluster.local \$(systemd-resolve --status | grep -m 1 \"Current DNS Server:\" | cut -d':' -f2)"
- name: Ping clustermesh-apiserver from VM
run: |
Expand Down

0 comments on commit 44214ab

Please sign in to comment.