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.
Change-Id: Icdefe9a877e891a683cc833315e4c3f94fffbab9
Signed-off-by: sousaedu <eduardo.sousa@canonical.com>
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>"
# 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"
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$"
# 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>"
+__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
__version__ = "0.1." # file version, not NBI version
version_date = "May 2020"
#######################################################################################
import unittest
-from unittest.mock import patch, Mock
+from unittest.mock import Mock, patch
from osm_ng_ro.ns import Ns
# 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"
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>"
# 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")
# 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
-
-# Library that uses Levenshtein Distance to calculate the differences
-# between strings.
-# from fuzzywuzzy import fuzz
-
+from enum import Enum
import logging
+import re
+import socket
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):
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:
# 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):
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):
"""
import logging
+
from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
from .floodlight_of import OfConnFloodLight
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
+import uuid
-"""Check layer where we move it"""
+from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
+import requests
class WimconnectorIETFL2VPN(SdnConnectorBase):
# 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
# 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
#
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):
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
"""
import logging
+
from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
from .odl_of import OfConnOdl
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
"""
import logging
+
from osm_ro_plugin.openflow_conn import SdnConnectorOpenFlow
+
from .onos_of import OfConnOnos
# 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
+from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
import requests
from requests.auth import HTTPBasicAuth
-from osm_ro_plugin.sdnconn import SdnConnectorBase, SdnConnectorError
-
class OnosVpls(SdnConnectorBase):
"""
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):
##
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 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 msrestazure.azure_exceptions import CloudError
import msrestazure.tools as azure_tools
+import netaddr
+from osm_ro_plugin import vimconn
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$"
# 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
-
-from google.api_core.exceptions import NotFound
-import googleapiclient.discovery
-from google.oauth2 import service_account
+import time
+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$"
"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,
}
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
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)
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
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()
+ "-"
+ "".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":
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:
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"])
)
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 = (
interface_list = []
for network_interface in interfaces:
interface_dict = {}
- nic_name = network_interface["name"]
interface_dict["vim_interface_id"] = network_interface["name"]
ips = []
"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")
"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")
"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")
{"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")
"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")
"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")
"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
)
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
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$"
- 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
+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.identity import v2, v3
import keystoneclient.exceptions as ksExceptions
-import keystoneclient.v3.client as ksClient_v3
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.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$"
__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 = {
# contact: osslegalrouting@vmware.com
##
+import os
+from os import path
+import unittest
+from unittest import mock
-from osm_rovim_vmware.vimconn_vmware import vimconnector
+from lxml import etree as lxmlElementTree
from osm_ro_plugin.vimconn import (
- VimConnUnexpectedResponse,
- VimConnNotFoundException,
VimConnException,
+ VimConnNotFoundException,
+ VimConnUnexpectedResponse,
)
+from osm_rovim_vmware.vimconn_vmware import vimconnector
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
-import unittest
-from unittest import mock
+from pyvcloud.vcd.vdc import VDC
import tests.test_vimconn_vmware_xml_response as xml_resp
-from os import path
__author__ = "Prakash Kasar"
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
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
# 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.
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>"
It receives information from ports to be connected .
"""
-import logging
from http import HTTPStatus
+import logging
class SdnConnectorError(Exception):
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"
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$"
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$"
--- /dev/null
+#######################################################################################
+# 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.
#######################################################################################
[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/
#######################################################################################
max-line-length = 120
show-source = True
builtins = _
+import-order-style = google