diff --git a/NG-RO/osm_ng_ro/html_out.py b/NG-RO/osm_ng_ro/html_out.py
index 132bf68..1b01cb8 100644
--- a/NG-RO/osm_ng_ro/html_out.py
+++ b/NG-RO/osm_ng_ro/html_out.py
@@ -15,9 +15,10 @@
 Contains html text in variables to make and html response
 """
 
-import yaml
-from http import HTTPStatus
 from html import escape as html_escape
+from http import HTTPStatus
+
+import yaml
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
diff --git a/NG-RO/osm_ng_ro/ns.py b/NG-RO/osm_ng_ro/ns.py
index b95667f..706454d 100644
--- a/NG-RO/osm_ng_ro/ns.py
+++ b/NG-RO/osm_ng_ro/ns.py
@@ -16,39 +16,39 @@
 # limitations under the License.
 ##
 
-# import yaml
+from http import HTTPStatus
 import logging
-from typing import Any, Dict, Tuple
+from random import choice as random_choice
+from threading import Lock
+from time import time
 from traceback import format_exc as traceback_format_exc
-from osm_ng_ro.ns_thread import NsWorker, NsWorkerException, deep_get
-from osm_ng_ro.validation import validate_input, deploy_schema
+from typing import Any, Dict, Tuple
+from uuid import uuid4
+
+from cryptography.hazmat.backends import default_backend as crypto_default_backend
+from cryptography.hazmat.primitives import serialization as crypto_serialization
+from cryptography.hazmat.primitives.asymmetric import rsa
+from jinja2 import (
+    Environment,
+    StrictUndefined,
+    TemplateError,
+    TemplateNotFound,
+    UndefinedError,
+)
 from osm_common import (
-    dbmongo,
     dbmemory,
+    dbmongo,
     fslocal,
     fsmongo,
-    msglocal,
     msgkafka,
+    msglocal,
     version as common_version,
 )
 from osm_common.dbbase import DbException
 from osm_common.fsbase import FsException
 from osm_common.msgbase import MsgException
-from http import HTTPStatus
-from uuid import uuid4
-from threading import Lock
-from random import choice as random_choice
-from time import time
-from jinja2 import (
-    Environment,
-    TemplateError,
-    TemplateNotFound,
-    StrictUndefined,
-    UndefinedError,
-)
-from cryptography.hazmat.primitives import serialization as crypto_serialization
-from cryptography.hazmat.primitives.asymmetric import rsa
-from cryptography.hazmat.backends import default_backend as crypto_default_backend
+from osm_ng_ro.ns_thread import deep_get, NsWorker, NsWorkerException
+from osm_ng_ro.validation import deploy_schema, validate_input
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 min_common_version = "0.1.16"
diff --git a/NG-RO/osm_ng_ro/ns_thread.py b/NG-RO/osm_ng_ro/ns_thread.py
index 5df74c5..01c894d 100644
--- a/NG-RO/osm_ng_ro/ns_thread.py
+++ b/NG-RO/osm_ng_ro/ns_thread.py
@@ -24,25 +24,23 @@
 A ro_task can contain several 'tasks', each one with a target, where to store the results
 """
 
-import logging
-import queue
-import threading
-import time
-import yaml
 from copy import deepcopy
 from http import HTTPStatus
+import logging
 from os import mkdir
-from importlib_metadata import entry_points
+import queue
 from shutil import rmtree
+import threading
+import time
 from unittest.mock import Mock
 
-# from osm_common import dbmongo, dbmemory, fslocal, fsmongo, msglocal, msgkafka, version as common_version
+from importlib_metadata import entry_points
 from osm_common.dbbase import DbException
-from osm_ro_plugin.vim_dummy import VimDummyConnector
-from osm_ro_plugin.sdn_dummy import SdnDummyConnector
-from osm_ro_plugin import vimconn, sdnconn
 from osm_ng_ro.vim_admin import LockRenew
-
+from osm_ro_plugin import sdnconn, vimconn
+from osm_ro_plugin.sdn_dummy import SdnDummyConnector
+from osm_ro_plugin.vim_dummy import VimDummyConnector
+import yaml
 
 __author__ = "Alfonso Tierno"
 __date__ = "$28-Sep-2017 12:07:15$"
diff --git a/NG-RO/osm_ng_ro/ro_main.py b/NG-RO/osm_ng_ro/ro_main.py
index c9cad85..eb5ff6c 100644
--- a/NG-RO/osm_ng_ro/ro_main.py
+++ b/NG-RO/osm_ng_ro/ro_main.py
@@ -18,29 +18,30 @@
 # limitations under the License.
 ##
 
-import cherrypy
-import time
+
+from codecs import getreader
+import getopt
+from http import HTTPStatus
 import json
-import yaml
-import osm_ng_ro.html_out as html
 import logging
 import logging.handlers
-import getopt
+from os import environ, path
 import sys
+import time
 
-from osm_ng_ro.ns import Ns, NsException
-from osm_ng_ro.validation import ValidationError
-from osm_ng_ro.vim_admin import VimAdminThread
+import cherrypy
 from osm_common.dbbase import DbException
 from osm_common.fsbase import FsException
 from osm_common.msgbase import MsgException
-from http import HTTPStatus
-from codecs import getreader
-from os import environ, path
 from osm_ng_ro import version as ro_version, version_date as ro_version_date
