Don't raise FileNotFoundError during disabling keepalived

In case when keepalived's config is not existing already, there is no
need to raise any exception while L3 agent is trying to clean this
config.

In stable/queens branch, where we are using Python 2.7 it requires to
catch EnvironmentError and check errno instead of catching
FileNotFoundError which isn't available in Python 2.7.

Change-Id: I9ec81ad0c10379294d3145c5902e8b81b65c0221
Closes-Bug: #1892866
(cherry picked from commit a08893368a)
This commit is contained in:
Slawek Kaplonski 2020-08-25 15:06:04 +02:00
parent 27c53ebc97
commit da7e9c5408
1 changed files with 6 additions and 1 deletions

View File

@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import errno
import os import os
import shutil import shutil
import signal import signal
@ -193,7 +194,11 @@ class HaRouter(router.RouterInfo):
return return
self.keepalived_manager.disable() self.keepalived_manager.disable()
conf_dir = self.keepalived_manager.get_conf_dir() conf_dir = self.keepalived_manager.get_conf_dir()
shutil.rmtree(conf_dir) try:
shutil.rmtree(conf_dir)
except EnvironmentError as e:
if e.errno != errno.ENOENT:
raise
def _get_keepalived_instance(self): def _get_keepalived_instance(self):
return self.keepalived_manager.config.get_instance(self.ha_vr_id) return self.keepalived_manager.config.get_instance(self.ha_vr_id)