diff --git a/tcp_tests/helpers/env_config.py b/tcp_tests/helpers/env_config.py
index 81e6764..5dbc87d 100644
--- a/tcp_tests/helpers/env_config.py
+++ b/tcp_tests/helpers/env_config.py
@@ -322,7 +322,7 @@
                       "from template aborted.")
 
 
-def yaml_template_load(config_file, options=None):
+def yaml_template_load(config_file, options=None, log_env_vars=True):
     """Temporary moved from fuel_devops to use jinja2"""
     dirname = os.path.dirname(config_file)
 
@@ -376,5 +376,5 @@
     TemplateLoader.add_constructor(
         yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, construct_mapping)
 
-    f = utils.render_template(config_file, options)
+    f = utils.render_template(config_file, options, log_env_vars=log_env_vars)
     return yaml.load(f, TemplateLoader)
diff --git a/tcp_tests/helpers/utils.py b/tcp_tests/helpers/utils.py
index e24c18b..8cfa67a 100644
--- a/tcp_tests/helpers/utils.py
+++ b/tcp_tests/helpers/utils.py
@@ -332,7 +332,7 @@
         self.write_content()
 
 
-def render_template(file_path, options=None):
+def render_template(file_path, options=None, log_env_vars=True):
     required_env_vars = set()
     optional_env_vars = dict()
 
@@ -362,11 +362,11 @@
                                        followlinks=True))
     template = environment.get_template(filename).render(options)
 
-    if required_env_vars:
+    if required_env_vars and log_env_vars:
         LOG.info("Required environment variables:")
         for var in required_env_vars:
             LOG.info("    {0}".format(var))
-    if optional_env_vars:
+    if optional_env_vars and log_env_vars:
         LOG.info("Optional environment variables:")
         for var, default in sorted(optional_env_vars.iteritems()):
             LOG.info("    {0} , value = {1}".format(var, default))