+import osm_ng_ro.html_out as html
+from osm_ng_ro.ns import Ns, NsException
+from osm_ng_ro.validation import ValidationError
+from osm_ng_ro.vim_admin import VimAdminThread
+import yaml
+
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
-
 __version__ = "0.1."  # file version, not NBI version
 version_date = "May 2020"
 
diff --git a/NG-RO/osm_ng_ro/tests/test_ns.py b/NG-RO/osm_ng_ro/tests/test_ns.py
index 6cc5f77..34590c1 100644
--- a/NG-RO/osm_ng_ro/tests/test_ns.py
+++ b/NG-RO/osm_ng_ro/tests/test_ns.py
@@ -16,7 +16,7 @@
 #######################################################################################
 
 import unittest
-from unittest.mock import patch, Mock
+from unittest.mock import Mock, patch
 
 from osm_ng_ro.ns import Ns
 
diff --git a/NG-RO/osm_ng_ro/validation.py b/NG-RO/osm_ng_ro/validation.py
index efd940c..91ea613 100644
--- a/NG-RO/osm_ng_ro/validation.py
+++ b/NG-RO/osm_ng_ro/validation.py
@@ -13,9 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from jsonschema import validate as js_v, exceptions as js_e
 from http import HTTPStatus
 
+from jsonschema import exceptions as js_e, validate as js_v
+
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 __version__ = "0.1"
 version_date = "Jun 2020"
diff --git a/NG-RO/osm_ng_ro/vim_admin.py b/NG-RO/osm_ng_ro/vim_admin.py
index d875272..2582ee2 100644
--- a/NG-RO/osm_ng_ro/vim_admin.py
+++ b/NG-RO/osm_ng_ro/vim_admin.py
@@ -19,15 +19,15 @@
 It is in charge of load tasks assigned to VIMs that nobody is in chage of it
 """
 
-import logging
-import threading
 import asyncio
 from http import HTTPStatus
+import logging
+import threading
+from time import time
 
-from osm_common import dbmongo, dbmemory, msglocal, msgkafka
+from osm_common import dbmemory, dbmongo, msgkafka, msglocal
 from osm_common.dbbase import DbException
 from osm_common.msgbase import MsgException
-from time import time
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
diff --git a/NG-RO/setup.py b/NG-RO/setup.py
index 4661386..b60a3b8 100644
--- a/NG-RO/setup.py
+++ b/NG-RO/setup.py
@@ -16,7 +16,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from setuptools import setup, find_packages
+from setuptools import find_packages, setup
 
 _name = "osm_ng_ro"
 _version_command = ("git describe --match v* --tags --long --dirty", "pep440-git-full")
diff --git a/RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/wimconn_arista.py b/RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/wimconn_arista.py
index 314c673..99ab4fa 100644
--- a/RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/wimconn_arista.py
+++ b/RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/wimconn_arista.py
@@ -27,28 +27,21 @@
 # This work has been performed in the context of Arista Telefonica OSM PoC.
 ##
 
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import difflib
+from enum import Enum
+import logging
 import re
 import socket
-
-# Required by compare function
-import difflib
-
-# Library that uses Levenshtein Distance to calculate the differences
-# between strings.
-# from fuzzywuzzy import fuzz
-
-import logging
 import uuid
-from enum import Enum
-from requests import RequestException, ConnectionError, ConnectTimeout, Timeout
-from cvprac.cvp_client import CvpClient
-from cvprac.cvp_api import CvpApi
-from cvprac.cvp_client_errors import CvpLoginError, CvpSessionLogOutError, CvpApiError
-from cvprac import __version__ as cvprac_version
 
+from cvprac import __version__ as cvprac_version
+from cvprac.cvp_api import CvpApi
+from cvprac.cvp_client import CvpClient
+from cvprac.cvp_client_errors import CvpApiError, CvpLoginError, CvpSessionLogOutError
+from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
 from osm_rosdn_arista_cloudvision.aristaConfigLet import AristaSDNConfigLet
 from osm_rosdn_arista_cloudvision.aristaTask import AristaCVPTask
+from requests import ConnectionError, ConnectTimeout, RequestException, Timeout
 
 
 class SdnError(Enum):
diff --git a/RO-SDN-dpb/osm_rosdn_dpb/wimconn_dpb.py b/RO-SDN-dpb/osm_rosdn_dpb/wimconn_dpb.py
index b8a9123..075b1a8 100755
--- a/RO-SDN-dpb/osm_rosdn_dpb/wimconn_dpb.py
+++ b/RO-SDN-dpb/osm_rosdn_dpb/wimconn_dpb.py
@@ -27,12 +27,11 @@
 
 import json
 import logging
-import paramiko
-import requests
 import struct
 
-# import sys
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import paramiko
+import requests
 
 
 class DpbSshInterface:
diff --git a/RO-SDN-dynpac/osm_rosdn_dynpac/wimconn_dynpac.py b/RO-SDN-dynpac/osm_rosdn_dynpac/wimconn_dynpac.py
index 7a84f22..dfd4b35 100644
--- a/RO-SDN-dynpac/osm_rosdn_dynpac/wimconn_dynpac.py
+++ b/RO-SDN-dynpac/osm_rosdn_dynpac/wimconn_dynpac.py
@@ -21,12 +21,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import requests
+from enum import Enum
 import json
 import logging
-from enum import Enum
 
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import requests
 
 
 class SdnError(Enum):
diff --git a/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/floodlight_of.py b/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/floodlight_of.py
index 238b434..c5fec1a 100644
--- a/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/floodlight_of.py
+++ b/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/floodlight_of.py
@@ -28,17 +28,18 @@
 with static rules based on packet destination MAC address
 """
 
