Skip to content
Snippets Groups Projects
Commit ecf8c480 authored by Malte Bauch's avatar Malte Bauch
Browse files

Update gosdn.clab.yml with additional nodes and link to private container repo

The containerlab topology does now contain two additional centos
clients. Additionally, the mgmt_ipv4 addresses for each node have been
set.

The topoplogy now does look like:

ceos0 <- - - -> ceos1a
  |               |
  |               |
centos1         centos2

The README file has been updated to address the new situation with the
Arista cEOS image location. We've moved the image into a private
repository so that it is only accessible for danet group members and
everyone else has to download it from the Arista Homepage.
parent 837c6cec
Branches
Tags
2 merge requests!273Update gosdn.clab.yaml,!264WIP: Develop
Pipeline #98785 passed
variables: variables:
GOSDN_IMAGE: "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}" GOSDN_IMAGE: "${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}"
GOSDN_TESTING_IMAGE: "${CI_REGISTRY_IMAGE}:testing_${CI_COMMIT_SHA}" GOSDN_TESTING_IMAGE: "${CI_REGISTRY_IMAGE}:testing_${CI_COMMIT_SHA}"
CEOS_IMAGE: "$CI_REGISTRY_IMAGE/ceos:latest" CEOS_IMAGE: "${CI_PCONTAINERS_REGISTRY_IMAGE}/ceos:latest"
GOLANG_VERSION: "1.18" GOLANG_VERSION: "1.18"
stages: stages:
......
...@@ -25,7 +25,7 @@ containerlab-deploy: ...@@ -25,7 +25,7 @@ containerlab-deploy:
-e "s|@@CLAB_MGMT_SUBNET@@|${CLAB_MGMT_SUBNET}|g" \ -e "s|@@CLAB_MGMT_SUBNET@@|${CLAB_MGMT_SUBNET}|g" \
${CLAB_TEMPLATE} > ${CLAB_NAME}.clab.yml ${CLAB_TEMPLATE} > ${CLAB_NAME}.clab.yml
- cat ${CLAB_NAME}.clab.yml - cat ${CLAB_NAME}.clab.yml
- echo "$CI_REGISTRY_PASSWORD" | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY - echo "${DOCKER_AUTH_CONFIG}" > ~/.docker/config.json | docker login $CI_REGISTRY
- echo ${GOSDN_IMAGE} - echo ${GOSDN_IMAGE}
- docker pull ${GOSDN_IMAGE} - docker pull ${GOSDN_IMAGE}
- docker pull ${CEOS_IMAGE} - docker pull ${CEOS_IMAGE}
......
...@@ -86,6 +86,10 @@ The environment contains two [Arista ...@@ -86,6 +86,10 @@ The environment contains two [Arista
cEOS](https://www.arista.com/en/products/software-controlled-container-networking), cEOS](https://www.arista.com/en/products/software-controlled-container-networking),
a goSDN, a cSBI orchestrator and a gNMI target. a goSDN, a cSBI orchestrator and a gNMI target.
> If you're a member of the danet group you should have access to the containers repo. Don't forget to `docker login registry.code.fbi.h-da.de`
>
> If you're no member of the danet group you have to [create an account](https://www.arista.com/en/login) at Arista and download the Arista cEOS image by yourself. Don't forget to change the image name (line `11` in the `gosdn.clab.yml` file) to the local one you've downloaded.
```sh ```sh
# starts the containerlab topology which contains two Arista cEOS, an cSBI orchestrator, a goSDN controller and gNMI target. # starts the containerlab topology which contains two Arista cEOS, an cSBI orchestrator, a goSDN controller and gNMI target.
make containerlab-start make containerlab-start
......
...@@ -29,7 +29,7 @@ variable "container_tag" { ...@@ -29,7 +29,7 @@ variable "container_tag" {
variable "ceos_tag" { variable "ceos_tag" {
type = string type = string
default = "registry.code.fbi.h-da.de/danet/gosdn/ceos:latest" default = "registry.code.fbi.h-da.de/danet/containers/ceos:latest"
} }
variable "network_name" { variable "network_name" {
...@@ -43,4 +43,4 @@ variable "ceos_address" { ...@@ -43,4 +43,4 @@ variable "ceos_address" {
variable "gosdn_address" { variable "gosdn_address" {
type = string type = string
} }
\ No newline at end of file
...@@ -2,18 +2,32 @@ name: gosdn_csbi_arista_base ...@@ -2,18 +2,32 @@ name: gosdn_csbi_arista_base
mgmt: mgmt:
network: gosdn-csbi-arista-base-net network: gosdn-csbi-arista-base-net
ipv4_subnet: 172.100.0.0/16 # ipv4 range ipv4_subnet: 172.100.0.0/16
ipv6_subnet: 2001:db8::/64 ipv6_subnet: 2001:db8::/64
topology: topology:
kinds: kinds:
ceos: ceos:
image: registry.code.fbi.h-da.de/danet/gosdn/ceos:latest image: registry.code.fbi.h-da.de/danet/containers/ceos:latest
nodes: nodes:
ceos0: ceos0:
kind: ceos kind: ceos
mgmt_ipv4: 172.100.0.11
group: spine
ceos1a: ceos1a:
kind: ceos 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: gosdn:
kind: linux kind: linux
image: gosdn image: gosdn
...@@ -22,11 +36,13 @@ topology: ...@@ -22,11 +36,13 @@ topology:
- 8080:8080 - 8080:8080
- 40000:40000 - 40000:40000
cmd: --csbi-orchestrator clab-gosdn_csbi_arista_base-csbi-orchestrator:55056 cmd: --csbi-orchestrator clab-gosdn_csbi_arista_base-csbi-orchestrator:55056
mgmt_ipv4: 172.100.0.5
gnmi-target: gnmi-target:
kind: linux kind: linux
image: gnmi-target image: gnmi-target
ports: ports:
- 7030:7030 - 7030:7030
mgmt_ipv4: 172.100.0.6
csbi-orchestrator: csbi-orchestrator:
kind: linux kind: linux
image: orchestrator image: orchestrator
...@@ -37,6 +53,7 @@ topology: ...@@ -37,6 +53,7 @@ topology:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- ./csbi/.csbi.yaml:/etc/.csbi.yml - ./csbi/.csbi.yaml:/etc/.csbi.yml
cmd: --log-level trace --config /etc/.csbi.yml cmd: --log-level trace --config /etc/.csbi.yml
mgmt_ipv4: 172.100.0.7
grafana: grafana:
kind: linux kind: linux
image: grafana/grafana:8.1.2 image: grafana/grafana:8.1.2
...@@ -44,6 +61,7 @@ topology: ...@@ -44,6 +61,7 @@ topology:
- ./csbi/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources - ./csbi/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
ports: ports:
- 3000:3000 - 3000:3000
mgmt_ipv4: 172.100.0.8
prometheus: prometheus:
kind: linux kind: linux
image: prom/prometheus:v2.29.1 image: prom/prometheus:v2.29.1
...@@ -52,6 +70,9 @@ topology: ...@@ -52,6 +70,9 @@ topology:
binds: binds:
- ./csbi/prometheus:/etc/prometheus - ./csbi/prometheus:/etc/prometheus
cmd: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml cmd: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml
mgmt_ipv4: 172.100.0.9
links: links:
- endpoints: ["ceos0:eth1", "ceos1a:eth1"] - endpoints: ["ceos0:eth1","ceos1a:eth1"]
- endpoints: ["ceos0:eth2","centos1:eth1"]
- endpoints: ["ceos1a:eth2","centos2:eth1"]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment