When api.keystone.tenant_list raises ConnectionRefused, the unit test admin.routers.tests.RouterTests.test_set_external_network_empty succeeds.
keystoneclient.openstack.common.apiclient.exceptions.ConnectionRefused is aliased to keystoneclient.exceptions.ConnectionError, and ConnectionError is one of openstack_dashboard.exceptions RECOVERABLE exceptions. Thus it is caught and the unit test didn't fail.
On the other hand, if ProtocolError (perhaps from eventlet.websocket) is raised, it is not a part of RECOVERABLE error, so the unit test fails.
I am not sure this kind of exception should be included in RECOVERABLE.
The detail observation is as follows
When api.keystone. tenant_ list raises ConnectionRefused, the unit test admin.routers. tests.RouterTes ts.test_ set_external_ network_ empty succeeds. openstack. common. apiclient. exceptions. ConnectionRefus ed is aliased to keystoneclient. exceptions. ConnectionError , and ConnectionError is one of openstack_ dashboard. exceptions RECOVERABLE exceptions. Thus it is caught and the unit test didn't fail.
keystoneclient.
On the other hand, if ProtocolError (perhaps from eventlet.websocket) is raised, it is not a part of RECOVERABLE error, so the unit test fails.
I am not sure this kind of exception should be included in RECOVERABLE.