From ee95772c8e72a80091e5daa863fa1a76cdedda95 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Wed, 1 Mar 2023 08:47:41 -0600 Subject: graphql: T5040: fail gracefully if not on live system; needed for import For type introspection of op-mode scripts, scripts are loaded as modules. For generation of schema from type introspection, it is useful to load scripts during package installation, hence to fail gracefully if not on live system. --- python/vyos/configquery.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'python') diff --git a/python/vyos/configquery.py b/python/vyos/configquery.py index 5b097b312..85fef8777 100644 --- a/python/vyos/configquery.py +++ b/python/vyos/configquery.py @@ -88,7 +88,7 @@ class ConfigTreeQuery(GenericConfigQuery): with open(config_file) as f: config_string = f.read() except OSError as err: - raise ConfigQueryError('No config file available') from err + config_string = '' config_source = ConfigSourceString(running_config_text=config_string, session_config_text=config_string) -- cgit v1.2.3 From 7ab3b9e021e7ce1c56b9f252a04400a37fd33e71 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Fri, 3 Mar 2023 08:36:18 -0600 Subject: graphql: T5040: use path from defaults --- python/vyos/defaults.py | 1 + src/services/api/graphql/generate/schema_from_composite.py | 2 +- src/services/api/graphql/generate/schema_from_config_session.py | 2 +- src/services/api/graphql/generate/schema_from_op_mode.py | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) (limited to 'python') diff --git a/python/vyos/defaults.py b/python/vyos/defaults.py index db0def8ed..060a0ba03 100644 --- a/python/vyos/defaults.py +++ b/python/vyos/defaults.py @@ -22,6 +22,7 @@ directories = { 'data' : '/usr/share/vyos/', 'conf_mode' : f'{base_dir}/conf_mode', 'op_mode' : f'{base_dir}/op_mode', + 'services' : f'{base_dir}/services', 'config' : '/opt/vyatta/etc/config', 'current' : '/opt/vyatta/etc/config-migrate/current', 'migrate' : '/opt/vyatta/etc/config-migrate/migrate', diff --git a/src/services/api/graphql/generate/schema_from_composite.py b/src/services/api/graphql/generate/schema_from_composite.py index d7b6e0035..50c5d24f8 100755 --- a/src/services/api/graphql/generate/schema_from_composite.py +++ b/src/services/api/graphql/generate/schema_from_composite.py @@ -26,7 +26,7 @@ from jinja2 import Template from vyos.defaults import directories if __package__ is None or __package__ == '': - sys.path.append("/usr/libexec/vyos/services/api") + sys.path.append(os.path.join(directories['services'], 'api')) from graphql.libs.op_mode import snake_to_pascal_case, map_type_name from composite_function import queries, mutations else: diff --git a/src/services/api/graphql/generate/schema_from_config_session.py b/src/services/api/graphql/generate/schema_from_config_session.py index f929e16b8..831faa41e 100755 --- a/src/services/api/graphql/generate/schema_from_config_session.py +++ b/src/services/api/graphql/generate/schema_from_config_session.py @@ -26,7 +26,7 @@ from jinja2 import Template from vyos.defaults import directories if __package__ is None or __package__ == '': - sys.path.append("/usr/libexec/vyos/services/api") + sys.path.append(os.path.join(directories['services'], 'api')) from graphql.libs.op_mode import snake_to_pascal_case, map_type_name from config_session_function import queries, mutations else: diff --git a/src/services/api/graphql/generate/schema_from_op_mode.py b/src/services/api/graphql/generate/schema_from_op_mode.py index 32f314c9b..98b2ad7b7 100755 --- a/src/services/api/graphql/generate/schema_from_op_mode.py +++ b/src/services/api/graphql/generate/schema_from_op_mode.py @@ -28,7 +28,7 @@ from vyos.defaults import directories from vyos.opmode import _is_op_mode_function_name as is_op_mode_function_name from vyos.util import load_as_module if __package__ is None or __package__ == '': - sys.path.append("/usr/libexec/vyos/services/api") + sys.path.append(os.path.join(directories['services'], 'api')) from graphql.libs.op_mode import is_show_function_name from graphql.libs.op_mode import snake_to_pascal_case, map_type_name else: -- cgit v1.2.3