Fix bug 1809 - Disabling RO OpenNebula plugin 51/11451/5
authorsousaedu <eduardo.sousa@canonical.com>
Mon, 29 Nov 2021 09:28:15 +0000 (09:28 +0000)
committersousaedu <eduardo.sousa@canonical.com>
Tue, 30 Nov 2021 11:24:06 +0000 (11:24 +0000)
Change-Id: I52a7947450d83b91fac92170348f7d474a878d97
Signed-off-by: sousaedu <eduardo.sousa@canonical.com>
RO-VIM-azure/osm_rovim_azure/vimconn_azure.py
RO-VIM-gcp/osm_rovim_gcp/vimconn_gcp.py
devops-stages/stage-build.sh
integration-tests/test_vimconn_gcp.py
releasenotes/notes/fix_bug_1809-b2bc23440751b829.yaml [new file with mode: 0644]
requirements-dist.txt
requirements-test.txt
requirements.in
requirements.txt
tox.ini

index a1d3aa8..68f7711 100755 (executable)
@@ -548,7 +548,9 @@ class vimconnector(vimconn.VimConnector):
         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 = {
index ecfdb06..4a3258c 100644 (file)
@@ -157,9 +157,7 @@ class vimconnector(vimconn.VimConnector):
         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"]
@@ -491,9 +489,7 @@ class vimconnector(vimconn.VimConnector):
         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):
@@ -679,9 +675,7 @@ class vimconnector(vimconn.VimConnector):
         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:
@@ -695,7 +689,8 @@ class vimconnector(vimconn.VimConnector):
 
             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 = []
@@ -862,7 +857,9 @@ class vimconnector(vimconn.VimConnector):
                     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
@@ -928,7 +925,9 @@ class vimconnector(vimconn.VimConnector):
                     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"}
                     ]
@@ -1007,10 +1006,11 @@ class vimconnector(vimconn.VimConnector):
                     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
@@ -1022,9 +1022,7 @@ class vimconnector(vimconn.VimConnector):
         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
@@ -1057,7 +1055,6 @@ class vimconnector(vimconn.VimConnector):
 
         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
@@ -1083,7 +1080,6 @@ class vimconnector(vimconn.VimConnector):
 
         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
@@ -1514,4 +1510,3 @@ class vimconnector(vimconn.VimConnector):
                 )
             )
             self._format_vimconn_exception(e)
-
index d174a82..ae58785 100755 (executable)
@@ -32,7 +32,7 @@ tox -e dist_ro_sdn_onos_vpls &
 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 &
@@ -55,7 +55,9 @@ cp NG-RO/deb_dist/python3-osm-ng-ro_*.deb deb_dist/
 # 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
@@ -63,4 +65,3 @@ for sdn_plugin in RO-SDN-*
 do
     cp ${sdn_plugin}/deb_dist/python3-osm-rosdn*.deb deb_dist/
 done
-
index aa4e240..21bdbc3 100644 (file)
@@ -35,10 +35,10 @@ __author__ = "Sergio G.R."
 __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
@@ -57,7 +57,7 @@ class TestGCPOperations():
         credentials_file,
         image_id,
         image_connector_id,
-        flavor_id
+        flavor_id,
     ):
         self.config["project_name"] = project_name
         self.config["region_name"] = region_name
@@ -66,7 +66,8 @@ class TestGCPOperations():
                 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
@@ -87,8 +88,12 @@ class TestGCPOperations():
         )
 
     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])
 
@@ -105,8 +110,12 @@ class TestGCPOperations():
         _ = 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,
@@ -114,7 +123,10 @@ class TestGCPOperations():
             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])
