From abecba2332d6b6756cf83ba2d87fcbf3640f0c18 Mon Sep 17 00:00:00 2001
From: Daniil Baturin <daniil@baturin.org>
Date: Sun, 27 Oct 2019 16:29:11 +0100
Subject: Replace the try and wait for segfault approach with explicit
 inSession check.

---
 python/vyos/config.py | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

(limited to 'python')

diff --git a/python/vyos/config.py b/python/vyos/config.py
index 3a340b2da..ee1adb289 100644
--- a/python/vyos/config.py
+++ b/python/vyos/config.py
@@ -104,12 +104,10 @@ class Config(object):
                 running_config_text = f.read()
 
         # Session config ("active") only exists in conf mode.
-        # Trying to obtain it from op mode will cause a fatal cli-shell-api error.
-        # If that happens, we assume that a script is running from op mode and use the running config
-        # for the "session config" variable as well.
-        try:
+        # In op mode, we'll just use the same running config for both active and session configs.
+        if self.in_session():
             session_config_text = self._run([self._cli_shell_api, '--show-working-only', '--show-show-defaults', 'showConfig'])
-        except VyOSError:
+        else:
             session_config_text = running_config_text
 
         self._session_config = vyos.configtree.ConfigTree(session_config_text)
-- 
cgit v1.2.3