Closed ecklm closed 4 years ago
The rest_qos
app offers DELETE operation for both rules and queues.
AdaptingMonitor13
's destructor is not called when the controller exits... Hopefully there is an event or something to handle this.
Doing it in AdaptingMonitor.close()
127.0.0.1 - - [01/May/2020 10:43:24] "DELETE /qos/rules/all HTTP/1.1" 200 246 1.003129
200 - [
{
"command_result": {
"details": "QoS rule is not exist.",
"result": "failure"
},
"switch_id": "0000000000000001"
}
]
Doing it right after they are created:
127.0.0.1 - - [01/May/2020 10:45:15] "DELETE /qos/rules/all HTTP/1.1" 200 248 0.007975
200 - [
{
"command_result": [
{
"details": " deleted. : QoS ID=1,2",
"result": "success"
}
],
"switch_id": "0000000000000001"
}
]
And it DOES remain there if I don't delete it.
Hopefully now it's really doing what I expect it to.
Try doing it in the RyuApp.stop()
function. That is the one which stops the application. That might work better than RyuApp.close()
Problem
When I restart the controller with new flow configurations, the old flows remain in the switches, so I get stats to flows which are eventually not managed by the
QoSManager
. That causes an exception looking like this:For now, I intentionally don't catch this exception so that I don't suppress the problem.
Ideal solution
Ideally, deprecated flow rules should be cleared out from the switches.