diff --git a/test_set/cvp-sanity/utils/__init__.py b/test_set/cvp-sanity/utils/__init__.py
index 2ee6704..bcdf01f 100644
--- a/test_set/cvp-sanity/utils/__init__.py
+++ b/test_set/cvp-sanity/utils/__init__.py
@@ -5,7 +5,6 @@
 import sys, traceback
 import time
 import json
-import pytest
 import logging
 
 
@@ -198,6 +197,7 @@
         os.path.dirname(os.path.abspath(__file__)), "../global_config.yaml")
     with open(global_config_file, 'r') as file:
         global_config = yaml.load(file, Loader=yaml.SafeLoader)
+
     for param in global_config.keys():
         if param in os.environ.keys():
             if ',' in os.environ[param]:
@@ -207,4 +207,19 @@
             else:
                 global_config[param] = os.environ[param]
 
+    if 'OVERRIDE_CONFIG' in os.environ.keys():
+        try:
+            override_config = yaml.load(
+                os.environ['OVERRIDE_CONFIG'], Loader=yaml.SafeLoader)\
+                .get('override_config')
+            if override_config:
+                for key in override_config:
+                    if isinstance(global_config[key], dict):
+                        for k in override_config[key]:
+                            global_config[key][k] = override_config[key][k]
+                    else:
+                        global_config[key] = override_config[key]
+        except Exception:
+            pass
+
     return global_config
