-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathnokia-sr.clab.yml
105 lines (91 loc) · 2.88 KB
/
nokia-sr.clab.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
name: sr
topology:
kinds:
vr-sros:
image: registry.srlinux.dev/pub/vr-sros:22.7.R1 # internal image, external users should build/use their own image
license: ./license_sr.key # license file must be obtained from Nokia
linux:
image: ghcr.io/hellt/network-multitool
nodes:
r1:
kind: vr-sros
type: sr-1
startup-config: ./configs/R1.partial.txt
r2:
kind: vr-sros
type: sr-1
startup-config: ./configs/R2.partial.txt
r3:
kind: vr-sros
type: sr-1
startup-config: ./configs/R3.partial.txt
r4:
kind: vr-sros
type: sr-1
startup-config: ./configs/R4.partial.txt
r5:
kind: vr-sros
type: sr-1
startup-config: ./configs/R5.partial.txt
r6:
kind: vr-sros
type: sr-1
startup-config: ./configs/R6.partial.txt
home:
kind: linux
binds:
- ./configs/clients:/config
exec:
- bash /config/eth1.sh
- ip addr add 10.0.1.10/24 dev eth1.10
- ip addr add 20.0.1.10/24 dev eth1.20
- ip r add 10.0.2.0/24 via 10.0.1.1
- ip r add 20.0.2.0/24 via 10.0.1.1
services:
kind: linux
binds:
- ./configs/clients:/config
exec:
- bash /config/eth1.sh
- ip addr add 10.0.2.10/24 dev eth1.10
- ip addr add 20.0.2.10/24 dev eth1.20
- ip r add 10.0.1.0/24 via 10.0.2.1
- ip r add 20.0.1.0/24 via 10.0.2.1
- iperf3 -s -p 5201 -D > iperf3_1.log
- iperf3 -s -p 5202 -D > iperf3_2.log
### TELEMETRY STACK ###
gnmic:
kind: linux
image: ghcr.io/karimra/gnmic:0.26.0
binds:
- configs/gnmic/gnmic-config.yml:/gnmic-config.yml:ro
cmd: --config /gnmic-config.yml --log subscribe
prometheus:
kind: linux
image: prom/prometheus:v2.35.0
binds:
- configs/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
cmd: --config.file=/etc/prometheus/prometheus.yml
ports:
- 9090:9090
grafana:
kind: linux
image: grafana/grafana:8.5.2
binds:
- configs/grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yaml:ro
- configs/grafana/dashboards.yml:/etc/grafana/provisioning/dashboards/dashboards.yaml:ro
- configs/grafana/dashboards:/var/lib/grafana/dashboards
- configs/grafana/grafana-flowcharting:/var/lib/grafana/plugins/grafana-flowcharting
ports:
- 3000:3000
links:
- endpoints: ["r1:eth2", "r3:eth1"]
- endpoints: ["r1:eth3", "r4:eth1"]
- endpoints: ["r3:eth2", "r4:eth2"]
- endpoints: ["r3:eth3", "r5:eth3"]
- endpoints: ["r4:eth3", "r6:eth3"]
- endpoints: ["r5:eth1", "r2:eth2"]
- endpoints: ["r6:eth1", "r2:eth3"]
- endpoints: ["r5:eth2", "r6:eth2"]
- endpoints: ["home:eth1", "r1:eth1"]
- endpoints: ["services:eth1", "r2:eth1"]