-__author__ = "Pablo Montes, Alfonso Tierno"
-__date__ = "$28-oct-2014 12:07:15$"
-
 import json
-import requests
 import logging
+
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
-    OpenflowConnUnexpectedResponse,
     OpenflowConnConnectionException,
+    OpenflowConnUnexpectedResponse,
 )
+import requests
+
+__author__ = "Pablo Montes, Alfonso Tierno"
+__date__ = "$28-oct-2014 12:07:15$"
 
 
 class OfConnFloodLight(OpenflowConn):
diff --git a/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/sdnconn_floodlightof.py b/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/sdnconn_floodlightof.py
index bd37be8..78ce606 100644
--- a/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/sdnconn_floodlightof.py
+++ b/RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/sdnconn_floodlightof.py
@@ -20,7 +20,9 @@
 """
 
 import logging
+
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
 from .floodlight_of import OfConnFloodLight
 
 
diff --git a/RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/wimconn_ietfl2vpn.py b/RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/wimconn_ietfl2vpn.py
index 1a581bc..ada0d72 100644
--- a/RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/wimconn_ietfl2vpn.py
+++ b/RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/wimconn_ietfl2vpn.py
@@ -30,12 +30,12 @@
 It receives the endpoints and the necessary details to request
 the Layer 2 service.
 """
-import requests
-import uuid
-import logging
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
 
-"""Check layer where we move it"""
+import logging
+import uuid
+
+from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import requests
 
 
 class WimconnectorIETFL2VPN(SdnConnectorBase):
diff --git a/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/rest_lib.py b/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/rest_lib.py
index 963f6cf..4c04c1c 100644
--- a/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/rest_lib.py
+++ b/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/rest_lib.py
@@ -14,11 +14,11 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import requests
-import json
 import copy
-
+import json
 from time import time
+
+import requests
 from requests.exceptions import ConnectionError
 
 
diff --git a/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_api.py b/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_api.py
index af7184e..38b4db5 100644
--- a/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_api.py
+++ b/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_api.py
@@ -14,8 +14,8 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import logging
 import json
+import logging
 
 from osm_ro_plugin.sdnconn import SdnConnectorError
 from osm_rosdn_juniper_contrail.rest_lib import ContrailHttp
diff --git a/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_assist_juniper_contrail.py b/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_assist_juniper_contrail.py
index 29b187b..6714132 100644
--- a/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_assist_juniper_contrail.py
+++ b/RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_assist_juniper_contrail.py
@@ -18,16 +18,13 @@
 #
 
 import logging
-import yaml
 import random
 
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
-
-# from osm_rosdn_juniper_contrail.rest_lib import ContrailHttp
-# from osm_rosdn_juniper_contrail.rest_lib import NotFound
 from osm_rosdn_juniper_contrail.rest_lib import DuplicateFound
 from osm_rosdn_juniper_contrail.rest_lib import HttpException
 from osm_rosdn_juniper_contrail.sdn_api import UnderlayApi
+import yaml
 
 
 class JuniperContrail(SdnConnectorBase):
diff --git a/RO-SDN-odl_openflow/osm_rosdn_odlof/odl_of.py b/RO-SDN-odl_openflow/osm_rosdn_odlof/odl_of.py
index 644507f..a8a6cc7 100644
--- a/RO-SDN-odl_openflow/osm_rosdn_odlof/odl_of.py
+++ b/RO-SDN-odl_openflow/osm_rosdn_odlof/odl_of.py
@@ -28,15 +28,16 @@
 with static rules based on packet destination MAC address
 """
 
-import json
-import requests
 import base64
+import json
 import logging
+
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
     OpenflowConnConnectionException,
     OpenflowConnUnexpectedResponse,
 )
+import requests
 
 # OpenflowConnException, OpenflowConnAuthException, OpenflowConnNotFoundException,
 # OpenflowConnConflictException, OpenflowConnNotSupportedException, OpenflowConnNotImplemented
diff --git a/RO-SDN-odl_openflow/osm_rosdn_odlof/sdnconn_odlof.py b/RO-SDN-odl_openflow/osm_rosdn_odlof/sdnconn_odlof.py
index ce53b0d..31f9205 100644
--- a/RO-SDN-odl_openflow/osm_rosdn_odlof/sdnconn_odlof.py
+++ b/RO-SDN-odl_openflow/osm_rosdn_odlof/sdnconn_odlof.py
@@ -20,7 +20,9 @@
 """
 
 import logging
+
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
 from .odl_of import OfConnOdl
 
 
diff --git a/RO-SDN-onos_openflow/osm_rosdn_onosof/onos_of.py b/RO-SDN-onos_openflow/osm_rosdn_onosof/onos_of.py
index cba505c..34359ae 100644
--- a/RO-SDN-onos_openflow/osm_rosdn_onosof/onos_of.py
+++ b/RO-SDN-onos_openflow/osm_rosdn_onosof/onos_of.py
@@ -28,15 +28,16 @@
 with static rules based on packet destination MAC address
 """
 
-import json
-import requests
 import base64
+import json
 import logging
+
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
     OpenflowConnConnectionException,
     OpenflowConnUnexpectedResponse,
 )
+import requests
 
 # OpenflowConnException, OpenflowConnAuthException, OpenflowConnNotFoundException, \
 # OpenflowConnConflictException, OpenflowConnNotSupportedException, OpenflowConnNotImplemented
diff --git a/RO-SDN-onos_openflow/osm_rosdn_onosof/sdnconn_onosof.py b/RO-SDN-onos_openflow/osm_rosdn_onosof/sdnconn_onosof.py
index ed70b32..6144a3f 100644
--- a/RO-SDN-onos_openflow/osm_rosdn_onosof/sdnconn_onosof.py
+++ b/RO-SDN-onos_openflow/osm_rosdn_onosof/sdnconn_onosof.py
@@ -20,7 +20,9 @@
 """
 
 import logging