@@ -122,7 +134,6 @@ class TestGCPOperations():
         _ = 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(
@@ -138,7 +149,19 @@ class TestGCPOperations():
 
     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,
@@ -168,7 +191,7 @@ if __name__ == "__main__":
     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":
@@ -182,9 +205,7 @@ if __name__ == "__main__":
                 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
@@ -206,11 +227,10 @@ if __name__ == "__main__":
         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()
-
diff --git a/releasenotes/notes/fix_bug_1809-b2bc23440751b829.yaml b/releasenotes/notes/fix_bug_1809-b2bc23440751b829.yaml
new file mode 100644 (file)
index 0000000..b7a6192
--- /dev/null
@@ -0,0 +1,22 @@
+#######################################################################################
+# 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.
index b32a04a..77debcf 100644 (file)
@@ -14,7 +14,7 @@
 # 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
index cdf4a6a..f461166 100644 (file)
@@ -16,7 +16,7 @@
 #######################################################################################
 -e RO-plugin
     # via -r requirements-test.in
-coverage==6.0
+coverage==6.2
     # via
     #   -r requirements-test.in
     #   nose2
index df2710f..9565be2 100644 (file)
 -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
index 6c22e69..f0c254d 100644 (file)
@@ -16,8 +16,6 @@
 #######################################################################################
 adal==1.2.7
     # via msrestazure
-aenum==3.1.0
-    # via pyone
 alabaster==0.7.12
     # via sphinx
 appdirs==1.4.4
@@ -34,20 +32,20 @@ azure-common==1.1.27
     #   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
@@ -61,31 +59,29 @@ boto==2.49.0
     # 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
@@ -109,8 +105,6 @@ decorator==5.1.0
     # via
     #   dogpile.cache
     #   openstacksdk
-dicttoxml==1.7.4
-    # via pyone
 docutils==0.17.1
     # via sphinx
 dogpile.cache==1.1.4
@@ -125,45 +119,37 @@ fog05-sdk==0.2.0
     #   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
@@ -173,11 +159,11 @@ iso8601==0.1.16
     #   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
@@ -185,7 +171,7 @@ jsonpatch==1.32
     # via
     #   openstacksdk
     #   warlock
-jsonpointer==2.1
+jsonpointer==2.2
     # via jsonpatch
 jsonschema==3.2.0
     # via
@@ -203,26 +189,25 @@ keystoneauth1==4.4.0
     #   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
@@ -246,7 +231,6 @@ netaddr==0.8.0
     #   -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
@@ -259,9 +243,7 @@ netifaces==0.11.0
     #   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
@@ -280,7 +262,7 @@ oslo.config==8.7.1
     # via
     #   oslo.log
     #   python-keystoneclient
-oslo.context==3.3.1
+oslo.context==3.4.0
     # via oslo.log
 oslo.i18n==5.1.0
     # via
@@ -294,7 +276,7 @@ oslo.i18n==5.1.0
     #   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
@@ -302,7 +284,7 @@ oslo.serialization==4.2.0
     #   python-keystoneclient
     #   python-neutronclient
     #   python-novaclient
-oslo.utils==4.10.0
+oslo.utils==4.12.0
     # via
     #   osc-lib
     #   oslo.log
@@ -313,17 +295,18 @@ oslo.utils==4.10.0
     #   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
@@ -345,9 +328,11 @@ pbr==5.6.0
     #   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
@@ -356,7 +341,7 @@ prettytable==2.2.1
     #   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
@@ -372,7 +357,7 @@ pyasn1==0.4.8
     # via
     #   pyasn1-modules
     #   rsa
-pycparser==2.20
+pycparser==2.21
     # via cffi
 pygments==2.10.0
     # via
@@ -380,17 +365,15 @@ pygments==2.10.0
     #   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
@@ -415,13 +398,13 @@ python-keystoneclient==4.3.0
     #   -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
@@ -431,7 +414,7 @@ pytz==2021.3
     #   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
@@ -439,16 +422,16 @@ pyyaml==5.4.1
     #   -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
@@ -467,8 +450,6 @@ requests==2.26.0
     #   -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
@@ -481,7 +462,6 @@ requests==2.26.0
     #   msal
     #   msrest
     #   oslo.config
-    #   pyone
     #   python-cinderclient
     #   python-glanceclient
     #   python-keystoneclient
@@ -494,9 +474,9 @@ requestsexceptions==1.4.0
     # 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
@@ -508,6 +488,7 @@ six==1.16.0
     #   bcrypt
     #   cheroot
     #   debtcollector
+    #   google-auth
     #   google-auth-httplib2
     #   isodate
     #   jsonschema
@@ -516,15 +497,14 @@ six==1.16.0
     #   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
@@ -538,7 +518,7 @@ sphinxcontrib-qthelp==1.0.3
     # via sphinx
 sphinxcontrib-serializinghtml==1.1.5
     # via sphinx
-stevedore==3.4.0
+stevedore==3.5.0
     # via
     #   cliff
     #   dogpile.cache
@@ -549,15 +529,9 @@ stevedore==3.4.0
     #   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
@@ -569,12 +543,10 @@ wcwidth==0.2.5
     # 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
@@ -585,9 +557,7 @@ zc.lockfile==2.0
 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
diff --git a/tox.ini b/tox.ini
index 316575f..2ebc781 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -16,7 +16,7 @@
 #######################################################################################
 
 [tox]
-envlist = black, flake8, pylint, safety
+envlist = black, flake8, safety
 
 [tox:jenkins]
 toxworkdir = /tmp/.tox
@@ -43,25 +43,26 @@ commands =
 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
 
 
 #######################################################################################
@@ -116,8 +117,8 @@ commands =
         - 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'
@@ -131,7 +132,7 @@ commands =
         - 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*'
@@ -157,7 +158,7 @@ commands =
         - 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
@@ -187,7 +188,7 @@ commands =
         - 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