FailedConsole Output

Started by upstream project "buildall-stage_2-merge-v10" build number 292
originally caused by:
 Started by timer
 > git rev-parse --is-inside-work-tree # timeout=10
Setting origin to https://osm.etsi.org/gerrit/osm/osmclient.git
 > git config remote.origin.url https://osm.etsi.org/gerrit/osm/osmclient.git # timeout=10
Fetching origin...
Fetching upstream changes from origin
 > git --version # timeout=10
 > git config --get remote.origin.url # timeout=10
 > git fetch --tags --progress origin +refs/heads/*:refs/remotes/origin/*
Seen branch in repository origin/bug1511
Seen branch in repository origin/feature5837
Seen branch in repository origin/feature7106
Seen branch in repository origin/feature7928
Seen branch in repository origin/master
Seen branch in repository origin/netslice
Seen branch in repository origin/ng-ro-refactor
Seen branch in repository origin/paas
Seen branch in repository origin/rift300
Seen branch in repository origin/sol006
Seen branch in repository origin/sol006v331
Seen branch in repository origin/v10.0
Seen branch in repository origin/v11.0
Seen branch in repository origin/v12.0
Seen branch in repository origin/v13.0
Seen branch in repository origin/v14.0
Seen branch in repository origin/v15.0
Seen branch in repository origin/v2.0
Seen branch in repository origin/v3.1
Seen branch in repository origin/v4.0
Seen branch in repository origin/v5.0
Seen branch in repository origin/v6.0
Seen branch in repository origin/v7.0
Seen branch in repository origin/v8.0
Seen branch in repository origin/v9.0
Seen 25 remote branches
Obtained Jenkinsfile from 1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] properties
[Pipeline] node
Running on osm-cicd-2 in /home/jenkins/workspace/osmclient-stage_2-merge_v10.0
[Pipeline] {
[Pipeline] checkout
No credentials specified
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://osm.etsi.org/gerrit/osm/osmclient.git # timeout=10
Fetching without tags
Fetching upstream changes from https://osm.etsi.org/gerrit/osm/osmclient.git
 > git --version # timeout=10
 > git fetch --no-tags --force --progress https://osm.etsi.org/gerrit/osm/osmclient.git +refs/heads/*:refs/remotes/origin/*
Checking out Revision 1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3 (v10.0)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3
Commit message: "Fix bug 2074 to delete properly unzipped packages during osm repo-index"
 > git rev-list --no-walk 1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3 # timeout=10
Cleaning workspace
 > git rev-parse --verify HEAD # timeout=10
Resetting working tree
 > git reset --hard # timeout=10
 > git clean -fdx # timeout=10
[Pipeline] dir
Running in /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/devops
[Pipeline] {
[Pipeline] git
No credentials specified
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://osm.etsi.org/gerrit/osm/devops # timeout=10
Fetching upstream changes from https://osm.etsi.org/gerrit/osm/devops
 > git --version # timeout=10
 > git fetch --tags --force --progress https://osm.etsi.org/gerrit/osm/devops +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/v10.0^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/v10.0^{commit} # timeout=10
Checking out Revision f92f3137aeecbc88d221f44b7e992af1f5e116aa (refs/remotes/origin/v10.0)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f f92f3137aeecbc88d221f44b7e992af1f5e116aa
 > git branch -a -v --no-abbrev # timeout=10
 > git branch -D v10.0 # timeout=10
 > git checkout -b v10.0 f92f3137aeecbc88d221f44b7e992af1f5e116aa
Commit message: "Changing charmed installer to use 10.0/stable Fixing black error in keystone charm"
 > git rev-list --no-walk f92f3137aeecbc88d221f44b7e992af1f5e116aa # timeout=10
[Pipeline] }
[Pipeline] // dir
[Pipeline] load
[Pipeline] { (devops/jenkins/ci-pipelines/ci_stage_2.groovy)
[Pipeline] }
[Pipeline] // load
[Pipeline] echo
do_stage_3= false
[Pipeline] load
[Pipeline] { (devops/jenkins/ci-pipelines/ci_helper.groovy)
[Pipeline] }
[Pipeline] // load
[Pipeline] stage
[Pipeline] { (Prepare)
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ env
JENKINS_HOME=/var/lib/jenkins
SSH_CLIENT=212.234.161.1 51943 22
USER=jenkins
RUN_CHANGES_DISPLAY_URL=https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/v10.0/348/display/redirect?page=changes
GERRIT_PROJECT=osm/osmclient
XDG_SESSION_TYPE=tty
SHLVL=0
NODE_LABELS=docker osm-cicd-2 osm2 pipeline stage_2
HUDSON_URL=https://osm.etsi.org/jenkins/
MOTD_SHOWN=pam
OLDPWD=/home/jenkins
HOME=/home/jenkins
BUILD_URL=https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/v10.0/348/
HUDSON_COOKIE=215de877-641a-4f49-b281-0bec81fb23b8
JENKINS_SERVER_COOKIE=durable-d8ce17949022a9a72d4b0640f35088c3
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus
GERRIT_PATCHSET_REVISION=1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3
WORKSPACE=/home/jenkins/workspace/osmclient-stage_2-merge_v10.0
LOGNAME=jenkins
NODE_NAME=osm-cicd-2
GERRIT_BRANCH=v10.0
_=/usr/bin/java
RUN_ARTIFACTS_DISPLAY_URL=https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/v10.0/348/display/redirect?page=artifacts
XDG_SESSION_CLASS=user
EXECUTOR_NUMBER=1
XDG_SESSION_ID=144
RUN_TESTS_DISPLAY_URL=https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/v10.0/348/display/redirect?page=tests
BUILD_DISPLAY_NAME=#348
PROJECT_URL_PREFIX=https://osm.etsi.org/gerrit
HUDSON_HOME=/var/lib/jenkins
JOB_BASE_NAME=v10.0
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
BUILD_ID=348
XDG_RUNTIME_DIR=/run/user/1001
BUILD_TAG=jenkins-osmclient-stage_2-merge-v10.0-348
JENKINS_URL=https://osm.etsi.org/jenkins/
LANG=C.UTF-8
JOB_URL=https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/v10.0/
BUILD_NUMBER=348
SHELL=/bin/bash
RUN_DISPLAY_URL=https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/v10.0/348/display/redirect
ARTIFACTORY_SERVER=artifactory-osm
GERRIT_REFSPEC=refs/changes/43/12443/1
HUDSON_SERVER_COOKIE=6d3295a483c3e6d5
JOB_DISPLAY_URL=https://osm.etsi.org/jenkins/job/osmclient-stage_2-merge/job/v10.0/display/redirect
JOB_NAME=osmclient-stage_2-merge/v10.0
TEST_INSTALL=false
PWD=/home/jenkins/workspace/osmclient-stage_2-merge_v10.0
SSH_CONNECTION=212.234.161.1 51943 172.21.249.2 22
BRANCH_NAME=v10.0
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ git fetch --tags
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ git fetch origin refs/changes/43/12443/1
From https://osm.etsi.org/gerrit/osm/osmclient
 * branch            refs/changes/43/12443/1 -> FETCH_HEAD
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ git checkout -f 1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3
HEAD is now at 1ad0860 Fix bug 2074 to delete properly unzipped packages during osm repo-index
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ sudo git clean -dfx
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (License Scan)
[Pipeline] echo
skip the scan for merge
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Release Note Check)
[Pipeline] fileExists
[Pipeline] echo
No releasenote check present
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Docker-Build)
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ docker build -t osm/osmclient-v10.0 .
Sending build context to Docker daemon  53.38MB

Step 1/9 : FROM ubuntu:20.04
 ---> f78909c2b360
Step 2/9 : ARG APT_PROXY
 ---> Using cache
 ---> ad00a18b3e37
Step 3/9 : RUN if [ ! -z $APT_PROXY ] ; then     echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;    echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;    fi
 ---> Using cache
 ---> 55e644c707a2
Step 4/9 : RUN DEBIAN_FRONTEND=noninteractive apt-get update &&     DEBIAN_FRONTEND=noninteractive apt-get -y install         debhelper         dh-python         git         python3.8         python3-all         python3.8-dev         python3-setuptools
 ---> Using cache
 ---> db63e9c930bd
Step 5/9 : RUN python3 -m easy_install pip==21.3.1
 ---> Using cache
 ---> dce0dc7e1415
Step 6/9 : RUN pip install tox==3.24.5
 ---> Using cache
 ---> 70ced7f8c2d8
Step 7/9 : RUN DEBIAN_FRONTEND=noninteractive apt-get -y install     libcurl4-openssl-dev     libssl-dev     wget
 ---> Using cache
 ---> 6902ebcddf83
Step 8/9 : ENV LC_ALL C.UTF-8
 ---> Using cache
 ---> 5ecfca822626
Step 9/9 : ENV LANG C.UTF-8
 ---> Using cache
 ---> 9b96f18431ae
Successfully built 9b96f18431ae
Successfully tagged osm/osmclient-v10.0:latest
[Pipeline] }
[Pipeline] // stage
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ id -u
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ id -g
[Pipeline] withDockerContainer
osm-cicd-2 does not seem to be running inside a container
$ docker run -t -d -u 1001:1001 -u root -w /home/jenkins/workspace/osmclient-stage_2-merge_v10.0 -v /home/jenkins/workspace/osmclient-stage_2-merge_v10.0:/home/jenkins/workspace/osmclient-stage_2-merge_v10.0:rw,z -v /home/jenkins/workspace/osmclient-stage_2-merge_v10.0@tmp:/home/jenkins/workspace/osmclient-stage_2-merge_v10.0@tmp:rw,z -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** --entrypoint cat osm/osmclient-v10.0
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ groupadd -o -g 1001 -r jenkins
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ pwd
+ useradd -o -u 1001 -d /home/jenkins/workspace/osmclient-stage_2-merge_v10.0 -r -g jenkins jenkins
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ echo #! /bin/sh
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ chmod 755 /usr/bin/mesg
[Pipeline] sh
[osmclient-stage_2-merge_v10.0] Running shell script
+ runuser jenkins -c devops-stages/stage-test.sh
black create: /tmp/.tox/black
black installdeps: black
black installed: black==23.12.1,click==8.1.7,mypy-extensions==1.0.0,packaging==23.2,pathspec==0.12.1,platformdirs==4.1.0,tomli==2.0.1,typing_extensions==4.9.0
black run-test-pre: PYTHONHASHSEED='558197733'
black run-test: commands[0] | - black --check --diff osmclient/
--- /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/http.py	2023-08-12 08:08:57.682573+00:00
+++ /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/http.py	2024-01-11 09:09:55.824305+00:00
@@ -38,11 +38,10 @@
         if self._http_header:
             curl_cmd.setopt(pycurl.HTTPHEADER, self._http_header)
         return curl_cmd
 
     def get_cmd(self, endpoint):
-
         data = BytesIO()
         curl_cmd = self._get_curl_cmd(endpoint)
         curl_cmd.setopt(pycurl.HTTPGET, 1)
         curl_cmd.setopt(pycurl.WRITEFUNCTION, data.write)
         self._logger.info(
would reformat /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/http.py
--- /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/client.py	2023-08-12 08:08:57.686574+00:00
+++ /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/client.py	2024-01-11 09:09:55.854455+00:00
@@ -52,11 +52,10 @@
         user="admin",
         password="admin",
         project="admin",
         **kwargs
     ):
-
         self._user = user
         self._password = password
         self._project = project
         self._project_domain_name = kwargs.get("project_domain_name")
         self._user_domain_name = kwargs.get("user_domain_name")
would reformat /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/client.py
--- /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/k8scluster.py	2023-08-12 08:08:57.690574+00:00
+++ /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/k8scluster.py	2024-01-11 09:09:56.067025+00:00
@@ -45,11 +45,13 @@
     # K8S '--wait' option
     def _wait(self, id, wait_time, deleteFlag=False):
         self._logger.debug("")
         self._client.get_token()
         # Endpoint to get operation status
-        apiUrlStatus = "{}{}{}".format(self._apiName, self._apiVersion, self._apiResource)
+        apiUrlStatus = "{}{}{}".format(
+            self._apiName, self._apiVersion, self._apiResource
+        )
         # Wait for status for VIM instance creation/deletion
         if isinstance(wait_time, bool):
             wait_time = WaitForStatus.TIMEOUT_VIM_OPERATION
         WaitForStatus.wait_for_status(
             "K8S",
@@ -68,12 +70,12 @@
             k8s_cluster["vca_id"] = vim_account["vca"]
         http_code, resp = self._http.post_cmd(
             endpoint=self._apiBase, postfields_dict=k8s_cluster
         )
 
-        self._logger.debug('HTTP CODE: {}'.format(http_code))
-        self._logger.debug('RESP: {}'.format(resp))
+        self._logger.debug("HTTP CODE: {}".format(http_code))
+        self._logger.debug("RESP: {}".format(resp))
 
         if resp:
             resp = json.loads(resp)
         if not resp or "id" not in resp:
             raise ClientException("unexpected response from server - {}".format(resp))
@@ -105,23 +107,25 @@
 
         if wait:
             wait_id = cluster["_id"]
             self._wait(wait_id, wait)
 
-        self._logger.debug('HTTP CODE: {}'.format(http_code))
-        self._logger.debug('RESP: {}'.format(resp))
+        self._logger.debug("HTTP CODE: {}".format(http_code))
+        self._logger.debug("RESP: {}".format(resp))
 
         if http_code in (200, 201, 202, 204):
             print("Updated")
         else:
             msg = ""
             if resp:
                 try:
                     msg = json.loads(resp)
                 except ValueError:
                     msg = resp
-            raise ClientException("failed to update K8s cluster {} - {}".format(name, msg))
+            raise ClientException(
+                "failed to update K8s cluster {} - {}".format(name, msg)
+            )
 
     def get_id(self, name):
         """Returns a K8s cluster id from a K8s cluster name"""
         for cluster in self.list():
             if name == cluster["name"]:
@@ -138,12 +142,12 @@
             querystring = "?FORCE=True"
         http_code, resp = self._http.delete_cmd(
             "{}/{}{}".format(self._apiBase, cluster_id, querystring)
         )
 
-        self._logger.debug('HTTP CODE: {}'.format(http_code))
-        self._logger.debug('RESP: {}'.format(resp))
+        self._logger.debug("HTTP CODE: {}".format(http_code))
+        self._logger.debug("RESP: {}".format(resp))
 
         if http_code == 202:
             if wait:
                 wait_id = cluster_id
 
would reformat /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/k8scluster.py
--- /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/user.py	2023-08-12 08:08:57.690574+00:00
+++ /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/user.py	2024-01-11 09:09:56.065989+00:00
@@ -102,11 +102,10 @@
             update_user["username"] = user["username"]
 
         if user["set-project"]:
             # Remove project and insert project role mapping
             for set_project in user["set-project"]:
-
                 set_project_clean = [m.strip() for m in set_project.split(",")]
                 project, roles = set_project_clean[0], set_project_clean[1:]
 
                 update_user["remove_project_role_mappings"].append({"project": project})
 
would reformat /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/user.py
--- /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/nsi.py	2023-08-12 08:08:57.690574+00:00
+++ /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/nsi.py	2024-01-11 09:09:56.267172+00:00
@@ -143,11 +143,10 @@
         ssh_keys=None,
         description="default description",
         admin_status="ENABLED",
         wait=False,
     ):
-
         self._logger.debug("")
         self._client.get_token()
         nst = self._client.nst.get(nst_name)
 
         vim_account_id = {}
would reformat /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/nsi.py
--- /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/osmrepo.py	2023-08-12 08:08:57.690574+00:00
+++ /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/osmrepo.py	2024-01-11 09:09:56.487766+00:00
@@ -94,11 +94,11 @@
             except Exception as e:
                 self._logger.error(
                     "Error cannot read from repository {} '{}': {}".format(
                         repository["name"], repository["url"], e
                     ),
-                    exc_info=True
+                    exc_info=True,
                 )
                 continue
 
         vnf_repos_filtered = []
         if filter:
@@ -145,11 +145,10 @@
                             "{} {} not found at repo {}".format(pkgtype, name, repo)
                         )
         return f_name
 
     def pkg_get(self, pkgtype, name, repo, version, filter):
-
         pkg_name = self.get_pkg(pkgtype, name, repo, filter, version)
         if not pkg_name:
             raise ClientException("Package not found")
         folder, descriptor = self.zip_extraction(pkg_name)
         with open(descriptor) as pkg:
@@ -189,12 +188,18 @@
         directories = []
         for f in listdir(origin):
             self._logger.debug(f"Element: {join(origin,f)}")
             if isfile(join(origin, f)) and f.endswith(".tar.gz"):
                 artifacts.append(f)
-            elif isdir(join(origin, f)) and f != destination.split('/')[-1] and not f.startswith('.'):
-                directories.append(f)  # TODO: Document that nested directories are not supported
+            elif (
+                isdir(join(origin, f))
+                and f != destination.split("/")[-1]
+                and not f.startswith(".")
+            ):
+                directories.append(
+                    f
+                )  # TODO: Document that nested directories are not supported
             else:
                 self._logger.debug(f"Ignoring {f}")
         self._logger.debug(f"Artifacts: {artifacts}")
         for package in artifacts:
             self.register_package_in_repository(
@@ -248,31 +253,37 @@
         aux_dict = {}
         if package_type == "vnf":
             if descriptor_dict.get("vnfd-catalog", False):
                 aux_dict = descriptor_dict.get("vnfd-catalog", {}).get("vnfd", [{}])[0]
             elif descriptor_dict.get("vnfd:vnfd-catalog"):
-                aux_dict = descriptor_dict.get("vnfd:vnfd-catalog", {}).get("vnfd", [{}])[0]
+                aux_dict = descriptor_dict.get("vnfd:vnfd-catalog", {}).get(
+                    "vnfd", [{}]
+                )[0]
             elif descriptor_dict.get("vnfd"):
                 aux_dict = descriptor_dict["vnfd"]
                 if aux_dict.get("vnfd"):
-                    aux_dict = aux_dict['vnfd'][0]
+                    aux_dict = aux_dict["vnfd"][0]
             else:
                 msg = f"Unexpected descriptor format {descriptor_dict}"
                 self._logger.error(msg)
                 raise ValueError(msg)
-            self._logger.debug(f"Extracted descriptor info for {package_type}: {aux_dict}")
+            self._logger.debug(
+                f"Extracted descriptor info for {package_type}: {aux_dict}"
+            )
             images = []
-            for vdu in aux_dict.get("vdu", aux_dict.get('kdu', ())):
-                images.append(vdu.get("image", vdu.get('name')))
+            for vdu in aux_dict.get("vdu", aux_dict.get("kdu", ())):
+                images.append(vdu.get("image", vdu.get("name")))
             fields["images"] = images
         elif package_type == "ns":
             if descriptor_dict.get("nsd-catalog", False):
                 aux_dict = descriptor_dict.get("nsd-catalog", {}).get("nsd", [{}])[0]
             elif descriptor_dict.get("nsd:nsd-catalog"):
-                aux_dict = descriptor_dict.get("nsd:nsd-catalog", {}).get("nsd", [{}])[0]
+                aux_dict = descriptor_dict.get("nsd:nsd-catalog", {}).get("nsd", [{}])[
+                    0
+                ]
             elif descriptor_dict.get("nsd"):
-                aux_dict = descriptor_dict['nsd']
+                aux_dict = descriptor_dict["nsd"]
                 if aux_dict.get("nsd"):
                     aux_dict = descriptor_dict["nsd"]["nsd"][0]
             else:
                 msg = f"Unexpected descriptor format {descriptor_dict}"
                 self._logger.error(msg)
@@ -280,20 +291,22 @@
             vnfs = []
             if aux_dict.get("constituent-vnfd"):
                 for vnf in aux_dict.get("constituent-vnfd", ()):
                     vnfs.append(vnf.get("vnfd-id-ref"))
             else:
-                vnfs = aux_dict.get('vnfd-id')
+                vnfs = aux_dict.get("vnfd-id")
             self._logger.debug("Used VNFS in the NSD: " + str(vnfs))
             fields["vnfd-id-ref"] = vnfs
-        elif package_type == 'nst':
+        elif package_type == "nst":
             if descriptor_dict.get("nst-catalog", False):
                 aux_dict = descriptor_dict.get("nst-catalog", {}).get("nst", [{}])[0]
             elif descriptor_dict.get("nst:nst-catalog"):
-                aux_dict = descriptor_dict.get("nst:nst-catalog", {}).get("nst", [{}])[0]
+                aux_dict = descriptor_dict.get("nst:nst-catalog", {}).get("nst", [{}])[
+                    0
+                ]
             elif descriptor_dict.get("nst"):
-                aux_dict = descriptor_dict['nst']
+                aux_dict = descriptor_dict["nst"]
                 if aux_dict.get("nst"):
                     aux_dict = descriptor_dict["nst"]["nst"][0]
             nsds = []
             for nsd in aux_dict.get("netslice-subnet", ()):
                 nsds.append(nsd.get("nsd-ref"))
@@ -355,11 +368,13 @@
             if kind == "directory":
                 descriptor_file = glob.glob("{}/*.y*ml".format(path))[0]
             else:
                 folder, descriptor_file = self.zip_extraction(path)
                 folder = join(origin, folder)
-                self._logger.debug(f"Kind is an artifact (tar.gz). Folder: {folder}. Descriptor_file: {descriptor_file}")
+                self._logger.debug(
+                    f"Kind is an artifact (tar.gz). Folder: {folder}. Descriptor_file: {descriptor_file}"
+                )
 
             self._logger.debug("Opening descriptor file: {}".format(descriptor_file))
 
             with open(descriptor_file, "r") as f:
                 descriptor_data = f.read()
would reformat /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/osmrepo.py
--- /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/scripts/osm.py	2023-08-12 08:08:57.686574+00:00
+++ /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/scripts/osm.py	2024-01-11 09:10:00.609327+00:00
@@ -2581,11 +2581,13 @@
     """creates a new Physical Deployment Unit (PDU)"""
     logger.debug("")
 
     check_client_version(ctx.obj, ctx.command.name)
 
-    pdu = create_pdu_dictionary(name, pdu_type, interface, description, vim_account, descriptor_file)
+    pdu = create_pdu_dictionary(
+        name, pdu_type, interface, description, vim_account, descriptor_file
+    )
     ctx.obj.pdu.create(pdu)
 
 
 ########################
 # UPDATE PDU operation #
@@ -2629,16 +2631,19 @@
     update = True
 
     if not newname:
         newname = name
 
-    pdu = create_pdu_dictionary(newname, pdu_type, interface, description, vim_account, descriptor_file, update)
+    pdu = create_pdu_dictionary(
+        newname, pdu_type, interface, description, vim_account, descriptor_file, update
+    )
     ctx.obj.pdu.update(name, pdu)
 
 
-def create_pdu_dictionary(name, pdu_type, interface, description, vim_account, descriptor_file, update=False):
-
+def create_pdu_dictionary(
+    name, pdu_type, interface, description, vim_account, descriptor_file, update=False
+):
     logger.debug("")
     pdu = {}
 
     if not descriptor_file:
         if not update:
@@ -2675,10 +2680,11 @@
             new_iface = {k: v for k, v in [i.split("=") for i in iface.split(",")]}
             new_iface["mgmt"] = new_iface.get("mgmt", "false").lower() == "true"
             ifaces_list.append(new_iface)
         pdu["interfaces"] = ifaces_list
     return pdu
+
 
 ####################
 # UPDATE operations
 ####################
 
@@ -5771,11 +5777,14 @@
 )
 @click.option(
     "--netslice-vlds", default=1, help="(NST) Number of netslice vlds. Default 1"
 )
 @click.option(
-    "--old", default=False, is_flag=True, help="Support flag for old versions of the OSM IM (OSM<9)"
+    "--old",
+    default=False,
+    is_flag=True,
+    help="Support flag for old versions of the OSM IM (OSM<9)",
 )
 @click.pass_context
 def package_create(
     ctx,
     package_type,
would reformat /home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/scripts/osm.py

Oh no! ๐Ÿ’ฅ ๐Ÿ’” ๐Ÿ’ฅ
7 files would be reformatted, 45 files would be left unchanged.
cover create: /tmp/.tox/cover
cover installdeps: -r/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/requirements.txt, -r/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/requirements-dev.txt, -r/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/requirements-test.txt
cover develop-inst: /home/jenkins/workspace/osmclient-stage_2-merge_v10.0
cover installed: bitarray==2.3.5,certifi==2021.10.8,charset-normalizer==2.0.10,click==8.0.3,coverage==6.2,enum34==1.1.10,idna==3.3,Jinja2==3.0.3,lxml==4.7.1,MarkupSafe==2.0.1,mock==4.0.3,nose2==0.10.0,osm-im @ git+https://osm.etsi.org/gerrit/osm/IM.git@5fa114a0c18a1f84ac56edfa1899b86e354ea9ee,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3#egg=osmclient,packaging==21.3,prettytable==3.0.0,pyang==2.5.2,pyangbind==0.8.1,pycurl==7.44.1,pyparsing==3.0.6,python-magic==0.4.24,PyYAML==5.4.1,regex==2021.11.10,requests==2.27.1,six==1.16.0,urllib3==1.26.8,verboselogs==1.7,wcwidth==0.2.5
cover run-test-pre: PYTHONHASHSEED='558197733'
cover run-test: commands[0] | sh -c 'rm -f nosetests.xml'
cover run-test: commands[1] | coverage erase
cover run-test: commands[2] | nose2 -C --coverage osmclient
E......EE..EEE.............
======================================================================
ERROR: tests_vca (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: tests_vca
Traceback (most recent call last):
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/plugins/loader/discovery.py", line 201, in _find_tests_in_file
    module = util.module_from_name(module_name)
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/util.py", line 77, in module_from_name
    __import__(name)
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/scripts/tests/tests_vca.py", line 23, in <module>
    from osmclient.scripts import osm
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/scripts/osm.py", line 22, in <module>
    from osmclient import client
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/client.py", line 22, in <module>
    from osmclient.v1 import client as client
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/client.py", line 29, in <module>
    from osmclient.common import package_tool
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/package_tool.py", line 28, in <module>
    from osm_im.validation import Validation as validation_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/validation.py", line 18, in <module>
    from osm_im.vnfd import vnfd as vnfd_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/vnfd.py", line 10, in <module>
    from pyangbind.lib.yangtypes import YANGBinary
ImportError: cannot import name 'YANGBinary' from 'pyangbind.lib.yangtypes' (/tmp/.tox/cover/lib/python3.8/site-packages/pyangbind/lib/yangtypes.py)


======================================================================
ERROR: test_vnfd (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_vnfd
Traceback (most recent call last):
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/plugins/loader/discovery.py", line 201, in _find_tests_in_file
    module = util.module_from_name(module_name)
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/util.py", line 77, in module_from_name
    __import__(name)
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/tests/test_vnfd.py", line 20, in <module>
    from osmclient.v1 import client
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/client.py", line 29, in <module>
    from osmclient.common import package_tool
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/package_tool.py", line 28, in <module>
    from osm_im.validation import Validation as validation_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/validation.py", line 18, in <module>
    from osm_im.vnfd import vnfd as vnfd_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/vnfd.py", line 10, in <module>
    from pyangbind.lib.yangtypes import YANGBinary
ImportError: cannot import name 'YANGBinary' from 'pyangbind.lib.yangtypes' (/tmp/.tox/cover/lib/python3.8/site-packages/pyangbind/lib/yangtypes.py)


======================================================================
ERROR: test_vnf (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_vnf
Traceback (most recent call last):
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/plugins/loader/discovery.py", line 201, in _find_tests_in_file
    module = util.module_from_name(module_name)
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/util.py", line 77, in module_from_name
    __import__(name)
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/tests/test_vnf.py", line 20, in <module>
    from osmclient.v1 import client
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/client.py", line 29, in <module>
    from osmclient.common import package_tool
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/package_tool.py", line 28, in <module>
    from osm_im.validation import Validation as validation_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/validation.py", line 18, in <module>
    from osm_im.vnfd import vnfd as vnfd_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/vnfd.py", line 10, in <module>
    from pyangbind.lib.yangtypes import YANGBinary
ImportError: cannot import name 'YANGBinary' from 'pyangbind.lib.yangtypes' (/tmp/.tox/cover/lib/python3.8/site-packages/pyangbind/lib/yangtypes.py)


======================================================================
ERROR: test_ns (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_ns
Traceback (most recent call last):
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/plugins/loader/discovery.py", line 201, in _find_tests_in_file
    module = util.module_from_name(module_name)
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/util.py", line 77, in module_from_name
    __import__(name)
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/tests/test_ns.py", line 20, in <module>
    from osmclient.v1 import client
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/client.py", line 29, in <module>
    from osmclient.common import package_tool
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/package_tool.py", line 28, in <module>
    from osm_im.validation import Validation as validation_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/validation.py", line 18, in <module>
    from osm_im.vnfd import vnfd as vnfd_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/vnfd.py", line 10, in <module>
    from pyangbind.lib.yangtypes import YANGBinary
ImportError: cannot import name 'YANGBinary' from 'pyangbind.lib.yangtypes' (/tmp/.tox/cover/lib/python3.8/site-packages/pyangbind/lib/yangtypes.py)


======================================================================
ERROR: test_nsd (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_nsd
Traceback (most recent call last):
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/plugins/loader/discovery.py", line 201, in _find_tests_in_file
    module = util.module_from_name(module_name)
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/util.py", line 77, in module_from_name
    __import__(name)
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/tests/test_nsd.py", line 20, in <module>
    from osmclient.v1 import client
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/v1/client.py", line 29, in <module>
    from osmclient.common import package_tool
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/common/package_tool.py", line 28, in <module>
    from osm_im.validation import Validation as validation_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/validation.py", line 18, in <module>
    from osm_im.vnfd import vnfd as vnfd_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/vnfd.py", line 10, in <module>
    from pyangbind.lib.yangtypes import YANGBinary
ImportError: cannot import name 'YANGBinary' from 'pyangbind.lib.yangtypes' (/tmp/.tox/cover/lib/python3.8/site-packages/pyangbind/lib/yangtypes.py)


======================================================================
ERROR: test_osmrepo (nose2.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: test_osmrepo
Traceback (most recent call last):
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/plugins/loader/discovery.py", line 201, in _find_tests_in_file
    module = util.module_from_name(module_name)
  File "/tmp/.tox/cover/lib/python3.8/site-packages/nose2/util.py", line 77, in module_from_name
    __import__(name)
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/tests/test_osmrepo.py", line 19, in <module>
    from osmclient.sol005.osmrepo import OSMRepo
  File "/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/osmclient/sol005/osmrepo.py", line 28, in <module>
    from osm_im.validation import Validation as validation_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/validation.py", line 18, in <module>
    from osm_im.vnfd import vnfd as vnfd_im
  File "/tmp/.tox/cover/lib/python3.8/site-packages/osm_im/vnfd.py", line 10, in <module>
    from pyangbind.lib.yangtypes import YANGBinary
ImportError: cannot import name 'YANGBinary' from 'pyangbind.lib.yangtypes' (/tmp/.tox/cover/lib/python3.8/site-packages/pyangbind/lib/yangtypes.py)


----------------------------------------------------------------------
Ran 27 tests in 10.062s

FAILED (errors=6)
Name                                     Stmts   Miss  Cover
------------------------------------------------------------
osmclient/__init__.py                        0      0   100%
osmclient/client.py                         32     30     6%
osmclient/common/__init__.py                 0      0   100%
osmclient/common/exceptions.py               6      0   100%
osmclient/common/http.py                    67     57    15%
osmclient/common/package_tool.py           364    354     3%
osmclient/common/test/test_utils.py         36      0   100%
osmclient/common/utils.py                   62     39    37%
osmclient/common/wait.py                    83     83     0%
osmclient/scripts/__init__.py                0      0   100%
osmclient/scripts/osm.py                  2423   2420     1%
osmclient/scripts/tests/tests_vca.py       100     94     6%
osmclient/sol005/__init__.py                 0      0   100%
osmclient/sol005/client.py                  99     99     0%
osmclient/sol005/http.py                   151    151     0%
osmclient/sol005/k8scluster.py             118    118     0%
osmclient/sol005/ns.py                     335    335     0%
osmclient/sol005/nsd.py                    123    123     0%
osmclient/sol005/nsi.py                    209    209     0%
osmclient/sol005/nst.py                    128    128     0%
osmclient/sol005/osmrepo.py                316    305     3%
osmclient/sol005/package.py                 62     62     0%
osmclient/sol005/pdud.py                    94     94     0%
osmclient/sol005/project.py                 74     74     0%
osmclient/sol005/repo.py                    69     69     0%
osmclient/sol005/role.py                   117    117     0%
osmclient/sol005/sdncontroller.py           97     97     0%
osmclient/sol005/subscription.py            71     71     0%
osmclient/sol005/tests/test_osmrepo.py      13      9    31%
osmclient/sol005/tests/test_vca.py         117      0   100%
osmclient/sol005/user.py                   124    124     0%
osmclient/sol005/vca.py                     64      0   100%
osmclient/sol005/vim.py                    162    162     0%
osmclient/sol005/vnf.py                     56     56     0%
osmclient/sol005/vnfd.py                   194    194     0%
osmclient/sol005/wim.py                    142    142     0%
osmclient/v1/__init__.py                     0      0   100%
osmclient/v1/client.py                      54     44    19%
osmclient/v1/key.py                         18     18     0%
osmclient/v1/ns.py                         118    101    14%
osmclient/v1/nsd.py                         27     19    30%
osmclient/v1/package.py                     34     17    50%
osmclient/v1/tests/test_ns.py               22     18    18%
osmclient/v1/tests/test_nsd.py              20     16    20%
osmclient/v1/tests/test_package.py          15      0   100%
osmclient/v1/tests/test_vnf.py              26     22    15%
osmclient/v1/tests/test_vnfd.py             20     16    20%
osmclient/v1/utils.py                        9      5    44%
osmclient/v1/vca.py                         27     27     0%
osmclient/v1/vim.py                        184    165    10%
osmclient/v1/vnf.py                         24     17    29%
osmclient/v1/vnfd.py                        25     17    32%
------------------------------------------------------------
TOTAL                                     6731   6318     6%

ERROR: InvocationError for command /tmp/.tox/cover/bin/nose2 -C --coverage osmclient (exited with code 1)
flake8 create: /tmp/.tox/flake8
flake8 installdeps: flake8
flake8 develop-inst: /home/jenkins/workspace/osmclient-stage_2-merge_v10.0
flake8 installed: flake8==7.0.0,mccabe==0.7.0,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3#egg=osmclient,pycodestyle==2.11.1,pyflakes==3.2.0
flake8 run-test-pre: PYTHONHASHSEED='558197733'
flake8 run-test: commands[0] | flake8 osmclient/ setup.py
pylint create: /tmp/.tox/pylint
pylint installdeps: -r/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/requirements.txt, -r/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/requirements-dev.txt, -r/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/requirements-test.txt, pylint
pylint develop-inst: /home/jenkins/workspace/osmclient-stage_2-merge_v10.0
pylint installed: astroid==3.0.2,bitarray==2.3.5,certifi==2021.10.8,charset-normalizer==2.0.10,click==8.0.3,coverage==6.2,dill==0.3.7,enum34==1.1.10,idna==3.3,isort==5.13.2,Jinja2==3.0.3,lxml==4.7.1,MarkupSafe==2.0.1,mccabe==0.7.0,mock==4.0.3,nose2==0.10.0,osm-im @ git+https://osm.etsi.org/gerrit/osm/IM.git@5fa114a0c18a1f84ac56edfa1899b86e354ea9ee,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3#egg=osmclient,packaging==21.3,platformdirs==4.1.0,prettytable==3.0.0,pyang==2.5.2,pyangbind==0.8.1,pycurl==7.44.1,pylint==3.0.3,pyparsing==3.0.6,python-magic==0.4.24,PyYAML==5.4.1,regex==2021.11.10,requests==2.27.1,six==1.16.0,tomli==2.0.1,tomlkit==0.12.3,typing_extensions==4.9.0,urllib3==1.26.8,verboselogs==1.7,wcwidth==0.2.5
pylint run-test-pre: PYTHONHASHSEED='558197733'
pylint run-test: commands[0] | - pylint -E osmclient
************* Module osmclient.client
osmclient/client.py:52:34: E1101: Module 'logging' has no 'VERBOSE' member (no-member)
************* Module osmclient.scripts.osm
osmclient/scripts/osm.py:5993:8: E1120: No value for argument 'ctx' in function call (no-value-for-parameter)
************* Module osmclient.common.http
osmclient/common/http.py:48:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:53:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:56:12: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:67:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:72:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:75:12: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:101:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:106:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:109:12: E1101: Instance of 'Http' has no '_logger' member (no-member)
safety create: /tmp/.tox/safety
safety installdeps: -r/home/jenkins/workspace/osmclient-stage_2-merge_v10.0/requirements.txt, safety
safety develop-inst: /home/jenkins/workspace/osmclient-stage_2-merge_v10.0
safety installed: certifi==2021.10.8,charset-normalizer==2.0.10,click==8.0.3,dparse==0.6.3,idna==3.3,Jinja2==3.0.3,MarkupSafe==2.0.1,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1ad0860dfe31be33ea8b82e0f3e4bb327d0390d3#egg=osmclient,packaging==21.3,prettytable==3.0.0,pycurl==7.44.1,pyparsing==3.0.6,python-magic==0.4.24,PyYAML==5.4.1,requests==2.27.1,ruamel.yaml==0.18.5,ruamel.yaml.clib==0.2.8,safety==2.3.5,tomli==2.0.1,urllib3==1.26.8,verboselogs==1.7,wcwidth==0.2.5
safety run-test-pre: PYTHONHASHSEED='558197733'
safety run-test: commands[0] | - safety check --full-report
+==============================================================================+

                               /$$$$$$            /$$
                              /$$__  $$          | $$
           /$$$$$$$  /$$$$$$ | $$  \__//$$$$$$  /$$$$$$   /$$   /$$
          /$$_____/ |____  $$| $$$$   /$$__  $$|_  $$_/  | $$  | $$
         |  $$$$$$   /$$$$$$$| $$_/  | $$$$$$$$  | $$    | $$  | $$
          \____  $$ /$$__  $$| $$    | $$_____/  | $$ /$$| $$  | $$
          /$$$$$$$/|  $$$$$$$| $$    |  $$$$$$$  |  $$$$/|  $$$$$$$
         |_______/  \_______/|__/     \_______/   \___/   \____  $$
                                                          /$$  | $$
                                                         |  $$$$$$/
  by pyup.io                                              \______/

+==============================================================================+

 REPORT 

  Safety is using PyUp's free open-source vulnerability database. This
data is 30 days old and limited. 
  For real-time enhanced vulnerability data, fix recommendations, severity
reporting, cybersecurity support, team and project policy management and more
sign up at https://pyup.io or email sales@pyup.io

  Safety v2.3.5 is scanning for Vulnerabilities...
  Scanning dependencies in your environment:

  -> /tmp/.tox/safety/lib/python3.8/site-packages
  -> /home/jenkins/workspace/osmclient-stage_2-merge_v10.0

  Using non-commercial database
  Found and scanned 25 packages
  Timestamp 2024-01-11 09:12:19
  5 vulnerabilities found
  0 vulnerabilities ignored

+==============================================================================+
 VULNERABILITIES FOUND 
+==============================================================================+

-> Vulnerability found in certifi version 2021.10.8
   Vulnerability ID: 59956
   Affected spec: >=2015.04.28,<2023.07.22
   ADVISORY: Certifi 2023.07.22 includes a fix for CVE-2023-37920:
   Certifi prior to version 2023.07.22 recognizes "e-Tugra" root certificates.
   e-Tugra's root certificates were subject to an investigation prompted by
   reporting of security issues in their systems. Certifi 2023.07.22 removes
   root certificates from "e-Tugra" from the root
   store.https://github.com/certifi/python-certifi/security/advisories/GHSA-
   xqr8-7jwr-rhp7
   CVE-2023-37920
   For more information, please visit
   https://data.safetycli.com/v/59956/f17


-> Vulnerability found in certifi version 2021.10.8
   Vulnerability ID: 52365
   Affected spec: <2022.12.07
   ADVISORY: Certifi 2022.12.07 includes a fix for CVE-2022-23491:
   Certifi 2022.12.07 removes root certificates from "TrustCor" from the root
   store. These are in the process of being removed from Mozilla's trust store.
   TrustCor's root certificates are being removed pursuant to an investigation
   prompted by media reporting that TrustCor's ownership also operated a
   business that produced spyware. Conclusions of Mozilla's investigation can be
   found in the linked google group
   discussion.https://github.com/certifi/python-
   certifi/security/advisories/GHSA-43fp-
   rhv2-5gv8https://groups.google.com/a/mozilla.org/g/dev-security-
   policy/c/oxX69KFvsm4/m/yLohoVqtCgAJ
   CVE-2022-23491
   For more information, please visit
   https://data.safetycli.com/v/52365/f17


-> Vulnerability found in requests version 2.27.1
   Vulnerability ID: 58755
   Affected spec: >=2.3.0,<2.31.0
   ADVISORY: Requests 2.31.0 includes a fix for CVE-2023-32681: Since
   Requests 2.3.0, Requests has been leaking Proxy-Authorization headers to
   destination servers when redirected to an HTTPS endpoint. This is a product
   of how we use 'rebuild_proxies' to reattach the 'Proxy-Authorization' header
   to requests. For HTTP connections sent through the tunnel, the proxy will
   identify the header in the request itself and remove it prior to forwarding
   to the destination server. However when sent over HTTPS, the 'Proxy-
   Authorization' header must be sent in the CONNECT request as the proxy has no
   visibility into the tunneled request. This results in Requests forwarding
   proxy credentials to the destination server unintentionally, allowing a
   malicious actor to potentially exfiltrate sensitive information.
   CVE-2023-32681
   For more information, please visit
   https://data.safetycli.com/v/58755/f17


-> Vulnerability found in urllib3 version 1.26.8
   Vulnerability ID: 61893
   Affected spec: <1.26.18
   ADVISORY: Urllib3 1.26.18 and 2.0.7 include a fix for CVE-2023-45803:
   Request body not stripped after redirect from 303 status changes request
   method to GET.https://github.com/urllib3/urllib3/security/advisories/GHSA-g4m
   x-q9vg-27p4
   CVE-2023-45803
   For more information, please visit
   https://data.safetycli.com/v/61893/f17


-> Vulnerability found in urllib3 version 1.26.8
   Vulnerability ID: 61601
   Affected spec: <1.26.17
   ADVISORY: Urllib3 1.26.17 and 2.0.5 include a fix for CVE-2023-43804:
   Urllib3 doesn't treat the 'Cookie' HTTP header special or provide any helpers
   for managing cookies over HTTP, that is the responsibility of the user.
   However, it is possible for a user to specify a 'Cookie' header and
   unknowingly leak information via HTTP redirects to a different origin if that
   user doesn't disable redirects explicitly.https://github.com/urllib3/urllib3/
   security/advisories/GHSA-v845-jxx5-vc9f
   CVE-2023-43804
   For more information, please visit
   https://data.safetycli.com/v/61601/f17

 Scan was completed. 5 vulnerabilities were found. 

+==============================================================================+
   REMEDIATIONS

  5 vulnerabilities were found in 3 packages. For detailed remediation & fix 
  recommendations, upgrade to a commercial license. 

+==============================================================================+

  Safety is using PyUp's free open-source vulnerability database. This
data is 30 days old and limited. 
  For real-time enhanced vulnerability data, fix recommendations, severity
reporting, cybersecurity support, team and project policy management and more
sign up at https://pyup.io or email sales@pyup.io

+==============================================================================+
___________________________________ summary ____________________________________
  black: commands succeeded
ERROR:   cover: commands failed
  flake8: commands succeeded
  pylint: commands succeeded
  safety: commands succeeded
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
$ docker stop --time=1 787fb0a962622c35e9a46b215b4dee9da9b4432f95a05d3f4063d4223aa999f2
$ docker rm -f 787fb0a962622c35e9a46b215b4dee9da9b4432f95a05d3f4063d4223aa999f2
[Pipeline] // withDockerContainer
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE