diff --git a/tcp_tests/tests/system/conftest.py b/tcp_tests/tests/system/conftest.py
index 8badb8f..0f8fc09 100644
--- a/tcp_tests/tests/system/conftest.py
+++ b/tcp_tests/tests/system/conftest.py
@@ -27,9 +27,8 @@
 from tcp_tests.fixtures.k8s_fixtures import *  # noqa
 from tcp_tests.fixtures.drivetrain_fixtures import *  # noqa
 from tcp_tests.fixtures.day1_fixtures import *  # noqa
-from tcp_tests.fixtures.runtest_fixtures import * # noqa
-from tcp_tests.fixtures.reclass_fixtures import * # noqa
-
+from tcp_tests.fixtures.runtest_fixtures import *  # noqa
+from tcp_tests.fixtures.reclass_fixtures import *  # noqa
 
 __all__ = sorted([  # sort for documentation
     # common_fixtures
diff --git a/tcp_tests/tests/system/test_ceph_luminous_upgrade.py b/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
index 8b37ad8..e767d70 100644
--- a/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
+++ b/tcp_tests/tests/system/test_ceph_luminous_upgrade.py
@@ -11,8 +11,8 @@
 
 def wa_cve_2021_20288_global_id_reclaim(reclass_actions, salt_actions):
     if reclass_actions.check_existence(
-            'parameters.ceph.common.config.mon.'
-            + 'auth_allow_insecure_global_id_reclaim'):
+            'parameters.ceph.common.config.mon.' +
+            'auth_allow_insecure_global_id_reclaim'):
         LOG.info("Skipping WA ceph set auth_allow_insecure_global_id_reclaim")
         return
 
@@ -21,8 +21,8 @@
 
     context_file = "cluster/*/ceph/common.yml"
     reclass_actions.add_bool_key(
-        'parameters.ceph.common.config.mon.'
-        + 'auth_allow_insecure_global_id_reclaim', "False", context_file)
+        'parameters.ceph.common.config.mon.' +
+        'auth_allow_insecure_global_id_reclaim', "False", context_file)
     salt_actions.cmd_run("cfg01*",
                          "cd /srv/salt/reclass; git add -u && "
                          "git commit --allow-empty "
diff --git a/tcp_tests/tests/system/test_cvp_pipelines.py b/tcp_tests/tests/system/test_cvp_pipelines.py
index 44cf396..ca9c692 100644
--- a/tcp_tests/tests/system/test_cvp_pipelines.py
+++ b/tcp_tests/tests/system/test_cvp_pipelines.py
@@ -253,8 +253,8 @@
         # Download XML report
         show_step(4)
         destination_name = os.path.join(settings.LOGS_DIR,
-                                        "tmp/" + job_name + "_"
-                                        + str(build_number) + "_results.xml")
+                                        "tmp/" + job_name + "_" +
+                                        str(build_number) + "_results.xml")
         # Do not fail the test case when the job is failed, but
         # artifact with the XML report is present in the job.
         try:
@@ -264,16 +264,16 @@
                 password=jenkins_pass,
                 job_name=job_name,
                 build_number=build_number,
-                artifact_path='validation_artifacts/' + job_name
-                              + '_report.xml',
+                artifact_path='validation_artifacts/' + job_name +
+                              '_report.xml',
                 destination_name=destination_name)
         except jenkins.NotFoundException:
             raise jenkins.NotFoundException("{0}\n{1}".format(
                 description, '\n'.join(stages)))
 
         destination_name = os.path.join(settings.LOGS_DIR,
-                                        "tmp/" + job_name + "_"
-                                        + str(build_number) + "_full.log")
+                                        "tmp/" + job_name + "_" +
+                                        str(build_number) + "_full.log")
 
         try:
             get_jenkins_job_artifact.download_artifact(
@@ -431,8 +431,8 @@
         # Download XML report
         show_step(4)
         destination_name = os.path.join(settings.LOGS_DIR,
-                                        "tmp/" + job_name + "_"
-                                        + str(build_number) + "_results.xml")
+                                        "tmp/" + job_name + "_" +
+                                        str(build_number) + "_results.xml")
         # Do not fail the test case when the job is failed, but
         # artifact with the XML report is present in the job.
         try:
diff --git a/tcp_tests/tests/system/test_mcp_update.py b/tcp_tests/tests/system/test_mcp_update.py
index 747ceda..fba6cb6 100644
--- a/tcp_tests/tests/system/test_mcp_update.py
+++ b/tcp_tests/tests/system/test_mcp_update.py
@@ -136,16 +136,16 @@
     tgt = "I@ceph:common"
     context_file = "cluster/*/ceph/common.yml"
     if not reclass_actions.check_existence(
-            'parameters.ceph.common.config.mon.'
-            + 'auth_allow_insecure_global_id_reclaim'):
+            'parameters.ceph.common.config.mon.' +
+            'auth_allow_insecure_global_id_reclaim'):
         if salt_actions.get_single_pillar(
                 "I@ceph:mgr and *01.*",
                 "_param.ceph_version") == 'luminous':
             LOG.info('Skip reclaim set')
             return
         reclass_actions.add_bool_key(
-            'parameters.ceph.common.config.mon.'
-            + 'auth_allow_insecure_global_id_reclaim', "False", context_file)
+            'parameters.ceph.common.config.mon.' +
+            'auth_allow_insecure_global_id_reclaim', "False", context_file)
         salt_actions.run_state(tgt, "state.apply", "ceph.common")
         salt_actions.cmd_run(tgt, "systemctl restart ceph-mon.target")
     else:
diff --git a/tcp_tests/tests/system/test_offline.py b/tcp_tests/tests/system/test_offline.py
index 7ea9c11..34c729a 100644
--- a/tcp_tests/tests/system/test_offline.py
+++ b/tcp_tests/tests/system/test_offline.py
@@ -56,7 +56,7 @@
             cmd='maas logout mirantis && '
             'maas login mirantis '
             'http://localhost:5240/MAAS/api/2.0/ '
-            'FTvqwe7ybBp68gPar2:5mcctTAXVL8mns4ef4:zrA9LZwu2tMc8BAZpsPUfwWwTyQnAtDN') # noqa
+            'FTvqwe7ybBp68gPar2:5mcctTAXVL8mns4ef4:zrA9LZwu2tMc8BAZpsPUfwWwTyQnAtDN')  # noqa
 
         underlay.check_call(
             node_name=cfg_node,
@@ -74,7 +74,7 @@
                 net=admin_net))
         underlay.check_call(node_name=cfg_node, verbose=verbose,
             cmd="maas mirantis vlan update "
-            "$(maas mirantis subnets read | jq '.[] | select(.name==\"{net}\") | .vlan.fabric_id') " # noqa
+            "$(maas mirantis subnets read | jq '.[] | select(.name==\"{net}\") | .vlan.fabric_id') "  # noqa
             "0 dhcp_on=True primary_rack='cfg01'".format(net=admin_net))
 
         underlay.check_call(
