Updating tox.ini 25/11525/1
authorsousaedu <eduardo.sousa@canonical.com>
Mon, 17 Jan 2022 13:48:22 +0000 (13:48 +0000)
committersousaedu <eduardo.sousa@canonical.com>
Mon, 17 Jan 2022 15:12:58 +0000 (15:12 +0000)
Change-Id: I87574da5911b4c827cf2543ecc9e9f404da96f85
Signed-off-by: sousaedu <eduardo.sousa@canonical.com>
34 files changed:
NG-RO/osm_ng_ro/html_out.py
NG-RO/osm_ng_ro/ns.py
NG-RO/osm_ng_ro/ns_thread.py
NG-RO/osm_ng_ro/ro_main.py
NG-RO/osm_ng_ro/validation.py
NG-RO/osm_ng_ro/vim_admin.py
NG-RO/setup.py
RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/wimconn_arista.py
RO-SDN-dpb/osm_rosdn_dpb/wimconn_dpb.py
RO-SDN-dynpac/osm_rosdn_dynpac/wimconn_dynpac.py
RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/floodlight_of.py
RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/sdnconn_floodlightof.py
RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/wimconn_ietfl2vpn.py
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/rest_lib.py
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_api.py
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_assist_juniper_contrail.py
RO-SDN-odl_openflow/osm_rosdn_odlof/odl_of.py
RO-SDN-odl_openflow/osm_rosdn_odlof/sdnconn_odlof.py
RO-SDN-onos_openflow/osm_rosdn_onosof/onos_of.py
RO-SDN-onos_openflow/osm_rosdn_onosof/sdnconn_onosof.py
RO-SDN-onos_vpls/osm_rosdn_onos_vpls/sdn_assist_onos_vpls.py
RO-VIM-aws/osm_rovim_aws/vimconn_aws.py
RO-VIM-azure/osm_rovim_azure/vimconn_azure.py
RO-VIM-openstack/osm_rovim_openstack/tests/test_vimconn_openstack.py
RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py
RO-VIM-openvim/osm_rovim_openvim/vimconn_openvim.py
RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py
RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py
RO-plugin/osm_ro_plugin/openflow_conn.py
RO-plugin/osm_ro_plugin/sdn_dummy.py
RO-plugin/osm_ro_plugin/sdnconn.py
RO-plugin/osm_ro_plugin/vim_dummy.py
RO-plugin/osm_ro_plugin/vimconn.py
tox.ini

index 132bf68..1b01cb8 100644 (file)
 Contains html text in variables to make and html response
 """
 
 Contains html text in variables to make and html response
 """
 
-import yaml
-from http import HTTPStatus
 from html import escape as html_escape
 from html import escape as html_escape
+from http import HTTPStatus
+
+import yaml
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
index f943c2a..08ee7c4 100644 (file)
 # limitations under the License.
 ##
 
 # limitations under the License.
 ##
 
-# import yaml
+from http import HTTPStatus
 import logging
 import logging
