diff --git a/.gitignore b/.gitignore index b0ebccf55a8bbf9b5d492d715e525f3af40989e8..62e114ccded4c78ae2ac0568f8129713618a8796 100644 --- a/.gitignore +++ b/.gitignore @@ -3,9 +3,8 @@ artifacts/ # containerlab -.gosdn.clab.yml clab-gosdn_csbi_arista_base/ -.gosdn.clab.yml.bak +*clab.yml.bak # non vimmers .vscode/ diff --git a/.gitlab/ci/.test.yml b/.gitlab/ci/.test.yml index 0ee0abe84417b3ed997b5a2caffd3a47e03aabb1..4edcd3c592f6e72403bf3a2a4f8b6ddf6d55d57a 100644 --- a/.gitlab/ci/.test.yml +++ b/.gitlab/ci/.test.yml @@ -32,10 +32,3 @@ controller-test: - cd controller - make ci-controller-test <<: *test - -test-build: - artifacts: - when: never - script: - - make build - <<: *test diff --git a/Makefile b/Makefile index 88f9f38a0b3d64f69e168c089014251631a27284..f690c355d17d9f001df71e7190f6bfa2e833e6b0 100644 --- a/Makefile +++ b/Makefile @@ -103,13 +103,13 @@ containerize-hostname-checker-app: docker buildx build --rm -t hostname-checker-app -f applications/hostname-checker/hostname-checker.Dockerfile . containerlab-start: containerize-all - sudo containerlab deploy --topo gosdn.clab.yaml + sudo containerlab deploy --topo dev_env_data/clab/gosdn.clab.yaml containerlab-stop: - sudo containerlab destroy --topo gosdn.clab.yaml + sudo containerlab destroy --topo dev_env_data/clab/gosdn.clab.yaml containerlab-graph: - sudo containerlab graph --topo gosdn.clab.yaml + sudo containerlab graph --topo dev_env_data/clab/gosdn.clab.yaml shell-gosdn: docker exec -it clab-gosdn_csbi_arista_base-gosdn bash diff --git a/dev_env_data/clab/gosdn.clab.yaml b/dev_env_data/clab/gosdn.clab.yaml new file mode 100644 index 0000000000000000000000000000000000000000..281dda7381e77ea14712907da568303925247b18 --- /dev/null +++ b/dev_env_data/clab/gosdn.clab.yaml @@ -0,0 +1,116 @@ +name: gosdn_csbi_arista_base + +mgmt: + network: gosdn-csbi-arista-base-net + ipv4_subnet: 172.100.0.0/16 + ipv6_subnet: 2001:db8::/64 + +topology: + kinds: + ceos: + image: registry.code.fbi.h-da.de/danet/containers/ceos:4.28.2F + nodes: + ceos0: + kind: ceos + mgmt_ipv4: 172.100.0.11 + group: spine + + ceos1: + kind: ceos + mgmt_ipv4: 172.100.0.12 + group: spine + + centos0: + kind: linux + image: centos:8 + mgmt_ipv4: 172.100.0.3 + group: server + + centos1: + kind: linux + image: centos:8 + mgmt_ipv4: 172.100.0.4 + group: server + + gosdn: + kind: linux + image: gosdn + ports: + - 55055:55055 + - 8080:8080 + - 40000:40000 + cmd: + --config /gosdn/configs/containerlab-gosdn.toml + mgmt_ipv4: 172.100.0.5 + + gnmi-target: + kind: linux + image: gnmi-target + ports: + - 7030:7030 + mgmt_ipv4: 172.100.0.6 + + csbi-orchestrator: + kind: linux + image: orchestrator + ports: + - 55056:55056 + - 9338:9338 + binds: + - /var/run/docker.sock:/var/run/docker.sock + - ../../csbi/.csbi.yaml:/etc/.csbi.yml + cmd: --log-level trace --config /etc/.csbi.yml + mgmt_ipv4: 172.100.0.7 + + grafana: + kind: linux + image: grafana/grafana:8.1.2 + binds: + - ../../csbi/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources + ports: + - 3000:3000 + mgmt_ipv4: 172.100.0.8 + + prometheus: + kind: linux + image: prom/prometheus:v2.29.1 + ports: + - 9000:9090 + binds: + - ../../csbi/prometheus:/etc/prometheus + cmd: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml + mgmt_ipv4: 172.100.0.9 + + mongodb: + kind: linux + image: mongo:5 + ports: + - 27017:27017 + env: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: example + mgmt_ipv4: 172.100.0.13 + + mongodb-express: + kind: linux + image: mongo-express:0.54.0 + ports: + - 8081:8081 + env: + ME_CONFIG_MONGODB_ADMINUSERNAME: root + ME_CONFIG_MONGODB_ADMINPASSWORD: example + ME_CONFIG_MONGODB_SERVER: mongodb + mgmt_ipv4: 172.100.0.14 + + rabbitmq: + kind: linux + image: rabbitmq:3-management + ports: + - 127.0.0.1:5672:5672 + - 127.0.0.1:15672:15672 + mgmt_ipv4: 172.100.0.15 + + links: + - endpoints: ["ceos0:eth1","ceos1:eth1"] + - endpoints: ["ceos0:eth2","centos0:eth1"] + - endpoints: ["ceos1:eth2","centos1:eth1"] diff --git a/dev_env_data/clab/sts_demo.clab.yaml b/dev_env_data/clab/sts_demo.clab.yaml new file mode 100644 index 0000000000000000000000000000000000000000..35dc8db2c836375c1eb797f942439a3d9031ac23 --- /dev/null +++ b/dev_env_data/clab/sts_demo.clab.yaml @@ -0,0 +1,40 @@ +name: gosdn_csbi_arista_base + +mgmt: + network: gosdn-csbi-arista-base-net + ipv4_subnet: 172.100.0.0/16 + ipv6_subnet: 2001:db8::/64 + +topology: + kinds: + ceos: + image: registry.code.fbi.h-da.de/danet/containers/ceos:4.28.2F + + nodes: + ceos0: + kind: ceos + mgmt_ipv4: 172.100.0.11 + group: spine + + client0: + kind: linux + image: registry.code.fbi.h-da.de/danet/gnmi-target/ubuntu:develop + mgmt_ipv4: 172.100.0.3 + group: server + + client1: + kind: linux + image: registry.code.fbi.h-da.de/danet/gnmi-target/ubuntu:develop + mgmt_ipv4: 172.100.0.4 + group: server + + client2: + kind: linux + image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:develop + mgmt_ipv4: 172.100.0.5 + group: server + + links: + - endpoints: ["ceos0:eth1","client0:eth1"] + - endpoints: ["ceos0:eth2","client1:eth1"] + - endpoints: ["ceos0:eth3","client2:eth1"] diff --git a/gosdn.clab.yaml b/gosdn.clab.yaml deleted file mode 100644 index 4460de229fa7c4ed20222701f30bbec3e8452c9e..0000000000000000000000000000000000000000 --- a/gosdn.clab.yaml +++ /dev/null @@ -1,116 +0,0 @@ -name: gosdn_csbi_arista_base - -mgmt: - network: gosdn-csbi-arista-base-net - ipv4_subnet: 172.100.0.0/16 - ipv6_subnet: 2001:db8::/64 - -topology: - kinds: - ceos: - image: registry.code.fbi.h-da.de/danet/containers/ceos:4.28.2F - nodes: - ceos0: - kind: ceos - mgmt_ipv4: 172.100.0.11 - group: spine - - ceos1a: - kind: ceos - mgmt_ipv4: 172.100.0.12 - group: spine - - centos1: - kind: linux - image: centos:8 - mgmt_ipv4: 172.100.0.3 - group: server - - centos2: - kind: linux - image: centos:8 - mgmt_ipv4: 172.100.0.4 - group: server - - #gosdn: - # kind: linux - # image: gosdn - # ports: - # - 55055:55055 - # - 8080:8080 - # - 40000:40000 - # cmd: - # --config /gosdn/configs/containerlab-gosdn.toml - # mgmt_ipv4: 172.100.0.5 -# - #gnmi-target: - # kind: linux - # image: gnmi-target - # ports: - # - 7030:7030 - # mgmt_ipv4: 172.100.0.6 -# - #csbi-orchestrator: - # kind: linux - # image: orchestrator - # ports: - # - 55056:55056 - # - 9338:9338 - # binds: - # - /var/run/docker.sock:/var/run/docker.sock - # - ./csbi/.csbi.yaml:/etc/.csbi.yml - # cmd: --log-level trace --config /etc/.csbi.yml - # mgmt_ipv4: 172.100.0.7 -# - #grafana: - # kind: linux - # image: grafana/grafana:8.1.2 - # binds: - # - ./csbi/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources - # ports: - # - 3000:3000 - # mgmt_ipv4: 172.100.0.8 -# - #prometheus: - # kind: linux - # image: prom/prometheus:v2.29.1 - # ports: - # - 9000:9090 - # binds: - # - ./csbi/prometheus:/etc/prometheus - # cmd: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml - # mgmt_ipv4: 172.100.0.9 -# - #mongodb: - # kind: linux - # image: mongo:5 - # ports: - # - 27017:27017 - # env: - # MONGO_INITDB_ROOT_USERNAME: root - # MONGO_INITDB_ROOT_PASSWORD: example - # mgmt_ipv4: 172.100.0.13 -# - #mongodb-express: - # kind: linux - # image: mongo-express:0.54.0 - # ports: - # - 8081:8081 - # env: - # ME_CONFIG_MONGODB_ADMINUSERNAME: root - # ME_CONFIG_MONGODB_ADMINPASSWORD: example - # ME_CONFIG_MONGODB_SERVER: mongodb - # mgmt_ipv4: 172.100.0.14 -# - #rabbitmq: - # kind: linux - # image: rabbitmq:3-management - # ports: - # - 127.0.0.1:5672:5672 - # - 127.0.0.1:15672:15672 - # mgmt_ipv4: 172.100.0.15 -# - links: - - endpoints: ["ceos0:eth1","ceos1a:eth1"] - - endpoints: ["ceos0:eth2","centos1:eth1"] - - endpoints: ["ceos1a:eth2","centos2:eth1"]