forked from srl-labs/srl-telemetry-lab
-
Notifications
You must be signed in to change notification settings - Fork 0
/
st.clab.yml
122 lines (111 loc) · 3.31 KB
/
st.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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# Copyright 2020 Nokia
# Licensed under the BSD 3-Clause License.
# SPDX-License-Identifier: BSD-3-Clause
name: st # short for streaming telemetry ;)
prefix: ""
mgmt:
network: st
ipv4_subnet: 172.80.80.0/24
topology:
defaults:
kind: srl
kinds:
srl:
image: ghcr.io/nokia/srlinux:22.6.4
type: ixrd2l
linux:
image: ghcr.io/hellt/network-multitool
nodes:
### SPINES ###
spine1:
type: ixrd3l
group: spine
startup-config: configs/fabric/spine1.cfg
mgmt_ipv4: 172.80.80.21
spine2:
type: ixrd3l
group: spine
startup-config: configs/fabric/spine2.cfg
mgmt_ipv4: 172.80.80.22
### LEAFS ###
leaf1:
startup-config: configs/fabric/leaf1.cfg
mgmt_ipv4: 172.80.80.11
group: leaf
leaf2:
startup-config: configs/fabric/leaf2.cfg
mgmt_ipv4: 172.80.80.12
group: leaf
leaf3:
startup-config: configs/fabric/leaf3.cfg
mgmt_ipv4: 172.80.80.13
group: leaf
### CLIENTS ###
client1:
kind: linux
mgmt_ipv4: 172.80.80.31
exec:
- ip address add 172.17.0.1/24 dev eth1
- ip -6 address add 2002::172:17:0:1/96 dev eth1
- iperf3 -s -p 5201 -D > iperf3_1.log
- iperf3 -s -p 5202 -D > iperf3_2.log
group: server
client2:
kind: linux
mgmt_ipv4: 172.80.80.32
binds:
- configs/client2:/config
exec:
- ip address add 172.17.0.2/24 dev eth1
- ip -6 address add 2002::172:17:0:2/96 dev eth1
group: server
client3:
kind: linux
mgmt_ipv4: 172.80.80.33
binds:
- configs/client3:/config
exec:
- ip address add 172.17.0.3/24 dev eth1
- ip -6 address add 2002::172:17:0:3/96 dev eth1
group: server
### TELEMETRY STACK ###
gnmic:
kind: linux
mgmt_ipv4: 172.80.80.41
image: ghcr.io/karimra/gnmic:0.26.0
binds:
- gnmic-config.yml:/gnmic-config.yml:ro
cmd: --config /gnmic-config.yml --log subscribe
group: "10" # group 10 is assigned to the nodes of a telemetry stack
prometheus:
kind: linux
mgmt_ipv4: 172.80.80.42
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
group: "10"
grafana:
kind: linux
mgmt_ipv4: 172.80.80.43
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
group: "10"
links:
- endpoints: ["spine1:e1-1", "leaf1:e1-49"]
- endpoints: ["spine1:e1-2", "leaf2:e1-49"]
- endpoints: ["spine1:e1-3", "leaf3:e1-49"]
- endpoints: ["spine2:e1-1", "leaf1:e1-50"]
- endpoints: ["spine2:e1-2", "leaf2:e1-50"]
- endpoints: ["spine2:e1-3", "leaf3:e1-50"]
- endpoints: ["leaf1:e1-1", "client1:eth1"]
- endpoints: ["leaf2:e1-1", "client2:eth1"]
- endpoints: ["leaf3:e1-1", "client3:eth1"]