+
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
 from .onos_of import OfConnOnos
 
 
diff --git a/RO-SDN-onos_vpls/osm_rosdn_onos_vpls/sdn_assist_onos_vpls.py b/RO-SDN-onos_vpls/osm_rosdn_onos_vpls/sdn_assist_onos_vpls.py
index 1c68fe7..fa22f10 100644
--- a/RO-SDN-onos_vpls/osm_rosdn_onos_vpls/sdn_assist_onos_vpls.py
+++ b/RO-SDN-onos_vpls/osm_rosdn_onos_vpls/sdn_assist_onos_vpls.py
@@ -20,14 +20,14 @@
 # For those usages not covered by the Apache License, Version 2.0 please
 # contact: bdiaz@whitestack.com or glavado@whitestack.com
 ##
+
+import copy
 import logging
 import uuid
-import copy
-
-import requests
-from requests.auth import HTTPBasicAuth
 
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import requests
+from requests.auth import HTTPBasicAuth
 
 
 class OnosVpls(SdnConnectorBase):
diff --git a/RO-VIM-aws/osm_rovim_aws/vimconn_aws.py b/RO-VIM-aws/osm_rovim_aws/vimconn_aws.py
index 9dec75a..77adecd 100644
--- a/RO-VIM-aws/osm_rovim_aws/vimconn_aws.py
+++ b/RO-VIM-aws/osm_rovim_aws/vimconn_aws.py
@@ -25,18 +25,18 @@
 AWS-connector implements all the methods to interact with AWS using the BOTO client
 """
 
-__author__ = "Saboor Ahmad"
-__date__ = "10-Apr-2017"
-
-from osm_ro_plugin import vimconn
-import yaml
 import logging
-import netaddr
 import time
 
 import boto
 import boto.ec2
 import boto.vpc
+import netaddr
+from osm_ro_plugin import vimconn
+import yaml
+
+__author__ = "Saboor Ahmad"
+__date__ = "10-Apr-2017"
 
 
 class vimconnector(vimconn.VimConnector):
diff --git a/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py b/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py
index 68f7711..729db82 100755
--- a/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py
+++ b/RO-VIM-azure/osm_rovim_azure/vimconn_azure.py
@@ -14,27 +14,26 @@
 ##
 
 import base64
-from osm_ro_plugin import vimconn
 import logging
-import netaddr
+from os import getenv
 import re
 
-from os import getenv
+from azure.core.exceptions import ResourceNotFoundError
 from azure.identity import ClientSecretCredential
-from azure.mgmt.resource import ResourceManagementClient
-from azure.mgmt.network import NetworkManagementClient
 from azure.mgmt.compute import ComputeManagementClient
 from azure.mgmt.compute.models import DiskCreateOption
-from azure.core.exceptions import ResourceNotFoundError
+from azure.mgmt.network import NetworkManagementClient
+from azure.mgmt.resource import ResourceManagementClient
 from azure.profiles import ProfileDefinition
-from msrestazure.azure_exceptions import CloudError
-from msrest.exceptions import AuthenticationError
-import msrestazure.tools as azure_tools
-from requests.exceptions import ConnectionError
-
+from cryptography.hazmat.backends import default_backend as crypto_default_backend
 from cryptography.hazmat.primitives import serialization as crypto_serialization
 from cryptography.hazmat.primitives.asymmetric import rsa
-from cryptography.hazmat.backends import default_backend as crypto_default_backend
+from msrest.exceptions import AuthenticationError
+from msrestazure.azure_exceptions import CloudError
+import msrestazure.tools as azure_tools
+import netaddr
+from osm_ro_plugin import vimconn
+from requests.exceptions import ConnectionError
 
 __author__ = "Isabel Lloret, Sergio Gonzalez, Alfonso Tierno, Gerardo Garcia"
 __date__ = "$18-apr-2019 23:59:59$"
diff --git a/RO-VIM-gcp/osm_rovim_gcp/vimconn_gcp.py b/RO-VIM-gcp/osm_rovim_gcp/vimconn_gcp.py
index 4a3258c..e73f278 100644
--- a/RO-VIM-gcp/osm_rovim_gcp/vimconn_gcp.py
+++ b/RO-VIM-gcp/osm_rovim_gcp/vimconn_gcp.py
@@ -13,23 +13,18 @@
 # under the License.
 ##
 
-import base64
-from osm_ro_plugin import vimconn
 import logging
-import time
+from os import getenv
 import random
 from random import choice as random_choice
-from os import getenv
+import time
 
-from google.api_core.exceptions import NotFound
-import googleapiclient.discovery
-from google.oauth2 import service_account
-
+from cryptography.hazmat.backends import default_backend as crypto_default_backend
 from cryptography.hazmat.primitives import serialization as crypto_serialization
 from cryptography.hazmat.primitives.asymmetric import rsa
-from cryptography.hazmat.backends import default_backend as crypto_default_backend
-
-import logging
+from google.oauth2 import service_account
+import googleapiclient.discovery
+from osm_ro_plugin import vimconn
 
 __author__ = "Sergio Gallardo Ruiz"
 __date__ = "$11-aug-2021 08:30:00$"
@@ -324,7 +319,8 @@
                 "description": net_name,
                 "network": network,
                 "ipCidrRange": subnet_address,
-                # "autoCreateSubnetworks": True, # The network is created in AUTO mode (one subnet per region is created)
+                # The network is created in AUTO mode (one subnet per region is created)
+                # "autoCreateSubnetworks": True,
                 "autoCreateSubnetworks": False,
             }
 
@@ -337,7 +333,7 @@
             self.logger.debug("created network_name: {}".format(net_name))
 
             # Adding firewall rules to allow the traffic in the network:
-            rules_list = self._create_firewall_rules(net_name)
+            self._create_firewall_rules(net_name)
 
             # create subnetwork, even if there is no profile
 
@@ -512,11 +508,9 @@
             net_name = self._get_resource_name_from_resource_id(net_id)
 
             # Check associated VMs
-            vms = (
-                self.conn_compute.instances()
-                .list(project=self.project, zone=self.zone)
-                .execute()
-            )
+            self.conn_compute.instances().list(
+                project=self.project, zone=self.zone
+            ).execute()
 
             net_id = self.delete_subnet(net_name, created_items)
 
@@ -545,7 +539,8 @@
         try:
             # If the network has no more subnets, it will be deleted too
             net_info = self.get_network(net_id)
-            # If the subnet is in use by another resource, the deletion will be retried N times before abort the operation
+            # If the subnet is in use by another resource, the deletion will
+            # be retried N times before abort the operation
             created_items = created_items or {}
             created_items[net_id] = False
 
@@ -582,7 +577,7 @@
 
                 try:
                     # Deletion of the associated firewall rules:
-                    rules_list = self._delete_firewall_rules(network_name)
+                    self._delete_firewall_rules(network_name)
 
                     operation = (
                         self.conn_compute.networks()
@@ -845,12 +840,11 @@
                     + "-"
                     + "".join(random_choice("0123456789abcdef") for _ in range(12))
                 )
-                response = (
-                    self.conn_compute.instances()
-                    .get(project=self.project, zone=self.zone, instance=random_name)
-                    .execute()
-                )
-                # If no exception is arisen, the random name exists for an instance, so a new random name must be generated
+                self.conn_compute.instances().get(
+                    project=self.project, zone=self.zone, instance=random_name
+                ).execute()
+                # If no exception is arisen, the random name exists for an instance,
+                # so a new random name must be generated
 
             except Exception as e:
                 if e.args[0]["status"] == "404":
@@ -1012,11 +1006,9 @@
                 self._format_vimconn_exception(e)
 
     def _build_metadata(self, vm_name, cloud_config):
-
         # initial metadata
         metadata = {}
         metadata["items"] = []
-        key_pairs = {}
 
         # if there is a cloud-init load it
         if cloud_config:
@@ -1152,7 +1144,7 @@
                     self._get_resource_name_from_resource_id(netIface["subnetwork"])
                     in self.nets_to_be_deleted
                 ):
-                    net_id = self._get_resource_name_from_resource_id(
+                    self._get_resource_name_from_resource_id(
                         self.delete_network(netIface["subnetwork"])
                     )
 
@@ -1222,7 +1214,6 @@
 
         for net_id in net_list:
             try:
-                netName = self._get_net_name_from_resource_id(net_id)
                 resName = self._get_resource_name_from_resource_id(net_id)
 
                 net = (
@@ -1334,7 +1325,6 @@
             interface_list = []
             for network_interface in interfaces:
                 interface_dict = {}
-                nic_name = network_interface["name"]
                 interface_dict["vim_interface_id"] = network_interface["name"]
 
                 ips = []
@@ -1380,11 +1370,9 @@
                 "network": "global/networks/" + network,
                 "allowed": [{"IPProtocol": "tcp", "ports": ["80"]}],
             }
-            operation_firewall = (
-                self.conn_compute.firewalls()
-                .insert(project=self.project, body=firewall_rule_body)
-                .execute()
-            )
+            self.conn_compute.firewalls().insert(
+                project=self.project, body=firewall_rule_body
+            ).execute()
 
             # Adding firewall rule to allow ssh:
             self.logger.debug("creating firewall rule to allow ssh")
@@ -1393,11 +1381,9 @@
                 "network": "global/networks/" + network,
                 "allowed": [{"IPProtocol": "tcp", "ports": ["22"]}],
             }
-            operation_firewall = (
-                self.conn_compute.firewalls()
-                .insert(project=self.project, body=firewall_rule_body)
-                .execute()
-            )
+            self.conn_compute.firewalls().insert(
+                project=self.project, body=firewall_rule_body
+            ).execute()
 
             # Adding firewall rule to allow ping:
             self.logger.debug("creating firewall rule to allow ping")
@@ -1406,11 +1392,9 @@
                 "network": "global/networks/" + network,
                 "allowed": [{"IPProtocol": "icmp"}],
             }
-            operation_firewall = (
-                self.conn_compute.firewalls()
-                .insert(project=self.project, body=firewall_rule_body)
-                .execute()
-            )
+            self.conn_compute.firewalls().insert(
+                project=self.project, body=firewall_rule_body
+            ).execute()
 
             # Adding firewall rule to allow internal:
             self.logger.debug("creating firewall rule to allow internal")
@@ -1423,11 +1407,9 @@
                     {"IPProtocol": "icmp"},
                 ],
             }
-            operation_firewall = (
-                self.conn_compute.firewalls()
-                .insert(project=self.project, body=firewall_rule_body)
-                .execute()
-            )
+            self.conn_compute.firewalls().insert(
+                project=self.project, body=firewall_rule_body
+            ).execute()
 
             # Adding firewall rule to allow microk8s:
             self.logger.debug("creating firewall rule to allow microk8s")
@@ -1436,11 +1418,9 @@
                 "network": "global/networks/" + network,
                 "allowed": [{"IPProtocol": "tcp", "ports": ["16443"]}],
             }
-            operation_firewall = (
-                self.conn_compute.firewalls()
-                .insert(project=self.project, body=firewall_rule_body)
-                .execute()
-            )
+            self.conn_compute.firewalls().insert(
+                project=self.project, body=firewall_rule_body
+            ).execute()
 
             # Adding firewall rule to allow rdp:
             self.logger.debug("creating firewall rule to allow rdp")
@@ -1449,11 +1429,9 @@
                 "network": "global/networks/" + network,
                 "allowed": [{"IPProtocol": "tcp", "ports": ["3389"]}],
             }
-            operation_firewall = (
-                self.conn_compute.firewalls()
-                .insert(project=self.project, body=firewall_rule_body)
-                .execute()
-            )
+            self.conn_compute.firewalls().insert(
+                project=self.project, body=firewall_rule_body
+            ).execute()
 
             # Adding firewall rule to allow osm:
             self.logger.debug("creating firewall rule to allow osm")
@@ -1462,11 +1440,9 @@
                 "network": "global/networks/" + network,
                 "allowed": [{"IPProtocol": "tcp", "ports": ["9001", "9999"]}],
             }
-            operation_firewall = (
-                self.conn_compute.firewalls()
-                .insert(project=self.project, body=firewall_rule_body)
-                .execute()
-            )
+            self.conn_compute.firewalls().insert(
+                project=self.project, body=firewall_rule_body
+            ).execute()
 
             self.logger.debug(
                 "_create_firewall_rules Return: list_rules %s", rules_list
@@ -1495,11 +1471,9 @@
             )
             for item in rules_list["items"]:
                 if network == self._get_resource_name_from_resource_id(item["network"]):
-                    operation_firewall = (
-                        self.conn_compute.firewalls()
-                        .delete(project=self.project, firewall=item["name"])
-                        .execute()
-                    )
+                    self.conn_compute.firewalls().delete(
+                        project=self.project, firewall=item["name"]
+                    ).execute()
 
             self.logger.debug("_delete_firewall_rules Return: list_rules %s", 0)
             return rules_list
diff --git a/RO-VIM-openstack/osm_rovim_openstack/tests/test_vimconn_openstack.py b/RO-VIM-openstack/osm_rovim_openstack/tests/test_vimconn_openstack.py
index 19c9d52..c5f7038 100644
--- a/RO-VIM-openstack/osm_rovim_openstack/tests/test_vimconn_openstack.py
+++ b/RO-VIM-openstack/osm_rovim_openstack/tests/test_vimconn_openstack.py
@@ -29,11 +29,9 @@
 
 import mock
 from neutronclient.v2_0.client import Client
-
 from osm_ro_plugin import vimconn
 from osm_rovim_openstack.vimconn_openstack import vimconnector
 
-
 __author__ = "Igor D.C."
 __date__ = "$23-aug-2017 23:59:59$"
 
diff --git a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
index 4869da1..dcbf5ca 100644
--- a/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
+++ b/RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
@@ -30,32 +30,29 @@
 - Service Function Path (OSM) -> Port Chain (Neutron)
 """
 
