So the problem here is not a simple one to fix.
You cannot delete a network router from a nested list of routers displayed on a cloud tennant. URL like this:
In the cloud_tenant controller there's code that tries to redirect to GET request to network_routers controller action delete_network_routers. There is such action it the code but there's no route in routes.rb for that.
Adding the route there would seemingly fix the issue. BUT it would actually create a XSRF vulnerability. GET request must NOT do destructive stuff. GET should not change things. And this would be the result if we "fixed" this by adding the route.
The proper fix here is to reimplement the 'delete' function on network routers via the API.
An ugly fix is to add call to the delete_network_routers function to the CloudTenantController.rb. That would be a mess.
Way to get around the bug is to not show the delete button on the nested list page. Have it only be displayed if on a details page for a network router or when displaying the list of network routers under the network_router controller.
My bet is this never worked.
Handing this over to the OpenStack team for decision and planning.
Added API delete action for Network Router https://github.com/ManageIQ/manageiq-api/pull/193
I see no question here so resetting the needinfo flag.
Hello. After the API for 'delete' was implemented, could you take care of the rest of this BZ, adding a UI fix? Also, I can do it by myself, if it's necessary.
PR is out - https://github.com/ManageIQ/manageiq-ui-classic/pull/3436, however it's blocked by another PR. I will keep this issue updated.
PR was merged, sadly CFME bot did not recognized it.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.