Skip to content
Snippets Groups Projects
Commit d7c12935 authored by Neil-Jocelyn Schark's avatar Neil-Jocelyn Schark
Browse files

Update docs and first start of project

See merge request !848
parent c4dae398
No related branches found
No related tags found
1 merge request!848Update docs and first start of project
Pipeline #189748 passed
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
"build": { "build": {
"dockerfile": "Dockerfile", "dockerfile": "Dockerfile",
"args": { "args": {
"_CLAB_VERSION": "0.53.0" "_CLAB_VERSION": "0.54.2"
} }
}, },
"features": { "features": {
......
...@@ -85,6 +85,13 @@ dev-env-start: generate-gnmi-target-certs generate-gosdn-certs containerize-gosd ...@@ -85,6 +85,13 @@ dev-env-start: generate-gnmi-target-certs generate-gosdn-certs containerize-gosd
dev-env-stop: dev-env-stop:
./scripts/simple-dev-setup.sh --mode stop --topology dev_env_data/clab/basic_two_gnmi_targets.yaml ./scripts/simple-dev-setup.sh --mode stop --topology dev_env_data/clab/basic_two_gnmi_targets.yaml
basic-compose-up: generate-certs containerize-gosdn containerize-plugin-registry
docker-compose -f dev_env_data/docker-compose/basic_docker-compose.yml down
docker-compose -f dev_env_data/docker-compose/basic_docker-compose.yml up -d
basic-compose-down:
docker-compose -f dev_env_data/docker-compose/basic_docker-compose.yml down
generate-certs: generate-gnmi-target-certs generate-gosdn-certs generate-certs: generate-gnmi-target-certs generate-gosdn-certs
integration-tests: generate-certs containerize-gosdn containerize-plugin-registry integration-tests: generate-certs containerize-gosdn containerize-plugin-registry
......
...@@ -136,11 +136,32 @@ system. ...@@ -136,11 +136,32 @@ system.
With the help of [containerlab](https://containerlab.dev/) we provide simple test environments to play around with. With the help of [containerlab](https://containerlab.dev/) we provide simple test environments to play around with.
```sh
# start containerlab
make containerlab-slim-start
# stop the containerlab topology
make containerlab-slim-stop
```
If you don't want to install containerlab, you can also use a docker-compose config. For most tasks it works as well, but it is missing the static IP and link configurations.
```sh
# start the environment
make basic-compose-up
# stop the environment
make basic-compose-down
```
### Labs
The environment Lab 01 contains two [Arista The environment Lab 01 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 gNMI target, a plugin-registry, a MongoDB and a RabbitMQ. a goSDN, a gNMI target, a plugin-registry, a MongoDB and a RabbitMQ.
The environment Lab 00 contains two gNMI targets used as switches, s goSDN, two Linux servers, a plugin-registry, a MongoDB and a RabbitMQ. Lab 00 is lighter than Lab 01. The environment Lab 00 contains two gNMI targets used as switches, goSDN, two Linux servers, a plugin-registry, a MongoDB and a RabbitMQ. Lab 00 is lighter than Lab 01.
> If you're a member of the danet group you should have access to the > If you're a member of the danet group you should have access to the
> containers repo. Don't forget to `sudo docker login > containers repo. Don't forget to `sudo docker login
...@@ -153,14 +174,6 @@ The environment Lab 00 contains two gNMI targets used as switches, s goSDN, two ...@@ -153,14 +174,6 @@ The environment Lab 00 contains two gNMI targets used as switches, s goSDN, two
> cEOS image by yourself. Don't forget to change the image name (line `11` in > 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. > the `gosdn.clab.yml` file) to the local one you've downloaded.
```sh
# starts the containerlab topology which contains two Arista cEOS, an cSBI orchestrator, a goSDN controller and gNMI target.
make containerlab-start
# stop the containerlab topology
make containerlab-stop
```
### Additional services ### Additional services
There are optional and mandatory services that can be used with the controller. They can be started via the provided `docker-compose.yml`: There are optional and mandatory services that can be used with the controller. They can be started via the provided `docker-compose.yml`:
......
amqphost = 'rabbitmq'
amqppassword = 'guest'
amqpport = '5672'
amqpprefix = 'amqp://'
amqpuser = 'guest'
basepnduuid = '5f20f34b-cbd0-4511-9ddc-c50cf6a3b49d'
config = './gosdn/controller/configs/integration-test-gosdn.toml'
csbi-orchestrator = 'localhost:55056'
databaseconnection = 'mongodb://root:example@mongo:27017'
defaultjwtduration = 24
filesystempathtostores = 'stores'
gnmisubscriptionspath = 'configs/gNMISubscriptions.txt'
help = false
log-level = 'debug'
plugin-folder = 'plugins'
plugin-registry = 'plugin-registry:55057'
security = 'insecure'
socket = ':55055'
tlscacertfile = '/ssl/ca.crt'
tlscertfile = '/ssl/certs/gosdn-selfsigned.crt'
tlskeyfile = '/ssl/private/gosdn-selfsigned.key'
# Only use via makefile as otherwise goSDN isn't rebuild!
services:
mongo:
image: mongo:7
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
volumes:
- mongo-db-basic:/data/db
mongo-express:
image: mongo-express:0.54.0
ports:
- 127.0.0.1:8083:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
rabbitmq:
image: rabbitmq:3-management
ports:
- 127.0.0.1:5672:5672
- 127.0.0.1:15672:15672
healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 30s
timeout: 10s
retries: 5
plugin-registry:
image: plugin-registry
gosdn:
image: gosdn
ports:
- 127.0.0.1:55055:55055
- 127.0.0.1:8080:8080
- 127.0.0.1:40000:40000
depends_on:
gnmi-target_A:
condition: service_started
gnmi-target_B:
condition: service_started
mongo:
condition: service_started
plugin-registry:
condition: service_started
rabbitmq:
condition: service_healthy
command:
--config /app/configs/basic_docker-compose.toml --security secure
environment:
GOSDN_ADMIN_PASSWORD: TestPassword
volumes:
- ../../artifacts/ssl/gosdn:/app/ssl
gnmi-target_A:
privileged: true
image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master
ports:
- 127.0.0.1:3919:7030
volumes:
- ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl
command:
start --cert /etc/gnmi-target/ssl/certs/gnmi-target-selfsigned.crt --key /etc/gnmi-target/ssl/private/gnmi-target-selfsigned.key --ca_file /etc/gnmi-target/ssl/ca.crt
gnmi-target_B:
privileged: true
image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master
ports:
- 127.0.0.1:3920:7030
volumes:
- ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl
command:
start --cert /etc/gnmi-target/ssl/certs/gnmi-target-selfsigned.crt --key /etc/gnmi-target/ssl/private/gnmi-target-selfsigned.key --ca_file /etc/gnmi-target/ssl/ca.crt
volumes:
mongo-db-basic:
...@@ -34,9 +34,9 @@ services: ...@@ -34,9 +34,9 @@ services:
gosdn: gosdn:
image: gosdn image: gosdn
ports: ports:
- 55055:55055 - 127.0.0.1:55055:55055
- 8080:8080 - 127.0.0.1:8080:8080
- 40000:40000 - 127.0.0.1:40000:40000
depends_on: depends_on:
gnmi-target_A: gnmi-target_A:
condition: service_started condition: service_started
...@@ -59,7 +59,7 @@ services: ...@@ -59,7 +59,7 @@ services:
privileged: true privileged: true
image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master
ports: ports:
- 3919:7030 - 127.0.0.1:3919:7030
volumes: volumes:
- ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl - ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl
command: command:
...@@ -69,7 +69,7 @@ services: ...@@ -69,7 +69,7 @@ services:
privileged: true privileged: true
image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master image: registry.code.fbi.h-da.de/danet/gnmi-target/debian:master
ports: ports:
- 3920:7030 - 127.0.0.1:3920:7030
volumes: volumes:
- ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl - ../../artifacts/ssl/gnmi-target:/etc/gnmi-target/ssl
command: command:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment