self._reload_connection()
subnet_id = net["net_id"]
- location = self.region or self._get_location_from_resource_group(self.resource_group)
+ location = self.region or self._get_location_from_resource_group(
+ self.resource_group
+ )
try:
net_ifz = {"location": location}
net_ip_config = {
self.logger.debug("Config: %s", config)
scopes = ["https://www.googleapis.com/auth/cloud-platform"]
self.credentials = None
- if (
- "credentials" in config
- ):
+ if "credentials" in config:
self.logger.debug("Setting credentials")
# Settings Google Cloud credentials dict
credentials_body = config["credentials"]
if not network_list:
return []
else:
- self.logger.debug(
- "get_network Return: network_list[0] %s", network_list[0]
- )
+ self.logger.debug("get_network Return: network_list[0] %s", network_list[0])
return network_list[0]
def delete_network(self, net_id, created_items=None):
return vm_name_aux.lower()
def get_flavor_id_from_data(self, flavor_dict):
- self.logger.debug(
- "get_flavor_id_from_data begin: flavor_dict %s", flavor_dict
- )
+ self.logger.debug("get_flavor_id_from_data begin: flavor_dict %s", flavor_dict)
filter_dict = flavor_dict or {}
try:
cpus = filter_dict.get("vcpus") or 0
memMB = filter_dict.get("ram") or 0
- numberInterfaces = len(filter_dict.get("interfaces", [])) or 4 # Workaround (it should be 0)
+ # Workaround (it should be 0)
+ numberInterfaces = len(filter_dict.get("interfaces", [])) or 4
# Filter
filtered_machines = []
self.logger.debug("New random name: %s", random_name)
break
else:
- self.logger.error("Exception generating random name (%s) for the instance", name)
+ self.logger.error(
+ "Exception generating random name (%s) for the instance", name
+ )
self._format_vimconn_exception(e)
return random_name
net_iface["subnetwork"] = net.get("net_id")
# In order to get an external IP address, the key "accessConfigs" must be used
# in the interace. It has to be of type "ONE_TO_ONE_NAT" and name "External NAT"
- if net.get("floating_ip", False) or (net["use"] == "mgmt" and self.config.get("use_floating_ip")):
+ if net.get("floating_ip", False) or (
+ net["use"] == "mgmt" and self.config.get("use_floating_ip")
+ ):
net_iface["accessConfigs"] = [
{"type": "ONE_TO_ONE_NAT", "name": "External NAT"}
]
self.logger.error("new_vminstance rollback fail {}".format(e2))
else:
- self.logger.debug("Exception creating new vminstance: %s", e, exc_info=True)
+ self.logger.debug(
+ "Exception creating new vminstance: %s", e, exc_info=True
+ )
self._format_vimconn_exception(e)
-
def _build_metadata(self, vm_name, cloud_config):
# initial metadata
if cloud_config:
self.logger.debug("cloud config: %s", cloud_config)
_, userdata = self._create_user_data(cloud_config)
- metadata["items"].append(
- {"key": "user-data", "value": userdata}
- )
+ metadata["items"].append({"key": "user-data", "value": userdata})
# either password of ssh-keys are required
# we will always use ssh-keys, in case it is not available we will generate it
return metadata
-
def _generate_keys(self):
"""Method used to generate a pair of private/public keys.
This method is used because to create a vm in Azure we always need a key or a password
return private_key, public_key
-
def _get_unused_vm_name(self, vm_name):
"""
Checks the vm name and in case it is used adds a suffix to the name to allow creation
)
)
self._format_vimconn_exception(e)
-
tox -e dist_ro_vim_aws &
tox -e dist_ro_vim_azure &
tox -e dist_ro_vim_fos &
-tox -e dist_ro_vim_opennebula &
+#tox -e dist_ro_vim_opennebula &
tox -e dist_ro_vim_openstack &
tox -e dist_ro_vim_openvim &
tox -e dist_ro_vim_vmware &
# VIM plugins: vmware, openstack, AWS, fos, azure, Opennebula, GCP
for vim_plugin in RO-VIM-*
do
- cp ${vim_plugin}/deb_dist/python3-osm-rovim*.deb deb_dist/
+ if [ "$vim_plugin" != "RO-VIM-opennebula" ]; then
+ cp ${vim_plugin}/deb_dist/python3-osm-rovim*.deb deb_dist/
+ fi
done
# SDN plugins: DynPac, Ietfl2vpn, Onosof Floodlightof
do
cp ${sdn_plugin}/deb_dist/python3-osm-rosdn*.deb deb_dist/
done
-
__date__ = "$05-nov-2021 12:00:00$"
-class TestGCPOperations():
+class TestGCPOperations:
gcp_conn = None
- time_id = datetime.today().strftime('%Y%m%d%H%M%S')
+ time_id = datetime.today().strftime("%Y%m%d%H%M%S")
vim_id = "gcp-test-" + time_id
vim_name = vim_id
vm_name = "gcp-test-vm-" + time_id
credentials_file,
image_id,
image_connector_id,
- flavor_id
+ flavor_id,
):
self.config["project_name"] = project_name
self.config["region_name"] = region_name
self.config["credentials"] = json.load(file)
except ValueError:
raise Exception(
- "Not possible to read credentials JSON file %s", self.config["credentials"]
+ "Not possible to read credentials JSON file %s",
+ self.config["credentials"],
)
self.image_id = image_id
self.image_connector_id = image_connector_id
)
def test_networks(self):
- net_id_1 = self.gcp_conn.new_network(self.net_name, None, {"subnet_address": "10.0.0.0/25"})
- net_id_2 = self.gcp_conn.new_network(self.net_name, None, {"subnet_address": "10.9.0.0/25"})
+ net_id_1 = self.gcp_conn.new_network(
+ self.net_name, None, {"subnet_address": "10.0.0.0/25"}
+ )
+ net_id_2 = self.gcp_conn.new_network(
+ self.net_name, None, {"subnet_address": "10.9.0.0/25"}
+ )
_ = self.gcp_conn.delete_network(net_id_1[0])
_ = self.gcp_conn.delete_network(net_id_2[0])
_ = self.gcp_conn.delete_vminstance(vm_id_1[0])
def test_vminstances_2_nets(self):
- net_id_1 = self.gcp_conn.new_network(self.net_name, None, {"subnet_address": "10.0.0.0/25"})
- net_id_2 = self.gcp_conn.new_network(self.net_name, None, {"subnet_address": "10.9.0.0/25"})
+ net_id_1 = self.gcp_conn.new_network(
+ self.net_name, None, {"subnet_address": "10.0.0.0/25"}
+ )
+ net_id_2 = self.gcp_conn.new_network(
+ self.net_name, None, {"subnet_address": "10.9.0.0/25"}
+ )
vm_id_1 = self.gcp_conn.new_vminstance(
name=self.vm_name,
start=True,
image_id=self.image_id,
flavor_id=self.flavor_id,
- net_list=[{"net_id": net_id_1[0], "use": "mgmt"}, {"net_id": net_id_2[0], "use": "internal"}],
+ net_list=[
+ {"net_id": net_id_1[0], "use": "mgmt"},
+ {"net_id": net_id_2[0], "use": "internal"},
+ ],
cloud_config=self.cloud_config,
)
_ = self.gcp_conn.delete_vminstance(vm_id_1[0])
_ = self.gcp_conn.delete_network(net_id_1[0])
_ = self.gcp_conn.delete_network(net_id_2[0])
-
def test_vminstances_image_connector_id(self):
image_id = self.gcp_conn.get_image_list({"name": self.image_connector_id})
vm_id_1 = self.gcp_conn.new_vminstance(
def test_vminstances_flavor(self):
machine_type = self.gcp_conn.get_flavor_id_from_data(
- {'disk': 10, 'ram': 2048, 'vcpus': 1, 'extended': {'mempage-size': 'LARGE', 'numas': [{'threads': 1}]}}
+ {
+ "disk": 10,
+ "ram": 2048,
+ "vcpus": 1,
+ "extended": {
+ "mempage-size": "LARGE",
+ "numas": [
+ {
+ "threads": 1,
+ }
+ ],
+ },
+ }
)
vm_id_1 = self.gcp_conn.new_vminstance(
name=self.vm_name,
try:
with open(gcp_env_file) as f:
for line in f:
- var, value = line.replace('\n', '').split("=")
+ var, value = line.replace("\n", "").split("=")
if var == "GCP_PROJECT":
project_name = value
elif var == "GCP_REGION":
elif var == "GCP_FLAVOR":
flavor_id = value
except ValueError:
- raise Exception(
- "Wrong format of GCP test environment file"
- )
+ raise Exception("Wrong format of GCP test environment file")
if (
project_name is None
credentials_file,
image_id,
image_connector_id,
- flavor_id
+ flavor_id,
)
test_gcp.test_networks()
test_gcp.test_vminstances_default()
test_gcp.test_vminstances_2_nets()
test_gcp.test_vminstances_connector_id()
test_gcp.test_vminstances_flavor()
-
--- /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.
+#######################################################################################
+---
+fixes:
+ - |
+ Disabling the Open Nebula plugin because it has a dependency to a GPLv2 licensed
+ library. Due to licensing restrictions and has mentioned in bug 1809, this cannot be
+ happen, therefore the plugin will remain disabled until further notice.
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
-setuptools-version-command==2.2
+setuptools-version-command==99.9
# via -r requirements-dist.in
stdeb==0.10.0
# via -r requirements-dist.in
#######################################################################################
-e RO-plugin
# via -r requirements-test.in
-coverage==6.0
+coverage==6.2
# via
# -r requirements-test.in
# nose2
-r RO-VIM-aws/requirements.in
-r RO-VIM-azure/requirements.in
-r RO-VIM-fos/requirements.in
--r RO-VIM-opennebula/requirements.in
+#-r RO-VIM-opennebula/requirements.in
-r RO-VIM-openstack/requirements.in
-r RO-VIM-openvim/requirements.in
-r RO-VIM-vmware/requirements.in
-r RO-VIM-gcp/requirements.in
+portend<3.1.0
+pyyaml==5.4.1
#######################################################################################
adal==1.2.7
# via msrestazure
-aenum==3.1.0
- # via pyone
alabaster==0.7.12
# via sphinx
appdirs==1.4.4
# azure-mgmt-compute
# azure-mgmt-network
# azure-mgmt-resource
-azure-core==1.19.0
+azure-core==1.20.1
# via
# azure-identity
# azure-mgmt-core
-azure-identity==1.6.1
+azure-identity==1.7.1
# via -r RO-VIM-azure/requirements.in
-azure-mgmt-compute==23.0.0
+azure-mgmt-compute==23.1.0
# via -r RO-VIM-azure/requirements.in
azure-mgmt-core==1.3.0
# via
# azure-mgmt-compute
# azure-mgmt-network
# azure-mgmt-resource
-azure-mgmt-network==19.0.0
+azure-mgmt-network==19.3.0
# via -r RO-VIM-azure/requirements.in
azure-mgmt-resource==20.0.0
# via -r RO-VIM-azure/requirements.in
# via -r RO-VIM-aws/requirements.in
cachetools==4.2.4
# via google-auth
-certifi==2021.5.30
+certifi==2021.10.8
# via
# msrest
# requests
-cffi==1.14.6
+cffi==1.15.0
# via
# bcrypt
# cryptography
# pynacl
-charset-normalizer==2.0.6
+charset-normalizer==2.0.8
# via requests
cheroot==8.5.2
# via cherrypy
cherrypy==18.1.2
# via -r NG-RO/requirements.in
-cliff==3.9.0
+cliff==3.10.0
# via
# osc-lib
# python-neutronclient
# python-openstackclient
-cmd2==2.2.0
+cmd2==2.3.3
# via cliff
-colorama==0.4.4
- # via cmd2
-cryptography==3.4.8
+cryptography==36.0.0
# via
# -r NG-RO/requirements.in
# adal
# via
# dogpile.cache
# openstacksdk
-dicttoxml==1.7.4
- # via pyone
docutils==0.17.1
# via sphinx
dogpile.cache==1.1.4
# fog05
fog05==0.2.0
# via -r RO-VIM-fos/requirements.in
-google-api-core==2.0.1
+google-api-core==2.2.2
# via google-api-python-client
-google-api-python-client==2.23.0
+google-api-python-client==2.31.0
# via -r RO-VIM-gcp/requirements.in
google-auth-httplib2==0.1.0
# via google-api-python-client
-google-auth==2.2.1
+google-auth==2.3.3
# via
# -r RO-VIM-gcp/requirements.in
# google-api-core
# google-api-python-client
# google-auth-httplib2
+google-cloud==0.34.0
+ # via -r RO-VIM-gcp/requirements.in
googleapis-common-protos==1.53.0
# via google-api-core
hexdump==3.3
# via yaks
-httplib2==0.19.1
+httplib2==0.20.2
# via
# google-api-python-client
# google-auth-httplib2
humanfriendly==10.0
# via pyvcloud
-idna==3.2
+idna==3.3
# via requests
-imagesize==1.2.0
+imagesize==1.3.0
# via sphinx
-importlib-metadata==4.8.1
- # via
- # -r NG-RO/requirements.in
- # cmd2
- # debtcollector
- # jsonschema
- # openstacksdk
- # oslo.config
- # prettytable
- # stevedore
-importlib-resources==5.2.2
- # via netaddr
-iso8601==0.1.16
+importlib-metadata==4.8.2
+ # via -r NG-RO/requirements.in
+iso8601==1.0.2
# via
# keystoneauth1
# openstacksdk
# python-openstackclient
isodate==0.6.0
# via msrest
-jaraco.functools==3.3.0
+jaraco.functools==3.4.0
# via
# cheroot
# tempora
-jinja2==3.0.2
+jinja2==3.0.3
# via sphinx
jmespath==0.10.0
# via openstacksdk
# via
# openstacksdk
# warlock
-jsonpointer==2.1
+jsonpointer==2.2
# via jsonpatch
jsonschema==3.2.0
# via
# python-novaclient
logutils==0.3.5
# via -r NG-RO/requirements.in
-lxml==4.6.3
+lxml==4.6.4
# via
# pyang
# pyangbind
- # pyone
# pyvcloud
markupsafe==2.0.1
# via jinja2
-more-itertools==8.10.0
+more-itertools==8.12.0
# via
# cheroot
# cherrypy
# jaraco.functools
msal-extensions==0.3.0
# via azure-identity
-msal==1.15.0
+msal==1.16.0
# via
# azure-identity
# msal-extensions
-msgpack==1.0.2
+msgpack==1.0.3
# via oslo.serialization
msrest==0.6.21
# via
# -r RO-VIM-azure/requirements.in
# -r RO-VIM-fos/requirements.in
# -r RO-VIM-gcp/requirements.in
- # -r RO-VIM-opennebula/requirements.in
# -r RO-VIM-openstack/requirements.in
# -r RO-VIM-openvim/requirements.in
# -r RO-VIM-vmware/requirements.in
# oslo.utils
oauthlib==3.1.1
# via requests-oauthlib
-oca==4.10.0
- # via -r RO-VIM-opennebula/requirements.in
-openstacksdk==0.59.0
+openstacksdk==0.60.0
# via
# os-client-config
# osc-lib
# via
# oslo.log
# python-keystoneclient
-oslo.context==3.3.1
+oslo.context==3.4.0
# via oslo.log
oslo.i18n==5.1.0
# via
# python-neutronclient
# python-novaclient
# python-openstackclient
-oslo.log==4.6.0
+oslo.log==4.6.1
# via python-neutronclient
oslo.serialization==4.2.0
# via
# python-keystoneclient
# python-neutronclient
# python-novaclient
-oslo.utils==4.10.0
+oslo.utils==4.12.0
# via
# osc-lib
# oslo.log
# python-neutronclient
# python-novaclient
# python-openstackclient
-packaging==21.0
+packaging==21.3
# via
# oslo.utils
# sphinx
papero==0.2.7
# via yaks
-paramiko==2.7.2
+paramiko==2.8.1
# via
# -r RO-SDN-dpb/requirements.in
+ # -r RO-VIM-gcp/requirements.in
# -r RO-plugin/requirements.in
-pbr==5.6.0
+pbr==5.8.0
# via
# cliff
# debtcollector
# stevedore
portalocker==1.7.1
# via msal-extensions
-portend==2.7.1
- # via cherrypy
-prettytable==2.2.1
+portend==3.0.0
+ # via
+ # -r requirements.in
+ # cherrypy
+prettytable==2.4.0
# via
# -r RO-VIM-vmware/requirements.in
# cliff
# python-novaclient
progressbar==2.5
# via -r RO-VIM-vmware/requirements.in
-protobuf==3.18.0
+protobuf==3.19.1
# via
# google-api-core
# googleapis-common-protos
# via
# pyasn1-modules
# rsa
-pycparser==2.20
+pycparser==2.21
# via cffi
pygments==2.10.0
# via
# sphinx
pyinotify==0.9.6
# via oslo.log
-pyjwt[crypto]==2.1.0
+pyjwt[crypto]==2.3.0
# via
# adal
# msal
pynacl==1.4.0
# via paramiko
-pyone==6.0.3
- # via -r RO-VIM-opennebula/requirements.in
pyopenssl==21.0.0
# via python-glanceclient
-pyparsing==2.4.7
+pyparsing==3.0.6
# via
# cliff
# httplib2
# -r RO-VIM-openstack/requirements.in
# python-neutronclient
# python-openstackclient
-python-neutronclient==7.6.0
+python-neutronclient==7.7.0
# via -r RO-VIM-openstack/requirements.in
python-novaclient==17.6.0
# via
# -r RO-VIM-openstack/requirements.in
# python-openstackclient
-python-openstackclient==5.6.0
+python-openstackclient==5.7.0
# via -r RO-VIM-openstack/requirements.in
pytz==2021.3
# via
# tempora
pyvcloud==19.1.1
# via -r RO-VIM-vmware/requirements.in
-pyvmomi==7.0.2
+pyvmomi==7.0.3
# via -r RO-VIM-vmware/requirements.in
pyyaml==5.4.1
# via
# -r RO-VIM-aws/requirements.in
# -r RO-VIM-azure/requirements.in
# -r RO-VIM-fos/requirements.in
- # -r RO-VIM-opennebula/requirements.in
# -r RO-VIM-openstack/requirements.in
# -r RO-VIM-openvim/requirements.in
# -r RO-VIM-vmware/requirements.in
# -r RO-plugin/requirements.in
+ # -r requirements.in
# cliff
# openstacksdk
# oslo.config
# pyvcloud
-regex==2021.9.30
+regex==2021.11.10
# via pyangbind
requests-oauthlib==1.3.0
# via msrest
# -r RO-VIM-aws/requirements.in
# -r RO-VIM-azure/requirements.in
# -r RO-VIM-fos/requirements.in
- # -r RO-VIM-gcp/requirements.in
- # -r RO-VIM-opennebula/requirements.in
# -r RO-VIM-openstack/requirements.in
# -r RO-VIM-openvim/requirements.in
# -r RO-VIM-vmware/requirements.in
# msal
# msrest
# oslo.config
- # pyone
# python-cinderclient
# python-glanceclient
# python-keystoneclient
# via openstacksdk
rfc3986==1.5.0
# via oslo.config
-rsa==4.7.2
+rsa==4.8
# via google-auth
-simplejson==3.17.5
+simplejson==3.17.6
# via
# osc-lib
# python-cinderclient
# bcrypt
# cheroot
# debtcollector
+ # google-auth
# google-auth-httplib2
# isodate
# jsonschema
# munch
# pyangbind
# pynacl
- # pyone
# pyopenssl
# python-dateutil
# python-keystoneclient
# pyvmomi
# warlock
-snowballstemmer==2.1.0
+snowballstemmer==2.2.0
# via sphinx
-sphinx==4.2.0
+sphinx==4.3.1
# via -r RO-VIM-fos/requirements.in
sphinxcontrib-applehelp==1.0.2
# via sphinx
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
-stevedore==3.4.0
+stevedore==3.5.0
# via
# cliff
# dogpile.cache
# python-keystoneclient
# python-novaclient
# python-openstackclient
-tblib==1.7.0
- # via pyone
-tempora==4.1.1
+tempora==4.1.2
# via portend
-typing-extensions==3.10.0.2
- # via
- # cmd2
- # importlib-metadata
-uritemplate==3.0.1
+uritemplate==4.1.1
# via google-api-python-client
urllib3==1.26.7
# via requests
# via
# cmd2
# prettytable
-wrapt==1.13.1
+wrapt==1.13.3
# via
# debtcollector
# python-glanceclient
-xmltodict==0.12.0
- # via pyone
yaks==0.3.0.post1
# via
# -r RO-VIM-fos/requirements.in
zenoh==0.3.0
# via -r RO-VIM-fos/requirements.in
zipp==3.6.0
- # via
- # importlib-metadata
- # importlib-resources
+ # via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# setuptools
#######################################################################################
[tox]
-envlist = black, flake8, pylint, safety
+envlist = black, flake8, safety
[tox:jenkins]
toxworkdir = /tmp/.tox
deps = black
skip_install = true
commands =
- - black --check --diff NG-RO
- - black --check --diff RO-plugin
- - black --check --diff RO-SDN-arista_cloudvision
- - black --check --diff RO-SDN-dpb
- - black --check --diff RO-SDN-dynpac
- - black --check --diff RO-SDN-floodlight_openflow
- - black --check --diff RO-SDN-ietfl2vpn
- - black --check --diff RO-SDN-juniper_contrail
- - black --check --diff RO-SDN-odl_openflow
- - black --check --diff RO-SDN-onos_openflow
- - black --check --diff RO-SDN-onos_vpls
- - black --check --diff RO-VIM-aws
- - black --check --diff RO-VIM-azure
- - black --check --diff RO-VIM-fos
- - black --check --diff RO-VIM-opennebula
- - black --check --diff RO-VIM-openstack
- - black --check --diff RO-VIM-openvim
- - black --check --diff RO-VIM-vmware
- - black --check --diff RO-VIM-gcp
+ black --check --diff NG-RO
+ black --check --diff RO-plugin
+ black --check --diff RO-SDN-arista_cloudvision
+ black --check --diff RO-SDN-dpb
+ black --check --diff RO-SDN-dynpac
+ black --check --diff RO-SDN-floodlight_openflow
+ black --check --diff RO-SDN-ietfl2vpn
+ black --check --diff RO-SDN-juniper_contrail
+ black --check --diff RO-SDN-odl_openflow
+ black --check --diff RO-SDN-onos_openflow
+ black --check --diff RO-SDN-onos_vpls
+ black --check --diff RO-VIM-aws
+ black --check --diff RO-VIM-azure
+ black --check --diff RO-VIM-fos
+ # black --check --diff RO-VIM-opennebula
+ black --check --diff RO-VIM-openstack
+ black --check --diff RO-VIM-openvim
+ black --check --diff RO-VIM-vmware
+ black --check --diff RO-VIM-gcp
+ black --check --diff integration-tests
#######################################################################################
- nose2 -C --coverage RO-VIM-fos/osm_rovim_fos
sh -c 'mv .coverage .coverage_rovim_fos'
# RO-VIM-opennebula
- - nose2 -C --coverage RO-VIM-opennebula/osm_rovim_opennebula
- sh -c 'mv .coverage .coverage_rovim_opennebula'
+ # nose2 -C --coverage RO-VIM-opennebula/osm_rovim_opennebula -s RO-VIM-opennebula/osm_rovim_opennebula
+ # sh -c 'mv .coverage .coverage_rovim_opennebula'
# 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-gcp/osm_rovim_gcp
sh -c 'mv .coverage .coverage_rovim_gcp'
# 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_fos .coverage_rovim_opennebula .coverage_rovim_openstack .coverage_rovim_openvim .coverage_rovim_vmware .coverage_rovim_gcp
+ 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_fos .coverage_rovim_openvim .coverage_rovim_gcp # .coverage_rovim_openstack .coverage_rovim_vmware .coverage_rovim_opennebula
coverage report --omit='*tests*'
coverage html -d ./cover --omit='*tests*'
coverage xml -o coverage.xml --omit='*tests*'
- 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-fos/osm_rovim_fos/ RO-VIM-fos/setup.py
- - flake8 RO-VIM-opennebula/osm_rovim_opennebula/ RO-VIM-opennebula/setup.py
+ # - flake8 RO-VIM-opennebula/osm_rovim_opennebula/ RO-VIM-opennebula/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
- pylint -E RO-VIM-aws/osm_rovim_aws
- pylint -E RO-VIM-azure/osm_rovim_azure
- pylint -E RO-VIM-fos/osm_rovim_fos
- - pylint -E RO-VIM-opennebula/osm_rovim_opennebula
+ # - pylint -E RO-VIM-opennebula/osm_rovim_opennebula
- pylint -E RO-VIM-openstack/osm_rovim_openstack
- pylint -E RO-VIM-openvim/osm_rovim_openvim
- pylint -E RO-VIM-vmware/osm_rovim_vmware