+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 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 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 (
 from osm_common import (
-    dbmongo,
     dbmemory,
     dbmemory,
+    dbmongo,
     fslocal,
     fsmongo,
     fslocal,
     fsmongo,
-    msglocal,
     msgkafka,
     msgkafka,
+    msglocal,
     version as common_version,
 )
 from osm_common.dbbase import DbException
 from osm_common.fsbase import FsException
 from osm_common.msgbase import MsgException
     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"
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 min_common_version = "0.1.16"
index b77f054..8103ea7 100644 (file)
@@ -24,24 +24,23 @@ A single ro_task refers to a VIM element (flavor, image, network, ...).
 A ro_task can contain several 'tasks', each one with a target, where to store the results
 """
 
 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
 from copy import deepcopy
 from http import HTTPStatus
+import logging
 from os import mkdir
 from os import mkdir
-from importlib_metadata import entry_points
+import queue
 from shutil import rmtree
 from shutil import rmtree
+import threading
+import time
 from unittest.mock import Mock
 
 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_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_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"
 
 
 __author__ = "Alfonso Tierno"
index c9cad85..ac38160 100644 (file)
 # limitations under the License.
 ##
 
 # limitations under the License.
 ##
 
-import cherrypy
-import time
+from codecs import getreader
+import getopt
+from http import HTTPStatus
 import json
 import json
-import yaml
-import osm_ng_ro.html_out as html
 import logging
 import logging.handlers
 import logging
 import logging.handlers
-import getopt
+from os import environ, path
 import sys
 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 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
 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>"
 
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
index efd940c..91ea613 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
 # 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 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"
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 __version__ = "0.1"
 version_date = "Jun 2020"
index d875272..2582ee2 100644 (file)
@@ -19,15 +19,15 @@ It is based on asyncio.
 It is in charge of load tasks assigned to VIMs that nobody is in chage of it
 """
 
 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 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 osm_common.dbbase import DbException
 from osm_common.msgbase import MsgException
-from time import time
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
index 4661386..b60a3b8 100644 (file)
@@ -16,7 +16,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
 # 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")
 
 _name = "osm_ng_ro"
 _version_command = ("git describe --match v* --tags --long --dirty", "pep440-git-full")
index 314c673..99ab4fa 100644 (file)
 # This work has been performed in the context of Arista Telefonica OSM PoC.
 ##
 
 # This work has been performed in the context of Arista Telefonica OSM PoC.
 ##
 
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
-import re
-import socket
-
-# Required by compare function
 import difflib
 import difflib
-
-# Library that uses Levenshtein Distance to calculate the differences
-# between strings.
-# from fuzzywuzzy import fuzz
-
+from enum import Enum
 import logging
 import logging
+import re
+import socket
 import uuid
 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 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):
 
 
 class SdnError(Enum):
index b8a9123..075b1a8 100755 (executable)
 
 import json
 import logging
 
 import json
 import logging
-import paramiko
-import requests
 import struct
 
 import struct
 
-# import sys
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import paramiko
+import requests
 
 
 class DpbSshInterface:
 
 
 class DpbSshInterface:
index 7a84f22..dfd4b35 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import requests
+from enum import Enum
 import json
 import logging
 import json
 import logging
-from enum import Enum
 
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
 
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import requests
 
 
 class SdnError(Enum):
 
 
 class SdnError(Enum):
index 238b434..c5fec1a 100644 (file)
@@ -28,17 +28,18 @@ It creates the class OF_conn to create dataplane connections
 with static rules based on packet destination MAC address
 """
 
 with static rules based on packet destination MAC address
 """
 
-__author__ = "Pablo Montes, Alfonso Tierno"
-__date__ = "$28-oct-2014 12:07:15$"
-
 import json
 import json
-import requests
 import logging
 import logging
+
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
-    OpenflowConnUnexpectedResponse,
     OpenflowConnConnectionException,
     OpenflowConnConnectionException,
+    OpenflowConnUnexpectedResponse,
 )
 )
+import requests
+
+__author__ = "Pablo Montes, Alfonso Tierno"
+__date__ = "$28-oct-2014 12:07:15$"
 
 
 class OfConnFloodLight(OpenflowConn):
 
 
 class OfConnFloodLight(OpenflowConn):
index bd37be8..78ce606 100644 (file)
@@ -20,7 +20,9 @@
 """
 
 import logging
 """
 
 import logging
+
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
 from .floodlight_of import OfConnFloodLight
 
 
 from .floodlight_of import OfConnFloodLight
 
 
index 1a581bc..ada0d72 100644 (file)
@@ -30,12 +30,12 @@ This SDN/WIM connector implements the standard IETF RFC 8466 "A YANG Data
 It receives the endpoints and the necessary details to request
 the Layer 2 service.
 """
 It receives the endpoints and the necessary details to request
 the Layer 2 service.
 """
-import requests
-import uuid
+
 import logging
 import logging
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import uuid
 
 
-"""Check layer where we move it"""
+from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import requests
 
 
 class WimconnectorIETFL2VPN(SdnConnectorBase):
 
 
 class WimconnectorIETFL2VPN(SdnConnectorBase):
index 963f6cf..4c04c1c 100644 (file)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import requests
-import json
 import copy
 import copy
-
+import json
 from time import time
 from time import time
+
+import requests
 from requests.exceptions import ConnectionError
 
 
 from requests.exceptions import ConnectionError
 
 