-from osm_ro_plugin import vimconn
-
-# import json
+import copy
+from http.client import HTTPException
 import logging
-import netaddr
-import time
-import yaml
+from pprint import pformat
 import random
 import re
-import copy
-from pprint import pformat
-from novaclient import client as nClient, exceptions as nvExceptions
-from keystoneauth1.identity import v2, v3
-from keystoneauth1 import session
-import keystoneclient.exceptions as ksExceptions
-import keystoneclient.v3.client as ksClient_v3
-import keystoneclient.v2_0.client as ksClient_v2
+import time
+
+from cinderclient import client as cClient
 from glanceclient import client as glClient
 import glanceclient.exc as gl1Exceptions
-from cinderclient import client as cClient
-
-# TODO py3 check that this base exception matches python2 httplib.HTTPException
-from http.client import HTTPException
-from neutronclient.neutron import client as neClient
+from keystoneauth1 import session
+from keystoneauth1.identity import v2, v3
+import keystoneclient.exceptions as ksExceptions
+import keystoneclient.v2_0.client as ksClient_v2
+import keystoneclient.v3.client as ksClient_v3
+import netaddr
 from neutronclient.common import exceptions as neExceptions
+from neutronclient.neutron import client as neClient
+from novaclient import client as nClient, exceptions as nvExceptions
+from osm_ro_plugin import vimconn
 from requests.exceptions import ConnectionError
