Mercurial > code > home > repos > infra
annotate dns_k8s_check.py @ 238:a521d08d2b0d
upgrade syncthing
author | drewp@bigasterisk.com |
---|---|
date | Mon, 27 Nov 2023 22:15:10 -0800 |
parents | bf1573dd1947 |
children |
rev | line source |
---|---|
59
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
1 import json |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
2 import subprocess |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
3 |
78 | 4 corednsConfig = subprocess.check_output(["kubectl", "get", "-n", "kube-system", "configmap/coredns", "-o", "yaml"]).decode('ascii') |
5 print(corednsConfig) | |
6 if 'forward . 10.5.0.1' not in corednsConfig: | |
7 raise ValueError("coredns config is wrong") | |
8 | |
59
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
9 subprocess.check_call(["skaffold", "run"], cwd="/my/proj/infra/k8s_lookup/") |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
10 |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
11 try: |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
12 j = subprocess.check_output(['kubectl', 'get', 'pod', '-o', 'json', '--selector', 'name=k8s-lookup']) |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
13 pods = json.loads(j)['items'] |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
14 for lookupName in [ |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
15 'bang', |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
16 'bang.bigasterisk.com', |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
17 'bang.bigasterisk.com.', |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
18 'mongodb.default.svc.cluster.local', |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
19 'mongodb.default.svc.cluster.local.', |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
20 ]: |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
21 for pod in pods: |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
22 runningOn = pod['spec']['nodeName'] |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
23 podName = pod['metadata']['name'] |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
24 |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
25 r = subprocess.run( |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
26 ['kubectl', 'exec', f'pod/{podName}'] + ['--'] + # |
81 | 27 ['dnsget', '-o', 'timeout:2', '-q', lookupName], |
59
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
28 capture_output=True) |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
29 result = (r.stdout + r.stderr).decode('ascii').strip().replace('\n', '; ') |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
30 print(f'looked up {lookupName} from pod on {runningOn} -> {result}') |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
31 |
fa7a71b8a97f
more dns checks, including from inside containers in k8s`
drewp@bigasterisk.com
parents:
diff
changeset
|
32 finally: |
81 | 33 pass#subprocess.check_call(["skaffold", "delete"], cwd="/my/proj/infra/k8s_lookup/") |