index af7184e..38b4db5 100644 (file)
@@ -14,8 +14,8 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import logging
 import json
 import json
+import logging
 
 from osm_ro_plugin.sdnconn import SdnConnectorError
 from osm_rosdn_juniper_contrail.rest_lib import ContrailHttp
 
 from osm_ro_plugin.sdnconn import SdnConnectorError
 from osm_rosdn_juniper_contrail.rest_lib import ContrailHttp
index 29b187b..6714132 100644 (file)
 #
 
 import logging
 #
 
 import logging
-import yaml
 import random
 
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
 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
 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):
 
 
 class JuniperContrail(SdnConnectorBase):
index 644507f..a8a6cc7 100644 (file)
@@ -28,15 +28,16 @@ It creates the class OF_conn to create dataplane connections
 with static rules based on packet destination MAC address
 """
 
 with static rules based on packet destination MAC address
 """
 
-import json
-import requests
 import base64
 import base64
+import json
 import logging
 import logging
+
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
     OpenflowConnConnectionException,
     OpenflowConnUnexpectedResponse,
 )
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
     OpenflowConnConnectionException,
     OpenflowConnUnexpectedResponse,
 )
+import requests
 
 # OpenflowConnException, OpenflowConnAuthException, OpenflowConnNotFoundException,
 # OpenflowConnConflictException, OpenflowConnNotSupportedException, OpenflowConnNotImplemented
 
 # OpenflowConnException, OpenflowConnAuthException, OpenflowConnNotFoundException,
 # OpenflowConnConflictException, OpenflowConnNotSupportedException, OpenflowConnNotImplemented
index ce53b0d..31f9205 100644 (file)
@@ -20,7 +20,9 @@
 """
 
 import logging
 """
 
 import logging
+
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
 from .odl_of import OfConnOdl
 
 
 from .odl_of import OfConnOdl
 
 
index cba505c..34359ae 100644 (file)
@@ -28,15 +28,16 @@ controller. It creates the class OF_conn to create dataplane connections
 with static rules based on packet destination MAC address
 """
 
 with static rules based on packet destination MAC address
 """
 
-import json
-import requests
 import base64
 import base64
+import json
 import logging
 import logging
+
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
     OpenflowConnConnectionException,
     OpenflowConnUnexpectedResponse,
 )
 from osm_ro_plugin.openflow_conn import (
     OpenflowConn,
     OpenflowConnConnectionException,
     OpenflowConnUnexpectedResponse,
 )
+import requests
 
 # OpenflowConnException, OpenflowConnAuthException, OpenflowConnNotFoundException, \
 # OpenflowConnConflictException, OpenflowConnNotSupportedException, OpenflowConnNotImplemented
 
 # OpenflowConnException, OpenflowConnAuthException, OpenflowConnNotFoundException, \
 # OpenflowConnConflictException, OpenflowConnNotSupportedException, OpenflowConnNotImplemented
index ed70b32..6144a3f 100644 (file)
@@ -20,7 +20,9 @@
 """
 
 import logging
 """
 
 import logging
+
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
 from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
 from .onos_of import OfConnOnos
 
 
 from .onos_of import OfConnOnos
 
 
index 1c68fe7..fa22f10 100644 (file)
 # For those usages not covered by the Apache License, Version 2.0 please
 # contact: bdiaz@whitestack.com or glavado@whitestack.com
 ##
 # 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 logging
 import uuid
-import copy
 
 
+from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
 import requests
 from requests.auth import HTTPBasicAuth
 
 import requests
 from requests.auth import HTTPBasicAuth
 
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
-
 
 class OnosVpls(SdnConnectorBase):
     """
 
 class OnosVpls(SdnConnectorBase):
     """