+import yaml
 
 __author__ = "Alfonso Tierno, Gerardo Garcia, Pablo Montes, xFlow Research, Igor D.C., Eduardo Sousa"
 __date__ = "$22-sep-2017 23:59:59$"
diff --git a/RO-VIM-openvim/osm_rovim_openvim/vimconn_openvim.py b/RO-VIM-openvim/osm_rovim_openvim/vimconn_openvim.py
index 18d2cd6..79a5c7b 100644
--- a/RO-VIM-openvim/osm_rovim_openvim/vimconn_openvim.py
+++ b/RO-VIM-openvim/osm_rovim_openvim/vimconn_openvim.py
@@ -27,22 +27,23 @@
 __author__ = "Alfonso Tierno, Gerardo Garcia"
 __date__ = "$26-aug-2014 11:09:29$"
 
-from osm_ro_plugin import vimconn
-import requests
 import json
-import yaml
 import logging
 import math
+from urllib.parse import quote
+
+from jsonschema import exceptions as js_e, validate as js_v
 from osm_ro.openmano_schemas import (
+    description_schema,
     id_schema,
+    integer0_schema,
     name_schema,
     nameshort_schema,
-    description_schema,
     vlan1000_schema,
-    integer0_schema,
 )
-from jsonschema import validate as js_v, exceptions as js_e
-from urllib.parse import quote
+from osm_ro_plugin import vimconn
+import requests
+import yaml
 
 """contain the openvim virtual machine status to openmano status"""
 vmStatus2manoFormat = {
diff --git a/RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py b/RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py
index 77f4808..8c096bb 100755
--- a/RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py
+++ b/RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py
@@ -21,23 +21,23 @@
 # contact:  osslegalrouting@vmware.com
 ##
 
-
-from osm_rovim_vmware.vimconn_vmware import vimconnector
-from osm_ro_plugin.vimconn import (
-    VimConnUnexpectedResponse,
-    VimConnNotFoundException,
-    VimConnException,
-)
-from pyvcloud.vcd.client import Client
-from lxml import etree as lxmlElementTree
-from pyvcloud.vcd.org import Org
-from pyvcloud.vcd.vdc import VDC
-from pyvcloud.vcd.vapp import VApp
 import os
+from os import path
 import unittest
 from unittest import mock
+
+from lxml import etree as lxmlElementTree
+from osm_ro_plugin.vimconn import (
+    VimConnException,
+    VimConnNotFoundException,
+    VimConnUnexpectedResponse,
+)
+from osm_rovim_vmware.vimconn_vmware import vimconnector
+from pyvcloud.vcd.client import Client
+from pyvcloud.vcd.org import Org
+from pyvcloud.vcd.vapp import VApp
+from pyvcloud.vcd.vdc import VDC
 import tests.test_vimconn_vmware_xml_response as xml_resp
-from os import path
 
 __author__ = "Prakash Kasar"
 
diff --git a/RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py b/RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py
index a3c25ca..5a58cf9 100644
--- a/RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py
+++ b/RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py
@@ -25,26 +25,13 @@
 vimconn_vmware implementation an Abstract class in order to interact with VMware  vCloud Director.
 """
 
-from lxml import etree as lxmlElementTree
-from osm_ro_plugin import vimconn
-from progressbar import Percentage, Bar, ETA, FileTransferSpeed, ProgressBar
-from pyVim.connect import SmartConnect, Disconnect
-from pyVmomi import vim, vmodl  # @UnresolvedImport
-from pyvcloud.vcd.client import BasicLoginCredentials, Client
-from pyvcloud.vcd.org import Org
-from pyvcloud.vcd.vapp import VApp
-from pyvcloud.vcd.vdc import VDC
-from xml.etree import ElementTree as XmlElementTree
-from xml.sax.saxutils import escape
 import atexit
 import hashlib
 import json
 import logging
-import netaddr
 import os
 import random
 import re
-import requests
 import shutil
 import socket
 import ssl
@@ -54,6 +41,20 @@
 import time
 import traceback
 import uuid
+from xml.etree import ElementTree as XmlElementTree
+from xml.sax.saxutils import escape
+
+from lxml import etree as lxmlElementTree
+import netaddr
+from osm_ro_plugin import vimconn
+from progressbar import Bar, ETA, FileTransferSpeed, Percentage, ProgressBar
+from pyvcloud.vcd.client import BasicLoginCredentials, Client
+from pyvcloud.vcd.org import Org
+from pyvcloud.vcd.vapp import VApp
+from pyvcloud.vcd.vdc import VDC
+from pyVim.connect import Disconnect, SmartConnect
+from pyVmomi import vim, vmodl  # @UnresolvedImport
+import requests
 import yaml
 
 # global variable for vcd connector type
diff --git a/RO-plugin/osm_ro_plugin/openflow_conn.py b/RO-plugin/osm_ro_plugin/openflow_conn.py
index 17351b0..f1869e8 100644
--- a/RO-plugin/osm_ro_plugin/openflow_conn.py
+++ b/RO-plugin/osm_ro_plugin/openflow_conn.py
@@ -15,11 +15,14 @@
 # under the License.
 #
 ##
-import logging
+
 from http import HTTPStatus
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import logging
 from uuid import uuid4
 
+from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+
+
 """
 Implement an Abstract class 'OpenflowConn' and an engine 'SdnConnectorOpenFlow' used for base class for SDN plugings
 that implements a pro-active opeflow rules.
diff --git a/RO-plugin/osm_ro_plugin/sdn_dummy.py b/RO-plugin/osm_ro_plugin/sdn_dummy.py
index fb7c552..0318156 100644
--- a/RO-plugin/osm_ro_plugin/sdn_dummy.py
+++ b/RO-plugin/osm_ro_plugin/sdn_dummy.py
@@ -20,10 +20,12 @@
 This WIM does nothing and allows using it for testing and when no WIM is needed
 """
 
+from http import HTTPStatus
 import logging
 from uuid import uuid4
+
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
-from http import HTTPStatus
+
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
diff --git a/RO-plugin/osm_ro_plugin/sdnconn.py b/RO-plugin/osm_ro_plugin/sdnconn.py
index a1849c9..467d05d 100644
--- a/RO-plugin/osm_ro_plugin/sdnconn.py
+++ b/RO-plugin/osm_ro_plugin/sdnconn.py
@@ -37,8 +37,8 @@
 It receives information from ports to be connected .
 """
 
-import logging
 from http import HTTPStatus
+import logging
 
 
 class SdnConnectorError(Exception):
diff --git a/RO-plugin/osm_ro_plugin/vim_dummy.py b/RO-plugin/osm_ro_plugin/vim_dummy.py
index fe3a811..f003ba9 100644
--- a/RO-plugin/osm_ro_plugin/vim_dummy.py
+++ b/RO-plugin/osm_ro_plugin/vim_dummy.py
@@ -20,12 +20,14 @@
 Implements a Dummy vim plugin.
 """
 
-import yaml
-from osm_ro_plugin import vimconn
-from uuid import uuid4
 from copy import deepcopy
 import logging
 from random import randrange
+from uuid import uuid4
+
+from osm_ro_plugin import vimconn
+import yaml
+
 
 __author__ = "Alfonso Tierno"
 __date__ = "2020-04-20"
diff --git a/RO-plugin/osm_ro_plugin/vimconn.py b/RO-plugin/osm_ro_plugin/vimconn.py
index cc087f0..b4e936c 100644
--- a/RO-plugin/osm_ro_plugin/vimconn.py
+++ b/RO-plugin/osm_ro_plugin/vimconn.py
@@ -26,17 +26,18 @@
  with the definition of the method to be implemented.
 """
 
-import logging
-import paramiko
-import socket
-from io import StringIO
-import yaml
-import sys
 from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
 from http import HTTPStatus
+from io import StringIO
+import logging
+import socket
+import sys
 import warnings
 
+import paramiko
+import yaml
+
 __author__ = "Alfonso Tierno, Igor D.C."
 __date__ = "$14-aug-2017 23:59:59$"
 
diff --git a/integration-tests/test_vimconn_gcp.py b/integration-tests/test_vimconn_gcp.py
index f973538..ea9783b 100644
--- a/integration-tests/test_vimconn_gcp.py
+++ b/integration-tests/test_vimconn_gcp.py
@@ -24,12 +24,11 @@
 Run this directly with python2 or python3.
 """
 
-import logging
+from datetime import datetime
 import json
+import logging
 
 from osm_rovim_gcp.vimconn_gcp import vimconnector
-from datetime import datetime
-
 
 __author__ = "Sergio G.R."
 __date__ = "$05-nov-2021 12:00:00$"
diff --git a/releasenotes/notes/enabling_flake8-007bf2cc6afb7cf1.yaml b/releasenotes/notes/enabling_flake8-007bf2cc6afb7cf1.yaml
new file mode 100644
index 0000000..8ea0d73
--- /dev/null
+++ b/releasenotes/notes/enabling_flake8-007bf2cc6afb7cf1.yaml
@@ -0,0 +1,21 @@
+#######################################################################################
+# Copyright ETSI Contributors and Others.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#######################################################################################
+---
+other:
+  - |
+    Enabling flake8 verifications in tox.ini and adding import sorting. All the plugins
+    have been fixed for flake8 errors and the imports have been sorted.
diff --git a/tox.ini b/tox.ini
index dd4b1e6..699ff96 100644
--- a/tox.ini
+++ b/tox.ini
@@ -133,27 +133,29 @@
 
 #######################################################################################
 [testenv:flake8]
-deps = flake8
+deps =
+        flake8
+        flake8-import-order
 skip_install = true
 commands =
         flake8 NG-RO/osm_ng_ro/ NG-RO/setup.py
-        - flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
-        - flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
-        - flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
-        - flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
-        - flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
-        - flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
-        - flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
-        - flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
-        - flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
-        - flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
-        - flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
-        - flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
-        - flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
-        - flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
-        - flake8 RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py RO-VIM-vmware/setup.py
-        - flake8 RO-VIM-gcp/osm_rovim_gcp/ RO-VIM-gcp/setup.py
-        - flake8 integration-tests/
+        flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
+        flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
+        flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
+        flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
+        flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
+        flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
+        flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
+        flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
+        flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
+        flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
+        flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
+        flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
+        flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
+        flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
+        flake8 RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py RO-VIM-vmware/setup.py
+        flake8 RO-VIM-gcp/osm_rovim_gcp/ RO-VIM-gcp/setup.py
+        flake8 integration-tests/
 
 
 #######################################################################################
@@ -449,3 +451,4 @@
 max-line-length = 120
 show-source = True
 builtins = _
+import-order-style = google
