goSDN issueshttps://code.fbi.h-da.de/danet/gosdn/-/issues2022-04-14T11:24:11Zhttps://code.fbi.h-da.de/danet/gosdn/-/issues/116Cancel already running pipeline on MR when pushing new commits2022-04-14T11:24:11ZAndre SterbaCancel already running pipeline on MR when pushing new commitsWhen opening an MR a pipeline run will be triggered.
If a new commit is added to this MR a new pipeline will be started and the pipeline from an earlier commit should be cancelled.
## Problem Statement
Multiple running (parallel) pipeli...When opening an MR a pipeline run will be triggered.
If a new commit is added to this MR a new pipeline will be started and the pipeline from an earlier commit should be cancelled.
## Problem Statement
Multiple running (parallel) pipelines on a single MR.
The result of the "old" pipeline is irrelevant.
## Who will benefit?
Everyone :tada:
## Benefits and risks
This will speed-up MRs and maybe other parallel CI runs and save resources on the test infrastructure.
## Proposed solution
<!-- How would you like to see this issue resolved? !-->
## Examples
There is an GitHub Action ([cancel-workflow-action](https://github.com/styfle/cancel-workflow-action)) that does excactly this.
## Priority/Severity
<!-- Delete as appropriate. The priority and severity assigned may be different to this !-->
- [ ] High (This will bring a huge increase in performance/productivity/usability/legislative cover)
- [ ] Medium (This will bring a good increase in performance/productivity/usability)
- [ ] Low (anything else e.g., trivial, minor improvements)SORThttps://code.fbi.h-da.de/danet/gosdn/-/issues/113CLI and CMD Integration Tests2023-06-16T09:23:57ZGhost UserCLI and CMD Integration Tests## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
cliIntegration_test.go and cmdIntegration_test.go need to be updated to reflect changes introduced by commit-confirm ...## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
cliIntegration_test.go and cmdIntegration_test.go need to be updated to reflect changes introduced by commit-confirm mechanic.
## Area of the system
<!-- This might only be one part, but may involve multiple sections !-->
Integration test
## How does this currently work?
<!-- the current process, and any associated business rules !-->
CLI and CMD integration tests do not reflect the latest changes introduced by commit-confirm mechanic.
## What is the desired way of working?
<!-- after the change, what should the process be, and what should the business rules be !-->
The changes should be tested properly.
## Priority/Severity
<!-- Delete as appropriate. The priority and severity assigned may be different to this !-->
- [x] High (This will bring a huge increase in performance/productivity/usability, or is a legislative requirement)
- [ ] Medium (This will bring a good increase in performance/productivity/usability)
- [ ] Low (anything else e.g., trivial, minor improvements)SORThttps://code.fbi.h-da.de/danet/gosdn/-/issues/152Internal Changes representation is not working as expected2023-06-16T09:23:57ZMalte BauchInternal Changes representation is not working as expectedWhile I've been looking into #145 I've discovered a few more bugs with intended changes ONDs, so called Changes in the goSDN environment.
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you conside...While I've been looking into #145 I've discovered a few more bugs with intended changes ONDs, so called Changes in the goSDN environment.
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
If we consider the following scenario:
1. request a set for /system/config/hostname with a new hostname(a Change is created)
2. commit the requested Change. the commit is accepted and the Change is pushed to the OND (NOTICE: this Change will not be confirmed)
3. request a get for /system/config/hostname (this results in the device.Model being updated with the new hostname)
Now one would expect that after the defined expiration time, the Change is reset, since no confirm of the change has taken place. But the result is: no actual rollback took place.
Since the reference of the previousState of a Change points directly towards device.Model (see [here](https://code.fbi.h-da.de/danet/gosdn/-/blob/develop/nucleus/principalNetworkDomain.go#L316)), it is impossible to detect a difference between previousState and intendedState in this scenario.
This suggests that it would be necessary that previousState should be a reference to a copy of device.Model(instead of a reference to the actual device.Model) at the time of the initialisation of the Change.
However, this problem raises further questions:
1. What happens if there are multiple Changes and if there are confirms in-between?
2. What happens if the device has been modified from somewhere else?
3. ...
**Additional findings:**
- change.Confirm doesn't stop the timer, therefore a reroll will always be initiated
- If device.Model is empty a delete for the path is triggered
- If for a specific Change a reroll is executed, it is not possible to interact further with that Change. Hence, it is not possible in the further course, e.g., to have all Changes displayed. This is because the errChan is blocking, since it has no reciever (see [here](https://code.fbi.h-da.de/danet/gosdn/-/blob/develop/nucleus/change.go#L134)).
- After a COMMITED change has been rerolled, he keeps his state. Instead it should either be reset to PENDING or even be completly removed.v0.1.0 Codename ThreadbareMalte BauchMartin StiemerlingMalte Bauchhttps://code.fbi.h-da.de/danet/gosdn/-/issues/359Update gRPC abstraction API with missing calls and refactoring2024-03-13T09:07:46ZFabian SeidlUpdate gRPC abstraction API with missing calls and refactoring<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should h...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:https://code.fbi.h-da.de/danet/gosdn/-/issues/358Mongo-Express within clab environments returns with an error2024-03-14T14:24:26ZMalte BauchMongo-Express within clab environments returns with an error<!--- Provide a general summary of the issue in the Title above -->
Accessing the mongo-express URL after starting a containerlab returns in an error message:
`Turn on admin in config.js to view server stats!`
## Description
<!--- Prov...<!--- Provide a general summary of the issue in the Title above -->
Accessing the mongo-express URL after starting a containerlab returns in an error message:
`Turn on admin in config.js to view server stats!`
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
See: https://github.com/mongo-express/mongo-express/issues/809
## Expected Behavior
<!--- Tell us what should happen -->
It should be possible to access database information.
## Actual Behavior
<!--- Tell us what happens instead -->
No database information is shown, instead an error is thrown.
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
Update version and set the correct environment variables.
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1. Start one of the containerlabs
2. Access `localhost:8081
3. Error appears
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:Malte BauchMalte Bauchhttps://code.fbi.h-da.de/danet/gosdn/-/issues/357Change the way user credentials for authz are provided to not be in context2024-03-19T14:09:03ZFabian SeidlChange the way user credentials for authz are provided to not be in context<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
Currently, the credentials to authenticate/autho...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
Currently, the credentials to authenticate/authorize are send in the context. This works well for go but not if the communication via gRPC/REST is done from an application written in another language. These apps would not be able to get authorized to do anything in any way. Therefore, the credentials should be provided in another way.
Ideas welcome!
This change will introduce lots of changes in other areas, to be more precise, possibly for our own applications, the tests, the gRPC API abstraction thing and gosdnc. So, implementing a new way of providing the credentials will lead to many small adjustments. Might take some time to find them all.https://code.fbi.h-da.de/danet/gosdn/-/issues/356Credentials returned after registering an app are hard coded, which causes pr...2024-02-22T10:40:33ZFabian SeidlCredentials returned after registering an app are hard coded, which causes problems if RabbitMQ is not hosted on localhost<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
The method controller/app/Service.go/createNewApp...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
The method controller/app/Service.go/createNewApp always returns "amqp://guest:guest@127.0.0.1:5672" as credentials for an App registering to the Event System. This needs to be fixed.
## Expected Behavior
<!--- Tell us what should happen -->
Method returns correct crededentials dynamically.
## Actual Behavior
<!--- Tell us what happens instead -->
Hard coded string that worked until it didn't :shrug:
## Possible Fix
Use data read from the config file and stored in global vars in config package, e.g. config.AMQPHost.https://code.fbi.h-da.de/danet/gosdn/-/issues/355Missing plugin information if requesting a network element2024-02-22T10:41:10ZMalte BauchMissing plugin information if requesting a network element<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should h...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:https://code.fbi.h-da.de/danet/gosdn/-/issues/354Fix "Config file not found and was unable to create" on new gosdn repo enviro...2024-02-09T10:22:22ZKatharina RenkFix "Config file not found and was unable to create" on new gosdn repo environmentIf the gosdn repository is freshly cloned and the CLI is used, following error message appears: <br>
ERRO[0005] Config file not found and was unable to create, error: open ./config/.gosdnc.toml: permission denied <br>
To fix this, the pe...If the gosdn repository is freshly cloned and the CLI is used, following error message appears: <br>
ERRO[0005] Config file not found and was unable to create, error: open ./config/.gosdnc.toml: permission denied <br>
To fix this, the permissions have to be (slightly) changed from 0600 to 0700 in gosdn/cli/cmd/root.go.Katharina RenkKatharina Renkhttps://code.fbi.h-da.de/danet/gosdn/-/issues/353Update go version in packer and vagrant VMs2024-02-09T10:21:59ZKatharina RenkUpdate go version in packer and vagrant VMs<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should h...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:Katharina RenkKatharina Renkhttps://code.fbi.h-da.de/danet/gosdn/-/issues/352Fix containerlab image for Lab012024-01-30T12:10:33ZKatharina RenkFix containerlab image for Lab01<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should h...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:Katharina RenkKatharina Renkhttps://code.fbi.h-da.de/danet/gosdn/-/issues/351Link shadowing of global variables2024-01-19T14:38:17ZNeil-Jocelyn ScharkLink shadowing of global variables<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should h...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:Neil-Jocelyn ScharkNeil-Jocelyn Scharkhttps://code.fbi.h-da.de/danet/gosdn/-/issues/350Applying a SDN configuration should also update the internal configuration of...2024-01-12T15:55:17ZMalte BauchApplying a SDN configuration should also update the internal configuration of managed network elements<!--- Provide a general summary of the issue in the Title above -->
The `ApplySDNConfig` function for integration tests only updates the configuration within the controller itself. If there is also a network element (e.g., a gnmi-target)...<!--- Provide a general summary of the issue in the Title above -->
The `ApplySDNConfig` function for integration tests only updates the configuration within the controller itself. If there is also a network element (e.g., a gnmi-target) involved the configuration of that device stays untouched. In general it would be good if applying a SDN configuration would also mean that the available configuration of a network element is pushed down to that specific network element as well.
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
Also update the internal configuration of managed network elements.
## Actual Behavior
<!--- Tell us what happens instead -->
Only the configuration within the controller is applied.
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
Extend `ImportSDNConfig` method of the configurationmanagement service to also set the root path of each device within a SDN config to the related network elements config.
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:https://code.fbi.h-da.de/danet/gosdn/-/issues/349Integration test for Lab012024-03-06T14:16:16ZKatharina RenkIntegration test for Lab01<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should h...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:Katharina RenkKatharina Renkhttps://code.fbi.h-da.de/danet/gosdn/-/issues/348Integration test for Lab002024-01-11T15:19:24ZMalte BauchIntegration test for Lab00<!--- Provide a general summary of the issue in the Title above -->
Add a integration test for [Lab00](https://code.fbi.h-da.de/danet/gosdn/-/wikis/Labs/Lab00)
For each step within the lab the functionality of the methods in charge shou...<!--- Provide a general summary of the issue in the Title above -->
Add a integration test for [Lab00](https://code.fbi.h-da.de/danet/gosdn/-/wikis/Labs/Lab00)
For each step within the lab the functionality of the methods in charge should be tested.
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:Malte BauchMalte Bauchhttps://code.fbi.h-da.de/danet/gosdn/-/issues/347Implement integration tests for applications2024-01-15T14:02:47ZFabian SeidlImplement integration tests for applications<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should h...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
## Expected Behavior
<!--- Tell us what should happen -->
## Actual Behavior
<!--- Tell us what happens instead -->
## Possible Fix
<!--- Not obligatory, but suggest a fix or reason for the bug -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Context
<!--- How has this bug affected you? What were you trying to accomplish? -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Version used:
* Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
* Server type and version:
* Operating System and version:https://code.fbi.h-da.de/danet/gosdn/-/issues/346Discuss future of topology2024-01-22T09:15:34ZNeil-Jocelyn ScharkDiscuss future of topologyCurrently the topology implementation has at least two major bugs. As we currently don't really use it anyway and the general implementation was very specific for a singular problem, we need to discuss the future of the topology. We will...Currently the topology implementation has at least two major bugs. As we currently don't really use it anyway and the general implementation was very specific for a singular problem, we need to discuss the future of the topology. We will need one, but the path forward is not clear. We could fix the current implementation and potentially add more features to it or think of a new one.Neil-Jocelyn ScharkNeil-Jocelyn Scharkhttps://code.fbi.h-da.de/danet/gosdn/-/issues/345AddLink crashes goSDN when Link without correct port config is send.2024-01-11T15:21:05ZNeil-Jocelyn ScharkAddLink crashes goSDN when Link without correct port config is send.A Link contains Ports which contain a Configuration. If it is send without one, goSDN crashes hard.
The AddLink endpoint has validation, but the validation seems to be incorrect/broken/not good enough to catch this.A Link contains Ports which contain a Configuration. If it is send without one, goSDN crashes hard.
The AddLink endpoint has validation, but the validation seems to be incorrect/broken/not good enough to catch this.https://code.fbi.h-da.de/danet/gosdn/-/issues/344Discuss and implement integration tests for permission tests network elements2023-12-15T14:07:18ZFabian SeidlDiscuss and implement integration tests for permission tests network elements<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
See this dicussion: https://code.fbi.h-da.de/dane...<!--- Provide a general summary of the issue in the Title above -->
## Description
<!--- Provide a more detailed introduction to the issue itself, and why you consider it to be a bug -->
See this dicussion: https://code.fbi.h-da.de/danet/gosdn/-/merge_requests/652#note_367580
for further information.https://code.fbi.h-da.de/danet/gosdn/-/issues/343Fix typo in nothbound api2023-12-15T13:35:00ZNeil-Jocelyn ScharkFix typo in nothbound apiThe proto definition has a typo.
```
message GetTopologyResponse {
int64 timestamp = 1;
Topology toplogy = 2;
}
```
It should be `topology`. This must be fixed on several instances.The proto definition has a typo.
```
message GetTopologyResponse {
int64 timestamp = 1;
Topology toplogy = 2;
}
```
It should be `topology`. This must be fixed on several instances.Neil-Jocelyn ScharkNeil-Jocelyn Schark