index 9dec75a..77adecd 100644 (file)
 AWS-connector implements all the methods to interact with AWS using the BOTO client
 """
 
 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 logging
-import netaddr
 import time
 
 import boto
 import boto.ec2
 import boto.vpc
 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):
 
 
 class vimconnector(vimconn.VimConnector):
index 68f7711..729db82 100755 (executable)
 ##
 
 import base64
 ##
 
 import base64
-from osm_ro_plugin import vimconn
 import logging
 import logging
-import netaddr
+from os import getenv
 import re
 
 import re
 
-from os import getenv
+from azure.core.exceptions import ResourceNotFoundError
 from azure.identity import ClientSecretCredential
 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.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 azure.profiles import ProfileDefinition
-from msrestazure.azure_exceptions import CloudError
+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 msrest.exceptions import AuthenticationError
 from msrest.exceptions import AuthenticationError
+from msrestazure.azure_exceptions import CloudError
 import msrestazure.tools as azure_tools
 import msrestazure.tools as azure_tools
+import netaddr
+from osm_ro_plugin import vimconn
 from requests.exceptions import ConnectionError
 
 from requests.exceptions import ConnectionError
 
-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
-
 __author__ = "Isabel Lloret, Sergio Gonzalez, Alfonso Tierno, Gerardo Garcia"
 __date__ = "$18-apr-2019 23:59:59$"
 
 __author__ = "Isabel Lloret, Sergio Gonzalez, Alfonso Tierno, Gerardo Garcia"
 __date__ = "$18-apr-2019 23:59:59$"
 
index 19c9d52..c5f7038 100644 (file)
@@ -29,11 +29,9 @@ import unittest
 
 import mock
 from neutronclient.v2_0.client import Client
 
 import mock
 from neutronclient.v2_0.client import Client
-
 from osm_ro_plugin import vimconn
 from osm_rovim_openstack.vimconn_openstack import vimconnector
 
 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$"
 
 __author__ = "Igor D.C."
 __date__ = "$23-aug-2017 23:59:59$"
 
index 4869da1..dcbf5ca 100644 (file)
@@ -30,32 +30,29 @@ to the VIM connector's SFC resources as follows:
 - Service Function Path (OSM) -> Port Chain (Neutron)
 """
 
 - 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 logging
-import netaddr
-import time
-import yaml
+from pprint import pformat
 import random
 import re
 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
+import time
+
+from cinderclient import client as cClient
+from glanceclient import client as glClient
+import glanceclient.exc as gl1Exceptions
 from keystoneauth1 import session
 from keystoneauth1 import session
+from keystoneauth1.identity import v2, v3
 import keystoneclient.exceptions as ksExceptions
 import keystoneclient.exceptions as ksExceptions
-import keystoneclient.v3.client as ksClient_v3
 import keystoneclient.v2_0.client as ksClient_v2
 import keystoneclient.v2_0.client as ksClient_v2
-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
+import keystoneclient.v3.client as ksClient_v3
+import netaddr
 from neutronclient.common import exceptions as neExceptions
 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
 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$"
 
 __author__ = "Alfonso Tierno, Gerardo Garcia, Pablo Montes, xFlow Research, Igor D.C., Eduardo Sousa"
 __date__ = "$22-sep-2017 23:59:59$"
index 18d2cd6..79a5c7b 100644 (file)
@@ -27,22 +27,23 @@ vimconnector implements all the methods to interact with openvim using the openv
 __author__ = "Alfonso Tierno, Gerardo Garcia"
 __date__ = "$26-aug-2014 11:09:29$"
 
 __author__ = "Alfonso Tierno, Gerardo Garcia"
 __date__ = "$26-aug-2014 11:09:29$"
 
-from osm_ro_plugin import vimconn
-import requests
 import json
 import json
-import yaml
 import logging
 import math
 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 (
 from osm_ro.openmano_schemas import (
+    description_schema,
     id_schema,
     id_schema,
+    integer0_schema,
     name_schema,
     nameshort_schema,
     name_schema,
     nameshort_schema,
-    description_schema,
     vlan1000_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 = {
 
 """contain the openvim virtual machine status to openmano status"""
 vmStatus2manoFormat = {
index 77f4808..940a2ce 100755 (executable)
 ##
 
 
 ##
 
 
-from osm_rovim_vmware.vimconn_vmware import vimconnector
+import os
+from os import path
+import unittest
+from unittest import mock
+
+from lxml import etree as lxmlElementTree
 from osm_ro_plugin.vimconn import (
 from osm_ro_plugin.vimconn import (
-    VimConnUnexpectedResponse,
-    VimConnNotFoundException,
     VimConnException,
     VimConnException,
+    VimConnNotFoundException,
+    VimConnUnexpectedResponse,
 )
 )
+from osm_rovim_vmware.vimconn_vmware import vimconnector
 from pyvcloud.vcd.client import Client
 from pyvcloud.vcd.client import Client
-from lxml import etree as lxmlElementTree
 from pyvcloud.vcd.org import Org
 from pyvcloud.vcd.org import Org
-from pyvcloud.vcd.vdc import VDC
 from pyvcloud.vcd.vapp import VApp
 from pyvcloud.vcd.vapp import VApp
-import os
-import unittest
-from unittest import mock
+from pyvcloud.vcd.vdc import VDC
 import tests.test_vimconn_vmware_xml_response as xml_resp
 import tests.test_vimconn_vmware_xml_response as xml_resp
-from os import path
 
 __author__ = "Prakash Kasar"
 
 
 __author__ = "Prakash Kasar"
 
index a3c25ca..5a58cf9 100644 (file)
 vimconn_vmware implementation an Abstract class in order to interact with VMware  vCloud Director.
 """
 
 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 atexit
 import hashlib
 import json
 import logging
-import netaddr
 import os
 import random
 import re
 import os
 import random
 import re
-import requests
 import shutil
 import socket
 import ssl
 import shutil
 import socket
 import ssl
@@ -54,6 +41,20 @@ import tempfile
 import time
 import traceback
 import uuid
 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
 import yaml
 
 # global variable for vcd connector type
index 17351b0..f1869e8 100644 (file)
 # under the License.
 #
 ##
 # under the License.
 #
 ##
-import logging
+
 from http import HTTPStatus
 from http import HTTPStatus
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import logging
 from uuid import uuid4
 
 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.
 """
 Implement an Abstract class 'OpenflowConn' and an engine 'SdnConnectorOpenFlow' used for base class for SDN plugings
 that implements a pro-active opeflow rules.
index fb7c552..0318156 100644 (file)
 This WIM does nothing and allows using it for testing and when no WIM is needed
 """
 
 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
 import logging
 from uuid import uuid4
+
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
 from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
-from http import HTTPStatus
+
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
 
 __author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
 
index a1849c9..467d05d 100644 (file)
@@ -37,8 +37,8 @@ and intranet SDN connectivity.
 It receives information from ports to be connected .
 """
 
 It receives information from ports to be connected .
 """
 
-import logging
 from http import HTTPStatus
 from http import HTTPStatus
+import logging
 
 
 class SdnConnectorError(Exception):
 
 
 class SdnConnectorError(Exception):
index fe3a811..f003ba9 100644 (file)
 Implements a Dummy vim plugin.
 """
 
 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 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"
 
 __author__ = "Alfonso Tierno"
 __date__ = "2020-04-20"
index cc087f0..b4e936c 100644 (file)
@@ -26,17 +26,18 @@ vimconn implement an Abstract class for the vim connector plugins
  with the definition of the method to be implemented.
 """
 
  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 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 warnings
 
+import paramiko
+import yaml
+
 __author__ = "Alfonso Tierno, Igor D.C."
 __date__ = "$14-aug-2017 23:59:59$"
 
 __author__ = "Alfonso Tierno, Igor D.C."
 __date__ = "$14-aug-2017 23:59:59$"
 
diff --git a/tox.ini b/tox.ini
index df78eaa..2fc1db7 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -67,86 +67,86 @@ deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dev.txt
         -r{toxinidir}/requirements-test.txt
 skip_install = true
         -r{toxinidir}/requirements-dev.txt
         -r{toxinidir}/requirements-test.txt
 skip_install = true
+whitelist_externals = sh
 commands =
         sh -c 'rm -f nosetests.xml'
         coverage erase
         # NG-RO
 commands =
         sh -c 'rm -f nosetests.xml'
         coverage erase
         # NG-RO
-        - nose2 -C --coverage NG-RO/osm_ng_ro
+        nose2 -C --coverage NG-RO/osm_ng_ro -s NG-RO/osm_ng_ro
         sh -c 'mv .coverage .coverage_ng_ro'
         # RO-plugin
         sh -c 'mv .coverage .coverage_ng_ro'
         # RO-plugin
-        - nose2 -C --coverage RO-plugin/osm_ro_plugin
+        nose2 -C --coverage RO-plugin/osm_ro_plugin -s RO-plugin/osm_ro_plugin
         sh -c 'mv .coverage .coverage_ro_plugin'
         # RO-SDN-arista_cloudvision
         sh -c 'mv .coverage .coverage_ro_plugin'
         # RO-SDN-arista_cloudvision
-        - nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
+        nose2 -C --coverage RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision -s RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision
         sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
         # RO-SDN-dpb
         sh -c 'mv .coverage .coverage_rosdn_arista_cloudvision'
         # RO-SDN-dpb
-        - nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb
+        nose2 -C --coverage RO-SDN-dpb/osm_rosdn_dpb -s RO-SDN-dpb/osm_rosdn_dpb
         sh -c 'mv .coverage .coverage_rosdn_dpb'
         # RO-SDN-dynpac
         sh -c 'mv .coverage .coverage_rosdn_dpb'
         # RO-SDN-dynpac
-        - nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac
+        nose2 -C --coverage RO-SDN-dynpac/osm_rosdn_dynpac -s RO-SDN-dynpac/osm_rosdn_dynpac
         sh -c 'mv .coverage .coverage_rosdn_dynpac'
         # RO-SDN-floodlight_openflow
         sh -c 'mv .coverage .coverage_rosdn_dynpac'
         # RO-SDN-floodlight_openflow
-        - nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
+        nose2 -C --coverage RO-SDN-floodlight_openflow/osm_rosdn_floodlightof -s RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
         sh -c 'mv .coverage .coverage_rosdn_floodlightof'
         # RO-SDN-ietfl2vpn
         sh -c 'mv .coverage .coverage_rosdn_floodlightof'
         # RO-SDN-ietfl2vpn
-        - nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
+        nose2 -C --coverage RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn -s RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn
         sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
         # RO-SDN-juniper_contrail
         sh -c 'mv .coverage .coverage_rosdn_ietfl2vpn'
         # RO-SDN-juniper_contrail
-        - nose2 -C --coverage RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
+        nose2 -C --coverage RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail -s RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
         sh -c 'mv .coverage .coverage_rosdn_juniper_contrail'
         # RO-SDN-odl_openflow
         sh -c 'mv .coverage .coverage_rosdn_juniper_contrail'
         # RO-SDN-odl_openflow
-        - nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof
+        nose2 -C --coverage RO-SDN-odl_openflow/osm_rosdn_odlof -s RO-SDN-odl_openflow/osm_rosdn_odlof
         sh -c 'mv .coverage .coverage_rosdn_odlof'
         # RO-SDN-onos_openflow
         sh -c 'mv .coverage .coverage_rosdn_odlof'
         # RO-SDN-onos_openflow
-        - nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof
+        nose2 -C --coverage RO-SDN-onos_openflow/osm_rosdn_onosof -s RO-SDN-onos_openflow/osm_rosdn_onosof
         sh -c 'mv .coverage .coverage_rosdn_onosof'
         # RO-SDN-onos_vpls
         sh -c 'mv .coverage .coverage_rosdn_onosof'
         # RO-SDN-onos_vpls
-        - nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls
+        nose2 -C --coverage RO-SDN-onos_vpls/osm_rosdn_onos_vpls -s RO-SDN-onos_vpls/osm_rosdn_onos_vpls
         sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
         # RO-VIM-aws
         sh -c 'mv .coverage .coverage_rosdn_onos_vpls'
         # RO-VIM-aws
-        - nose2 -C --coverage RO-VIM-aws/osm_rovim_aws
+        nose2 -C --coverage RO-VIM-aws/osm_rovim_aws -s RO-VIM-aws/osm_rovim_aws
         sh -c 'mv .coverage .coverage_rovim_aws'
         # RO-VIM-azure
         sh -c 'mv .coverage .coverage_rovim_aws'
         # RO-VIM-azure
-        - nose2 -C --coverage RO-VIM-azure/osm_rovim_azure
+        nose2 -C --coverage RO-VIM-azure/osm_rovim_azure -s RO-VIM-azure/osm_rovim_azure
         sh -c 'mv .coverage .coverage_rovim_azure'
         # RO-VIM-openstack
         sh -c 'mv .coverage .coverage_rovim_azure'
         # RO-VIM-openstack
-        - nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
-        sh -c 'mv .coverage .coverage_rovim_openstack'
+        # nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
+        sh -c 'mv .coverage .coverage_rovim_openstack'
         # RO-VIM-openvim
         # RO-VIM-openvim
-        - nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim
+        nose2 -C --coverage RO-VIM-openvim/osm_rovim_openvim -s RO-VIM-openvim/osm_rovim_openvim
         sh -c 'mv .coverage .coverage_rovim_openvim'
         # RO-VIM-vmware
         sh -c 'mv .coverage .coverage_rovim_openvim'
         # RO-VIM-vmware
-        - nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
-        sh -c 'mv .coverage .coverage_rovim_vmware'
+        # nose2 -C --coverage RO-VIM-vmware/osm_rovim_vmware -s RO-VIM-vmware/osm_rovim_vmware
+        sh -c 'mv .coverage .coverage_rovim_vmware'
         # Combine results and generate reports
         coverage combine .coverage_ng_ro .coverage_ro_plugin .coverage_rosdn_arista_cloudvision .coverage_rosdn_dpb .coverage_rosdn_dynpac .coverage_rosdn_floodlightof .coverage_rosdn_ietfl2vpn .coverage_rosdn_juniper_contrail .coverage_rosdn_odlof .coverage_rosdn_onos_vpls .coverage_rosdn_onosof .coverage_rovim_aws .coverage_rovim_azure .coverage_rovim_openvim # .coverage_rovim_openstack .coverage_rovim_vmware
         coverage report --omit='*tests*'
         coverage html -d ./cover --omit='*tests*'
         coverage xml -o coverage.xml --omit='*tests*'
         # Combine results and generate reports
         coverage combine .coverage_ng_ro .coverage_ro_plugin .coverage_rosdn_arista_cloudvision .coverage_rosdn_dpb .coverage_rosdn_dynpac .coverage_rosdn_floodlightof .coverage_rosdn_ietfl2vpn .coverage_rosdn_juniper_contrail .coverage_rosdn_odlof .coverage_rosdn_onos_vpls .coverage_rosdn_onosof .coverage_rovim_aws .coverage_rovim_azure .coverage_rovim_openvim # .coverage_rovim_openstack .coverage_rovim_vmware
         coverage report --omit='*tests*'
         coverage html -d ./cover --omit='*tests*'
         coverage xml -o coverage.xml --omit='*tests*'
-whitelist_externals = sh
-
 
 #######################################################################################
 [testenv:flake8]
 
 #######################################################################################
 [testenv:flake8]
-deps = flake8
+deps =  flake8
+        flake8-import-order
 skip_install = true
 commands =
 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 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
 
 
 #######################################################################################
 
 
 #######################################################################################
@@ -191,13 +191,13 @@ commands =
 [testenv:pip-compile]
 deps =  pip-tools==5.5.0
 skip_install = true
 [testenv:pip-compile]
 deps =  pip-tools==5.5.0
 skip_install = true
+whitelist_externals = sh
 commands =
         - sh -c "for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
         out=`echo $file | sed 's/.in/.txt/'` ; \
         sed -i -e '1 e head -16 tox.ini' $out ;\
         done"
         - sh -c "sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"
 commands =
         - sh -c "for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
         out=`echo $file | sed 's/.in/.txt/'` ; \
         sed -i -e '1 e head -16 tox.ini' $out ;\
         done"
         - sh -c "sed -i 's/.*RO-plugin/-e RO-plugin/g' requirements-test.txt"
-whitelist_externals = sh
 
 
 #######################################################################################
 
 
 #######################################################################################
@@ -205,193 +205,209 @@ whitelist_externals = sh
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/NG-RO
 commands =
         sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
         sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/NG-RO
 commands =
         sh -c 'rm -rf osm_ng_ro/requirements.txt deb_dist dist osm_ng_ro.egg-info osm_ng_ro*.tar.gz'
         sh -c 'cp ../requirements.txt osm_ng_ro/requirements.txt'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-ng-ro*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_plugin]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_plugin]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-plugin
 commands =
         sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-plugin
 commands =
         sh -c 'rm -rf deb_dist dist osm_ro_plugin.egg-info osm_ro_plugin*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-ro-plugin*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_arista_cloudvision]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_arista_cloudvision]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-arista_cloudvision
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-arista_cloudvision
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_arista_cloudvision.egg-info osm_rosdn_arista_cloudvision*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-arista-cloudvision*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_dpb]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_dpb]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-dpb
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-dpb
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_dpb.egg-info osm_rosdn_dpb*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-dpb*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_dynpac]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_dynpac]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-dynpac
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-dynpac
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_dynpac.egg-info osm_rosdn_dynpac*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-dynpac*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_floodlight_of]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_floodlight_of]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-floodlight_openflow
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-floodlight_openflow
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_floodlightof.egg-info osm_rosdn_floodlightof*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-floodlightof*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_ietfl2vpn]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_ietfl2vpn]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-ietfl2vpn
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-ietfl2vpn
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_ietfl2vpn.egg-info osm_rosdn_ietfl2vpn*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-ietfl2vpn*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_juniper_contrail]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_juniper_contrail]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-juniper_contrail
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-juniper_contrail
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_juniper_contrail.egg-info osm_rosdn_juniper_contrail*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-juniper-contrail*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_odl_of]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_odl_of]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-odl_openflow
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-odl_openflow
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_odlof.egg-info osm_rosdn_odlof*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-odlof*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_onos_of]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_onos_of]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-onos_openflow
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-onos_openflow
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_onosof.egg-info osm_rosdn_onosof*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-onosof*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_sdn_onos_vpls]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_sdn_onos_vpls]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-SDN-onos_vpls
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-SDN-onos_vpls
 commands =
         sh -c 'rm -rf deb_dist dist osm_rosdn_onos_vpls.egg-info osm_rosdn_onos_vpls*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rosdn-onos-vpls*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_vim_aws]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_vim_aws]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-VIM-aws
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_aws.egg-info osm_rovim_aws*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-aws*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-VIM-aws
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_aws.egg-info osm_rovim_aws*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-aws*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_vim_azure]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_vim_azure]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-VIM-azure
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_azure.egg-info osm_rovim_azure*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-azure*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-VIM-azure
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_azure.egg-info osm_rovim_azure*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-azure*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_vim_openstack]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_vim_openstack]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-VIM-openstack
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_openstack.egg-info osm_rovim_openstack*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-openstack*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-VIM-openstack
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_openstack.egg-info osm_rovim_openstack*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-openstack*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_vim_openvim]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_vim_openvim]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-VIM-openvim
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_openvim.egg-info osm_rovim_openvim*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-openvim*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-VIM-openvim
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_openvim.egg-info osm_rovim_openvim*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-openvim*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [testenv:dist_ro_vim_vmware]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
 
 #######################################################################################
 [testenv:dist_ro_vim_vmware]
 deps =  {[testenv]deps}
         -r{toxinidir}/requirements-dist.txt
 skip_install = true
+whitelist_externals = sh
 changedir = {toxinidir}/RO-VIM-vmware
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_vmware.egg-info osm_rovim_vmware*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-vmware*/ && dpkg-buildpackage -rfakeroot -uc -us'
 changedir = {toxinidir}/RO-VIM-vmware
 commands =
         sh -c 'rm -rf deb_dist dist osm_rovim_vmware.egg-info osm_rovim_vmware*.tar.gz'
         python3 setup.py --command-packages=stdeb.command sdist_dsc
         sh -c 'cd deb_dist/osm-rovim-vmware*/ && dpkg-buildpackage -rfakeroot -uc -us'
-whitelist_externals = sh
+
 
 #######################################################################################
 [flake8]
 
 #######################################################################################
 [flake8]
@@ -412,3 +428,4 @@ exclude =
 max-line-length = 120
 show-source = True
 builtins = _
 max-line-length = 120
 show-source = True
 builtins = _
+import-order-style = google