FailedConsole Output

Started by upstream project "RO-stage_1" build number 3274
originally caused by:
 Triggered by Gerrit: https://osm.etsi.org/gerrit/14029
 > git rev-parse --is-inside-work-tree # timeout=10
Setting origin to https://osm.etsi.org/gerrit/osm/RO.git
 > git config remote.origin.url https://osm.etsi.org/gerrit/osm/RO.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/5962-rebase
Seen branch in repository origin/Azure
Seen branch in repository origin/GCP
Seen branch in repository origin/WIM
Seen branch in repository origin/bug1511
Seen branch in repository origin/contrail
Seen branch in repository origin/feature1429
Seen branch in repository origin/feature5837
Seen branch in repository origin/feature7106
Seen branch in repository origin/feature7148
Seen branch in repository origin/feature7184
Seen branch in repository origin/feature7928
Seen branch in repository origin/fog
Seen branch in repository origin/lcm
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/py3
Seen branch in repository origin/python3
Seen branch in repository origin/rift300
Seen branch in repository origin/snapcraft
Seen branch in repository origin/sol006
Seen branch in repository origin/sol006v331
Seen branch in repository origin/v1.0
Seen branch in repository origin/v1.1
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 branch in repository origin/vio
Seen branch in repository origin/vnffg
Seen 42 remote branches
Obtained Jenkinsfile from b4ba3ea5b0dedc18482ed52437f3e1d31f8934b7
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] properties
[Pipeline] node
Running on osm-cicd-2 in /home/jenkins/workspace/RO-stage_2_v14.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/RO.git # timeout=10
Fetching without tags
Fetching upstream changes from https://osm.etsi.org/gerrit/osm/RO.git
 > git --version # timeout=10
 > git fetch --no-tags --force --progress https://osm.etsi.org/gerrit/osm/RO.git +refs/heads/*:refs/remotes/origin/*
Checking out Revision b4ba3ea5b0dedc18482ed52437f3e1d31f8934b7 (v14.0)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f b4ba3ea5b0dedc18482ed52437f3e1d31f8934b7
Commit message: "Bug 2217 fixed: modified the cloud-init merge configs"
 > git rev-list --no-walk b4ba3ea5b0dedc18482ed52437f3e1d31f8934b7 # timeout=10
[Pipeline] dir
Running in /home/jenkins/workspace/RO-stage_2_v14.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/v14.0^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/v14.0^{commit} # timeout=10
Checking out Revision 73738a808076b4167ee1b86b28b655e83bdc4f8e (refs/remotes/origin/v14.0)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 73738a808076b4167ee1b86b28b655e83bdc4f8e
 > git branch -a -v --no-abbrev # timeout=10
 > git branch -D v14.0 # timeout=10
 > git checkout -b v14.0 73738a808076b4167ee1b86b28b655e83bdc4f8e
Commit message: "Fix air-gapped installation issues with containerd and OSM helm chart"
 > git rev-list --no-walk 73738a808076b4167ee1b86b28b655e83bdc4f8e # timeout=10
[Pipeline] }
[Pipeline] // dir
[Pipeline] load
[Pipeline] { (devops/jenkins/ci-pipelines/ci_stage_2.groovy)
[Pipeline] }
[Pipeline] // load
[Pipeline] echo
do_stage_3= true
[Pipeline] load
[Pipeline] { (devops/jenkins/ci-pipelines/ci_helper.groovy)
[Pipeline] }
[Pipeline] // load
[Pipeline] stage
[Pipeline] { (Prepare)
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ env
JENKINS_HOME=/var/lib/jenkins
SSH_CLIENT=212.234.161.1 22456 22
USER=jenkins
RUN_CHANGES_DISPLAY_URL=https://osm.etsi.org/jenkins/job/RO-stage_2/job/v14.0/49/display/redirect?page=changes
GERRIT_PROJECT=osm/RO
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/RO-stage_2/job/v14.0/49/
HUDSON_COOKIE=78589e60-9722-475b-8611-cb62cb4fc390
JENKINS_SERVER_COOKIE=durable-8e0bbdd1792d09cab91739f715372e00
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus
GERRIT_PATCHSET_REVISION=890522ba0bd6ea795863c5482dd866a0524d6742
WORKSPACE=/home/jenkins/workspace/RO-stage_2_v14.0
LOGNAME=jenkins
NODE_NAME=osm-cicd-2
GERRIT_BRANCH=v14.0
_=/usr/bin/java
RUN_ARTIFACTS_DISPLAY_URL=https://osm.etsi.org/jenkins/job/RO-stage_2/job/v14.0/49/display/redirect?page=artifacts
XDG_SESSION_CLASS=user
EXECUTOR_NUMBER=3
XDG_SESSION_ID=2054
RUN_TESTS_DISPLAY_URL=https://osm.etsi.org/jenkins/job/RO-stage_2/job/v14.0/49/display/redirect?page=tests
BUILD_DISPLAY_NAME=#49
PROJECT_URL_PREFIX=https://osm.etsi.org/gerrit
HUDSON_HOME=/var/lib/jenkins
JOB_BASE_NAME=v14.0
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
BUILD_ID=49
XDG_RUNTIME_DIR=/run/user/1001
BUILD_TAG=jenkins-RO-stage_2-v14.0-49
JENKINS_URL=https://osm.etsi.org/jenkins/
LANG=C.UTF-8
JOB_URL=https://osm.etsi.org/jenkins/job/RO-stage_2/job/v14.0/
BUILD_NUMBER=49
SHELL=/bin/bash
RUN_DISPLAY_URL=https://osm.etsi.org/jenkins/job/RO-stage_2/job/v14.0/49/display/redirect
ARTIFACTORY_SERVER=artifactory-osm
GERRIT_REFSPEC=refs/changes/29/14029/1
HUDSON_SERVER_COOKIE=6d3295a483c3e6d5
JOB_DISPLAY_URL=https://osm.etsi.org/jenkins/job/RO-stage_2/job/v14.0/display/redirect
JOB_NAME=RO-stage_2/v14.0
TEST_INSTALL=true
PWD=/home/jenkins/workspace/RO-stage_2_v14.0
SSH_CONNECTION=212.234.161.1 22456 172.21.249.2 22
BRANCH_NAME=v14.0
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ git fetch --tags
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ git fetch origin refs/changes/29/14029/1
From https://osm.etsi.org/gerrit/osm/RO
 * branch            refs/changes/29/14029/1 -> FETCH_HEAD
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ git checkout -f 890522ba0bd6ea795863c5482dd866a0524d6742
Previous HEAD position was b4ba3ea Bug 2217 fixed: modified the cloud-init merge configs
HEAD is now at 890522b Bug Fix 2281: Healing operation Failing for Dual stack IP feature
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ sudo git clean -dfx
Removing .cache/
Removing .coverage
Removing .coverage_rosdn_tapi
Removing .local/
Removing .safety/
Removing NG-RO/deb_dist/
Removing NG-RO/dist/
Removing NG-RO/osm_ng_ro-14.0.2.post2+g80d2437.tar.gz
Removing NG-RO/osm_ng_ro.egg-info/
Removing NG-RO/osm_ng_ro/requirements.txt
Removing RO-SDN-arista_cloudvision/deb_dist/
Removing RO-SDN-arista_cloudvision/dist/
Removing RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision.egg-info/
Removing RO-SDN-dpb/deb_dist/
Removing RO-SDN-dpb/dist/
Removing RO-SDN-dpb/osm_rosdn_dpb-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-dpb/osm_rosdn_dpb.egg-info/
Removing RO-SDN-dynpac/deb_dist/
Removing RO-SDN-dynpac/dist/
Removing RO-SDN-dynpac/osm_rosdn_dynpac-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-dynpac/osm_rosdn_dynpac.egg-info/
Removing RO-SDN-floodlight_openflow/deb_dist/
Removing RO-SDN-floodlight_openflow/dist/
Removing RO-SDN-floodlight_openflow/osm_rosdn_floodlightof-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-floodlight_openflow/osm_rosdn_floodlightof.egg-info/
Removing RO-SDN-ietfl2vpn/deb_dist/
Removing RO-SDN-ietfl2vpn/dist/
Removing RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn.egg-info/
Removing RO-SDN-juniper_contrail/deb_dist/
Removing RO-SDN-juniper_contrail/dist/
Removing RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail.egg-info/
Removing RO-SDN-odl_openflow/deb_dist/
Removing RO-SDN-odl_openflow/dist/
Removing RO-SDN-odl_openflow/osm_rosdn_odlof-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-odl_openflow/osm_rosdn_odlof.egg-info/
Removing RO-SDN-onos_openflow/deb_dist/
Removing RO-SDN-onos_openflow/dist/
Removing RO-SDN-onos_openflow/osm_rosdn_onosof-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-onos_openflow/osm_rosdn_onosof.egg-info/
Removing RO-SDN-onos_vpls/deb_dist/
Removing RO-SDN-onos_vpls/dist/
Removing RO-SDN-onos_vpls/osm_rosdn_onos_vpls-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-onos_vpls/osm_rosdn_onos_vpls.egg-info/
Removing RO-SDN-tapi/deb_dist/
Removing RO-SDN-tapi/dist/
Removing RO-SDN-tapi/osm_rosdn_tapi-14.0.2.post2+g80d2437.tar.gz
Removing RO-SDN-tapi/osm_rosdn_tapi.egg-info/
Removing RO-VIM-aws/deb_dist/
Removing RO-VIM-aws/dist/
Removing RO-VIM-aws/osm_rovim_aws-14.0.2.post2+g80d2437.tar.gz
Removing RO-VIM-aws/osm_rovim_aws.egg-info/
Removing RO-VIM-azure/deb_dist/
Removing RO-VIM-azure/dist/
Removing RO-VIM-azure/osm_rovim_azure-14.0.2.post2+g80d2437.tar.gz
Removing RO-VIM-azure/osm_rovim_azure.egg-info/
Removing RO-VIM-gcp/deb_dist/
Removing RO-VIM-gcp/dist/
Removing RO-VIM-gcp/osm_rovim_gcp-14.0.2.post2+g80d2437.tar.gz
Removing RO-VIM-gcp/osm_rovim_gcp.egg-info/
Removing RO-VIM-openstack/deb_dist/
Removing RO-VIM-openstack/dist/
Removing RO-VIM-openstack/osm_rovim_openstack-14.0.2.post2+g80d2437.tar.gz
Removing RO-VIM-openstack/osm_rovim_openstack.egg-info/
Removing RO-VIM-openvim/deb_dist/
Removing RO-VIM-openvim/dist/
Removing RO-VIM-openvim/osm_rovim_openvim-14.0.2.post2+g80d2437.tar.gz
Removing RO-VIM-openvim/osm_rovim_openvim.egg-info/
Removing RO-VIM-vmware/deb_dist/
Removing RO-VIM-vmware/dist/
Removing RO-VIM-vmware/osm_rovim_vmware-14.0.2.post2+g80d2437.tar.gz
Removing RO-VIM-vmware/osm_rovim_vmware.egg-info/
Removing RO-plugin/.eggs/
Removing RO-plugin/deb_dist/
Removing RO-plugin/dist/
Removing RO-plugin/osm_ro_plugin-14.0.2.post2+g80d2437.tar.gz
Removing RO-plugin/osm_ro_plugin.egg-info/
Removing build.env
Removing changelog/
Removing cover/
Removing coverage.xml
Removing deb_dist/
Removing nosetests.xml
Removing pool/
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (License Scan)
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ devops/tools/license_scan.sh
NG-RO/osm_ng_ro/ns.py is text
NG-RO/osm_ng_ro/ns.py Apache-2.0
NG-RO/osm_ng_ro/ro.cfg is text
NG-RO/osm_ng_ro/ro.cfg Apache-2.0
RO-plugin/osm_ro_plugin/vimconn.py is text
RO-plugin/osm_ro_plugin/vimconn.py Apache-2.0
releasenotes/notes/bug_fix_2281_Healing_operation_Failing_for_Dual_stack_IP_feature-598fc9f01d71c6aa.yaml is text
releasenotes/notes/bug_fix_2281_Healing_operation_Failing_for_Dual_stack_IP_feature-598fc9f01d71c6aa.yaml Apache-2.0
releasenotes/notes/fix_bug_2217_again-43f6d4c55b57c617.yaml is cannot open `releasenotes
releasenotes/notes/fix_bug_2217_again-43f6d4c55b57c617.yaml Binary
releasenotes/notes/pin_black_version-8ef527516b41dd9b.yaml is cannot open `releasenotes
releasenotes/notes/pin_black_version-8ef527516b41dd9b.yaml Binary
releasenotes/notes/revert_fix_bug2217-b3ad0d1867b37f66.yaml is cannot open `releasenotes
releasenotes/notes/revert_fix_bug2217-b3ad0d1867b37f66.yaml Binary
tox.ini is text
tox.ini Apache-2.0
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Release Note Check)
[Pipeline] fileExists
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ devops-stages/stage-releasenote.sh
Checking the presence of release notes ...
OK. Release notes present in commit
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Docker-Build)
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ docker build --build-arg APT_PROXY=http://172.21.1.1:3142 -t osm/ro-v14.0 .
Sending build context to Docker daemon  161.7MB

Step 1/6 : FROM ubuntu:22.04
 ---> 52882761a72a
Step 2/6 : ARG APT_PROXY
 ---> Using cache
 ---> 55e61cba10df
Step 3/6 : 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
 ---> 92a0a55147bc
Step 4/6 : RUN DEBIAN_FRONTEND=noninteractive apt-get update &&     DEBIAN_FRONTEND=noninteractive apt-get -y install         debhelper         dh-python         git         python3         python3-all         python3-dev         python3-setuptools         python3-pip         tox
 ---> Using cache
 ---> dc04b66cbfa2
Step 5/6 : ENV LC_ALL C.UTF-8
 ---> Using cache
 ---> e244d293770c
Step 6/6 : ENV LANG C.UTF-8
 ---> Using cache
 ---> de36cea1c2a1
Successfully built de36cea1c2a1
Successfully tagged osm/ro-v14.0:latest
[Pipeline] }
[Pipeline] // stage
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ id -u
[Pipeline] sh
[RO-stage_2_v14.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/RO-stage_2_v14.0 -v /home/jenkins/workspace/RO-stage_2_v14.0:/home/jenkins/workspace/RO-stage_2_v14.0:rw,z -v /home/jenkins/workspace/RO-stage_2_v14.0@tmp:/home/jenkins/workspace/RO-stage_2_v14.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/ro-v14.0
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ groupadd -o -g 1001 -r jenkins
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ pwd
+ useradd -o -u 1001 -d /home/jenkins/workspace/RO-stage_2_v14.0 -r -g jenkins jenkins
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ echo #! /bin/sh
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ chmod 755 /usr/bin/mesg
[Pipeline] sh
[RO-stage_2_v14.0] Running shell script
+ runuser jenkins -c devops-stages/stage-test.sh
Launching tox
black create: /tmp/.tox/black
black installdeps: black
black installed: black==24.4.2,click==8.1.7,mypy-extensions==1.0.0,packaging==24.0,pathspec==0.12.1,platformdirs==4.2.1,tomli==2.0.1,typing_extensions==4.11.0
black run-test-pre: PYTHONHASHSEED='1112380951'
black run-test: commands[0] | black --check --diff NG-RO
--- /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/monitor.py	2024-05-09 19:51:18.825980+00:00
+++ /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/monitor.py	2024-05-09 19:51:39.490754+00:00
@@ -524,25 +524,25 @@
             vdur_update             (dict):         Dictionary which keeps the differences of vdur
             server                  (server):       VM info
             vdur_path               (str):          Path of VDUR in DB
         """
         if server.status in openStackvmStatusOk:
-            vdur_vim_info_update["vim_status"] = vdur_update[
-                vdur_path + ".status"
-            ] = server.status
+            vdur_vim_info_update["vim_status"] = vdur_update[vdur_path + ".status"] = (
+                server.status
+            )
 
         else:
-            vdur_vim_info_update["vim_status"] = vdur_update[
-                vdur_path + ".status"
-            ] = server.status
+            vdur_vim_info_update["vim_status"] = vdur_update[vdur_path + ".status"] = (
+                server.status
+            )
             vdur_vim_info_update["vim_message"] = "VIM status reported " + server.status
 
         vdur_vim_info_update["vim_details"] = self._get_server_info(server)
         vdur_vim_info_update["vim_id"] = server.id
-        vdur_vim_info_update["vim_name"] = vdur_update[
-            vdur_path + ".name"
-        ] = server.name
+        vdur_vim_info_update["vim_name"] = vdur_update[vdur_path + ".name"] = (
+            server.name
+        )
 
     @staticmethod
     def get_interface_info(
         ports: dict, interface: dict, server: object
     ) -> Optional[dict]:
@@ -608,23 +608,23 @@
             vnfr_update     (dict):         VDUR record path in DB
             vnfr_id         (str):          VNFR ID
         """
         current_ip_address = MonitorVms._get_current_ip_address(interface_info)
         if current_ip_address:
-            vdur_update[
-                vdur_path + ".interfaces." + str(index) + ".ip-address"
-            ] = current_ip_address
+            vdur_update[vdur_path + ".interfaces." + str(index) + ".ip-address"] = (
+                current_ip_address
+            )
 
             if old_interface.get("mgmt_vdu_interface"):
                 vdur_update[vdur_path + ".ip-address"] = current_ip_address
 
             if old_interface.get("mgmt_vnf_interface"):
                 vnfr_update[vnfr_id + ".ip-address"] = current_ip_address
 
-        vdur_update[
-            vdur_path + ".interfaces." + str(index) + ".mac-address"
-        ] = interface_info.get("mac_address")
+        vdur_update[vdur_path + ".interfaces." + str(index) + ".mac-address"] = (
+            interface_info.get("mac_address")
+        )
 
     @staticmethod
     def _get_current_ip_address(interface_info: dict) -> Optional[str]:
         if interface_info.get("fixed_ips") and interface_info["fixed_ips"][0]:
             return interface_info["fixed_ips"][0].get("ip_address")
@@ -665,18 +665,22 @@
             raise MonitorVmsException("Existing interfaces info could not found.")
 
         vdur_vim_info_update["interfaces"][index].update(
             {
                 "mac_address": interface_info["mac_address"],
-                "ip_address": interface_info["fixed_ips"][0].get("ip_address")
-                if interface_info.get("fixed_ips")
-                else None,
+                "ip_address": (
+                    interface_info["fixed_ips"][0].get("ip_address")
+                    if interface_info.get("fixed_ips")
+                    else None
+                ),
                 "vim_net_id": interface_info["network_id"],
                 "vim_info": self.serialize(interface_info),
-                "compute_node": server.to_dict()["OS-EXT-SRV-ATTR:host"]
-                if server.to_dict().get("OS-EXT-SRV-ATTR:host")
-                else None,
+                "compute_node": (
+                    server.to_dict()["OS-EXT-SRV-ATTR:host"]
+                    if server.to_dict().get("OS-EXT-SRV-ATTR:host")
+                    else None
+                ),
             }
         )
 
     def prepare_interface_updates(
         self,
@@ -742,13 +746,13 @@
             vnfr_id         (str):              VNFR ID
         """
         for index, old_interface in enumerate(existing_vim_info["interfaces"]):
             interface_info = self.get_interface_info(ports, old_interface, server)
             if not interface_info:
-                vdur_vim_info_update[
-                    "vim_message"
-                ] = f"Interface {old_interface['vim_interface_id']} deleted externally."
+                vdur_vim_info_update["vim_message"] = (
+                    f"Interface {old_interface['vim_interface_id']} deleted externally."
+                )
 
             else:
                 if interface_info.get("status") in openStacknetStatusOk:
                     self.prepare_interface_updates(
                         vdur_vim_info_update,
would reformat /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/monitor.py
--- /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ro_main.py	2024-05-09 19:51:18.829980+00:00
+++ /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ro_main.py	2024-05-09 19:51:39.762323+00:00
@@ -252,13 +252,13 @@
                                 )
 
                             indata = filecontent.file  # .read()
 
                             if filecontent.content_type.value:
-                                cherrypy.request.headers[
-                                    "Content-Type"
-                                ] = filecontent.content_type.value
+                                cherrypy.request.headers["Content-Type"] = (
+                                    filecontent.content_type.value
+                                )
                     else:
                         # raise cherrypy.HTTPError(HTTPStatus.Not_Acceptable,
                         #                          "Only 'Content-Type' of type 'application/json' or
                         # 'application/yaml' for input format are available")
                         error_text = "Invalid yaml format "
@@ -354,13 +354,13 @@
             # TODO check that cherrypy close file. If not implement pending things to close  per thread next
             return data
 
         if accept:
             if "application/json" in accept:
-                cherrypy.response.headers[
-                    "Content-Type"
-                ] = "application/json; charset=utf-8"
+                cherrypy.response.headers["Content-Type"] = (
+                    "application/json; charset=utf-8"
+                )
                 a = json.dumps(data, indent=4) + "\n"
 
                 return a.encode("utf8")
             elif "text/html" in accept:
                 return html.format(
@@ -537,19 +537,19 @@
                 self.ns.fs.file_delete(folder)
 
             return ",".join(folders) + " folders deleted\n"
         elif args and args[0] == "login":
             if not cherrypy.request.headers.get("Authorization"):
-                cherrypy.response.headers[
-                    "WWW-Authenticate"
-                ] = 'Basic realm="Access to OSM site", charset="UTF-8"'
+                cherrypy.response.headers["WWW-Authenticate"] = (
+                    'Basic realm="Access to OSM site", charset="UTF-8"'
+                )
                 cherrypy.response.status = HTTPStatus.UNAUTHORIZED.value
         elif args and args[0] == "login2":
             if not cherrypy.request.headers.get("Authorization"):
-                cherrypy.response.headers[
-                    "WWW-Authenticate"
-                ] = 'Bearer realm="Access to OSM site"'
+                cherrypy.response.headers["WWW-Authenticate"] = (
+                    'Bearer realm="Access to OSM site"'
+                )
                 cherrypy.response.status = HTTPStatus.UNAUTHORIZED.value
         elif args and args[0] == "sleep":
             sleep_time = 5
 
             try:
@@ -741,13 +741,15 @@
                 self._set_location_header(main_topic, version, topic, _id)
 
             cherrypy.response.status = (
                 HTTPStatus.ACCEPTED.value
                 if not done
-                else HTTPStatus.OK.value
-                if outdata is not None
-                else HTTPStatus.NO_CONTENT.value
+                else (
+                    HTTPStatus.OK.value
+                    if outdata is not None
+                    else HTTPStatus.NO_CONTENT.value
+                )
             )
 
             return self._format_out(outdata, token_info, _format)
         except Exception as e:
             if isinstance(
@@ -764,13 +766,13 @@
             ):
                 http_code_value = cherrypy.response.status = e.http_code.value
                 http_code_name = e.http_code.name
                 cherrypy.log("Exception {}".format(e))
             else:
-                http_code_value = (
-                    cherrypy.response.status
-                ) = HTTPStatus.BAD_REQUEST.value  # INTERNAL_SERVER_ERROR
+                http_code_value = cherrypy.response.status = (
+                    HTTPStatus.BAD_REQUEST.value
+                )  # INTERNAL_SERVER_ERROR
                 cherrypy.log("CRITICAL: Exception {}".format(e), traceback=True)
                 http_code_name = HTTPStatus.BAD_REQUEST.name
 
             if hasattr(outdata, "close"):  # is an open file
                 outdata.close()
would reformat /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ro_main.py
--- /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ns_thread.py	2024-05-09 19:51:18.829980+00:00
+++ /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ns_thread.py	2024-05-09 19:51:40.890846+00:00
@@ -283,13 +283,15 @@
                 "ro_task={} {} get-net={}: status={} {}".format(
                     ro_task_id,
                     ro_task["target_id"],
                     vim_id,
                     ro_vim_item_update.get("vim_status"),
-                    ro_vim_item_update.get("vim_message")
-                    if ro_vim_item_update.get("vim_status") != "ACTIVE"
-                    else "",
+                    (
+                        ro_vim_item_update.get("vim_message")
+                        if ro_vim_item_update.get("vim_status") != "ACTIVE"
+                        else ""
+                    ),
                 )
             )
 
         return task_status, ro_vim_item_update
 
@@ -574,13 +576,15 @@
                 "ro_task={} {} get-vm={}: status={} {}".format(
                     ro_task_id,
                     ro_task["target_id"],
                     vim_id,
                     ro_vim_item_update.get("vim_status"),
-                    ro_vim_item_update.get("vim_message")
-                    if ro_vim_item_update.get("vim_status") != "ACTIVE"
-                    else "",
+                    (
+                        ro_vim_item_update.get("vim_message")
+                        if ro_vim_item_update.get("vim_status") != "ACTIVE"
+                        else ""
+                    ),
                 )
             )
 
         return task_status, ro_vim_item_update
 
@@ -1238,13 +1242,13 @@
 
                 service_endpoint_id = "{}:{}".format(port["compute_node"], port["pci"])
                 new_port = {
                     "service_endpoint_id": pmap.get("service_endpoint_id")
                     or service_endpoint_id,
-                    "service_endpoint_encapsulation_type": "dot1q"
-                    if port["type"] == "SR-IOV"
-                    else None,
+                    "service_endpoint_encapsulation_type": (
+                        "dot1q" if port["type"] == "SR-IOV" else None
+                    ),
                     "service_endpoint_encapsulation_info": {
                         "vlan": port.get("vlan"),
                         "mac": port.get("mac-address"),
                         "device_id": pmap.get("device_id") or port["compute_node"],
                         "device_interface_id": pmap.get("device_interface_id")
@@ -1788,13 +1792,11 @@
         step = ""
         loaded = target_id in self.vim_targets
         target_database = (
             "vim_accounts"
             if target == "vim"
-            else "wim_accounts"
-            if target == "wim"
-            else "sdns"
+            else "wim_accounts" if target == "wim" else "sdns"
         )
         error_text = ""
 
         try:
             step = "Getting {} from db".format(target_id)
@@ -1896,13 +1898,11 @@
         """
         target, _, _id = target_id.partition(":")
         target_database = (
             "vim_accounts"
             if target == "vim"
-            else "wim_accounts"
-            if target == "wim"
-            else "sdns"
+            else "wim_accounts" if target == "wim" else "sdns"
         )
         plugin_name = ""
         vim = None
         step = "Getting {}={} from db".format(target, _id)
 
@@ -2079,13 +2079,13 @@
                 if (
                     my_task["target_record"] == task["target_record"]
                     and task["action"] == "CREATE"
                 ):
                     # set to finished
-                    db_update["tasks.{}.status".format(index)] = task[
-                        "status"
-                    ] = "FINISHED"
+                    db_update["tasks.{}.status".format(index)] = task["status"] = (
+                        "FINISHED"
+                    )
                 elif task["action"] == "CREATE" and task["status"] not in (
                     "FINISHED",
                     "SUPERSEDED",
                 ):
                     needed_delete = False
@@ -2394,13 +2394,13 @@
                                     raise NsWorkerException(error_text)
 
                                 task_depends[dependency_task_id] = dependency_ro_task[
                                     "vim_info"
                                 ]["vim_id"]
-                                task_depends[
-                                    "TASK-{}".format(dependency_task_id)
-                                ] = dependency_ro_task["vim_info"]["vim_id"]
+                                task_depends["TASK-{}".format(dependency_task_id)] = (
+                                    dependency_ro_task["vim_info"]["vim_id"]
+                                )
 
                             if dependency_not_completed:
                                 self.logger.warning(
                                     "DEPENDENCY NOT COMPLETED {}".format(
                                         dependency_ro_task["vim_info"]["vim_id"]
would reformat /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ns_thread.py
--- /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ns.py	2024-05-09 19:51:23.026365+00:00
+++ /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ns.py	2024-05-09 19:51:40.942024+00:00
@@ -726,13 +726,15 @@
         ):
             # Pinning policy "REQUIRE" uses threads as host should support SMT architecture
             # Pinning policy "ISOLATE" uses cores as host should not support SMT architecture
             # Pinning policy "PREFER" uses threads in case host supports SMT architecture
             numa[
-                "cores"
-                if guest_epa_quota.get("cpu-thread-pinning-policy") == "ISOLATE"
-                else "threads"
+                (
+                    "cores"
+                    if guest_epa_quota.get("cpu-thread-pinning-policy") == "ISOLATE"
+                    else "threads"
+                )
             ] = max(vcpu_count, 1)
             local_epa_vcpu_set = True
 
         return numa, local_epa_vcpu_set
 
@@ -2859,13 +2861,13 @@
                     else:
                         done += 1
 
         return_data = {
             "status": global_status,
-            "details": ". ".join(details)
-            if details
-            else "progress {}/{}".format(done, total),
+            "details": (
+                ". ".join(details) if details else "progress {}/{}".format(done, total)
+            ),
             "nsr_id": nsr_id,
             "action_id": action_id,
             "tasks": task_list,
         }
 
would reformat /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/ns.py
--- /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/tests/test_ns.py	2024-05-09 19:51:18.833980+00:00
+++ /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/tests/test_ns.py	2024-05-09 19:51:42.209232+00:00
@@ -3032,13 +3032,13 @@
                 "vim_vm_id": "f37b18ef-3caa-4dc9-ab91-15c669b16396",
                 "action": action,
             }
             extra_dict["params"] = params
             expected_result = deepcopy(expected_result_rebuild_start_stop)
-            expected_result[
-                "target_record"
-            ] = "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.0.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+            expected_result["target_record"] = (
+                "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.0.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+            )
             expected_result["params"] = params
             task = self.ns.rebuild_start_stop_task(
                 vdu_id,
                 vnf_id,
                 vdu_index,
@@ -3058,13 +3058,13 @@
         extra_dict = {}
         actions = ["start", "stop", "rebuild"]
         vdu_index = "0"
         task_index = 0
         expected_result = deepcopy(expected_result_rebuild_start_stop)
-        expected_result[
-            "target_record"
-        ] = "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.0.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+        expected_result["target_record"] = (
+            "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.0.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+        )
         for _ in actions:
             task = self.ns.rebuild_start_stop_task(
                 vdu_id,
                 vnf_id,
                 vdu_index,
@@ -3090,13 +3090,13 @@
                 "vim_vm_id": "f37b18ef-3caa-4dc9-ab91-15c669b16396",
                 "action": action,
             }
             extra_dict["params"] = params
             expected_result = deepcopy(expected_result_rebuild_start_stop)
-            expected_result[
-                "target_record"
-            ] = "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.4.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+            expected_result["target_record"] = (
+                "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.4.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+            )
             expected_result["params"] = params
             task = self.ns.rebuild_start_stop_task(
                 vdu_id,
                 vnf_id,
                 vdu_index,
@@ -3122,13 +3122,13 @@
                 "vim_vm_id": "f37b18ef-3caa-4dc9-ab91-15c669b16396",
                 "action": action,
             }
             extra_dict["params"] = params
             expected_result = deepcopy(expected_result_rebuild_start_stop)
-            expected_result[
-                "target_record"
-            ] = "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.0.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+            expected_result["target_record"] = (
+                "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.0.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+            )
             expected_result["params"] = params
             expected_result["task_id"] = "bb937f49-3870-4169-b758-9732e1ff40f3:3"
             task = self.ns.rebuild_start_stop_task(
                 vdu_id,
                 vnf_id,
@@ -3270,13 +3270,13 @@
     ):
         self.ns = Ns()
         vdu_index = "4"
         task_index = 1
         expected_result = deepcopy(expected_result_migrate)
-        expected_result[
-            "target_record"
-        ] = "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.4.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+        expected_result["target_record"] = (
+            "vnfrs:665b4165-ce24-4320-bf19-b9a45bade49f:vdur.4.vim_info.vim:f9f370ac-0d44-41a7-9000-457f2332bc35"
+        )
         task = self.ns.migrate_task(
             vdu, vnf, vdu_index, action_id, nsr_id_2, task_index, extra_dict_migrate
         )
         self.assertDictEqual(task, expected_result)
 
would reformat /home/jenkins/workspace/RO-stage_2_v14.0/NG-RO/osm_ng_ro/tests/test_ns.py

Oh no! 💥 💔 💥
5 files would be reformatted, 9 files would be left unchanged.
ERROR: InvocationError for command /tmp/.tox/black/bin/black --check --diff NG-RO (exited with code 1)
cover create: /tmp/.tox/cover
cover installdeps: -r/home/jenkins/workspace/RO-stage_2_v14.0/requirements.txt, -r/home/jenkins/workspace/RO-stage_2_v14.0/requirements-dev.txt, -r/home/jenkins/workspace/RO-stage_2_v14.0/requirements-test.txt
cover installed: adal==1.2.7,aiokafka==0.8.1,appdirs==1.4.4,async-timeout==4.0.3,atpublic==4.0,attrs==23.1.0,autopage==0.5.1,azure-common==1.1.28,azure-core==1.29.4,azure-identity==1.14.0,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto==2.49.0,cachetools==5.3.1,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.0,cheroot==10.0.0,CherryPy==18.1.2,cliff==4.3.0,cmd2==2.4.3,coverage==7.3.2,cryptography==41.0.4,cvprac==1.3.1,dataclasses==0.6,debtcollector==2.5.0,decorator==5.1.1,dnspython==2.4.2,dogpile.cache==1.2.2,flufl.enum==6.0.2,google-api-core==2.12.0,google-api-python-client==2.101.0,google-auth==2.23.2,google-auth-httplib2==0.1.1,google-cloud==0.34.0,googleapis-common-protos==1.60.0,httplib2==0.22.0,humanfriendly==10.0,idna==3.4,importlib-metadata==6.8.0,ipconflict==0.5.0,iso8601==2.1.0,isodate==0.6.1,jaraco.functools==3.9.0,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.19.1,jsonschema-specifications==2023.7.1,kafka-python==2.0.2,keystoneauth1==5.3.0,logutils==0.3.5,lxml==4.9.3,MarkupSafe==2.1.3,mock==5.1.0,more-itertools==10.1.0,motor==3.3.1,msal==1.24.1,msal-extensions==1.0.0,msgpack==1.0.7,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,nose2==0.13.0,oauthlib==3.2.2,openstacksdk==1.5.0,os-client-config==2.1.0,os-service-types==1.7.0,osc-lib==2.8.1,oslo.config==9.2.0,oslo.context==5.2.0,oslo.i18n==6.1.0,oslo.log==5.3.0,oslo.serialization==5.2.0,oslo.utils==6.2.1,osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@df511049aeda8da03035b3adc2f900b76c8255de,-e git+https://osm.etsi.org/gerrit/osm/RO.git@890522ba0bd6ea795863c5482dd866a0524d6742#egg=osm_ro_plugin&subdirectory=RO-plugin,packaging==23.1,paramiko==3.3.1,pbr==5.11.1,portalocker==2.8.2,portend==3.2.0,prettytable==3.9.0,progressbar==2.5,protobuf==4.24.3,py-radix==0.10.0,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycparser==2.21,pycryptodome==3.19.0,Pygments==2.16.1,pyinotify==0.9.6,PyJWT==2.8.0,pymongo==4.5.0,PyNaCl==1.5.0,pyOpenSSL==23.2.0,pyparsing==3.1.1,pyperclip==1.8.2,PySocks==1.7.1,python-cinderclient==7.4.1,python-dateutil==2.8.2,python-glanceclient==4.4.0,python-keystoneclient==5.2.0,python-neutronclient==11.0.0,python-novaclient==18.4.0,python-openstackclient==6.3.0,pytz==2023.3.post1,pyvcloud==19.1.1,pyvmomi==8.0.2.0,PyYAML==6.0.1,referencing==0.30.2,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rpds-py==0.10.3,rsa==4.9,simplejson==3.19.1,six==1.16.0,stevedore==5.1.0,tempora==5.5.0,tqdm==4.66.1,typing_extensions==4.8.0,tzdata==2023.3,uritemplate==4.1.1,urllib3==2.0.6,uuid==1.30,warlock==2.0.1,wcwidth==0.2.8,wrapt==1.15.0,zc.lockfile==3.0.post1,zipp==3.17.0
cover run-test-pre: PYTHONHASHSEED='1112380951'
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 NG-RO/osm_ng_ro -s NG-RO/osm_ng_ro
WARNING:root:The 'osm_ng_ro' distribution was not found and is required by the application occured while getting the ro version
............ERROR:ro.workerworker-3:Error updating tasks to enable VM status updates: 'my_target_vim'
..ERROR:ro.workerworker-3:Error updating tasks to enable VM status updates: 'my_target_vim'
.ERROR:ro.workerworker-3:Error updating tasks to enable VM status updates: 'my_target_vim'
.ERROR:ro.workerworker-3:Error updating tasks to enable VM status updates: 'my_target_vim'
..........................ERROR:root:ro_task=122436:1 vim=0 del-shared-volume=sample_shared_volume_id_3: Connection failed.
..ERROR:root:task=123456:1 vim=0 new-shared-volume: Connection failed.
.................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 349 tests in 0.920s

OK
Name                                      Stmts   Miss  Cover
-------------------------------------------------------------
NG-RO/osm_ng_ro/__init__.py                   8      0   100%
NG-RO/osm_ng_ro/html_out.py                  55     55     0%
NG-RO/osm_ng_ro/monitor.py                  301      3    99%
NG-RO/osm_ng_ro/ns.py                      1205    686    43%
NG-RO/osm_ng_ro/ns_thread.py               1258    822    35%
NG-RO/osm_ng_ro/ro_main.py                  459    459     0%
NG-RO/osm_ng_ro/tests/__init__.py             0      0   100%
NG-RO/osm_ng_ro/tests/sample_data.py         40      0   100%
NG-RO/osm_ng_ro/tests/test_monitor.py      1421      4    99%
NG-RO/osm_ng_ro/tests/test_ns.py           1843     12    99%
NG-RO/osm_ng_ro/tests/test_ns_thread.py     692      0   100%
NG-RO/osm_ng_ro/validation.py                35     13    63%
NG-RO/osm_ng_ro/vim_admin.py                224    186    17%
-------------------------------------------------------------
TOTAL                                      7541   2240    70%

cover run-test: commands[3] | sh -c 'mv .coverage .coverage_ng_ro'
cover run-test: commands[4] | nose2 -C --coverage RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail -s RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
....
----------------------------------------------------------------------
Ran 4 tests in 0.007s

OK
Name                                                                                            Stmts   Miss  Cover
-------------------------------------------------------------------------------------------------------------------
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/__init__.py                                      0      0   100%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/rest_lib.py                                     98     66    33%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_api.py                                     146     79    46%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_assist_juniper_contrail.py                 380    310    18%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/tests/__init__.py                                0      0   100%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/tests/test_sdn_asssist_juniper_contrail.py      35      0   100%
-------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                             659    455    31%

cover run-test: commands[5] | sh -c 'mv .coverage .coverage_rosdn_juniper_contrail'
cover run-test: commands[6] | nose2 -C --coverage RO-SDN-tapi/osm_rosdn_tapi -s RO-SDN-tapi/osm_rosdn_tapi
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context/service-interface-point HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "POST /restconf/data/tapi-common:context/tapi-connectivity:connectivity-context HTTP/1.1" 201 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "POST /restconf/operations/tapi-connectivity:delete-connectivity-service HTTP/1.1" 204 -
.127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context/service-interface-point HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "POST /restconf/data/tapi-common:context/tapi-connectivity:connectivity-context HTTP/1.1" 201 -
127.0.0.1 - - [09/May/2024 19:53:32] "POST /restconf/data/tapi-common:context/tapi-connectivity:connectivity-context HTTP/1.1" 201 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:32] "POST /restconf/operations/tapi-connectivity:delete-connectivity-service HTTP/1.1" 204 -
127.0.0.1 - - [09/May/2024 19:53:32] "POST /restconf/operations/tapi-connectivity:delete-connectivity-service HTTP/1.1" 204 -
.127.0.0.1 - - [09/May/2024 19:53:33] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:33] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:33] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:33] "GET /restconf/data/tapi-common:context HTTP/1.1" 200 -
127.0.0.1 - - [09/May/2024 19:53:33] "GET /restconf/data/tapi-common:context/service-interface-point HTTP/1.1" 200 -
.
----------------------------------------------------------------------
Ran 3 tests in 1.766s

OK
Name                                                    Stmts   Miss  Cover
---------------------------------------------------------------------------
RO-SDN-tapi/osm_rosdn_tapi/__init__.py                      0      0   100%
RO-SDN-tapi/osm_rosdn_tapi/conn_info.py                    19      3    84%
RO-SDN-tapi/osm_rosdn_tapi/exceptions.py                   66     25    62%
RO-SDN-tapi/osm_rosdn_tapi/log_messages.py                  8      0   100%
RO-SDN-tapi/osm_rosdn_tapi/message_composers.py            37      4    89%
RO-SDN-tapi/osm_rosdn_tapi/message_templates.py             6      0   100%
RO-SDN-tapi/osm_rosdn_tapi/services_composer.py            52     10    81%
RO-SDN-tapi/osm_rosdn_tapi/tapi_client.py                  90     22    76%
RO-SDN-tapi/osm_rosdn_tapi/tests/__init__.py                0      0   100%
RO-SDN-tapi/osm_rosdn_tapi/tests/constants.py               6      0   100%
RO-SDN-tapi/osm_rosdn_tapi/tests/exceptions.py             10      4    60%
RO-SDN-tapi/osm_rosdn_tapi/tests/mock_osm_ro.py            33      7    79%
RO-SDN-tapi/osm_rosdn_tapi/tests/mock_tapi_handler.py      80     13    84%
RO-SDN-tapi/osm_rosdn_tapi/tests/test_wim_tapi.py          65      0   100%
RO-SDN-tapi/osm_rosdn_tapi/tests/tools.py                   9      2    78%
RO-SDN-tapi/osm_rosdn_tapi/wimconn_tapi.py                 93      5    95%
---------------------------------------------------------------------------
TOTAL                                                     574     95    83%

cover run-test: commands[7] | sh -c 'mv .coverage .coverage_rosdn_tapi'
cover run-test: commands[8] | nose2 -C --coverage RO-VIM-openstack/osm_rovim_openstack -s RO-VIM-openstack/osm_rovim_openstack
................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 240 tests in 1.669s

OK
Name                                                                   Stmts   Miss  Cover
------------------------------------------------------------------------------------------
RO-VIM-openstack/osm_rovim_openstack/__init__.py                           0      0   100%
RO-VIM-openstack/osm_rovim_openstack/tests/__init__.py                     0      0   100%
RO-VIM-openstack/osm_rovim_openstack/tests/test_vimconn_openstack.py    3124     24    99%
RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py               1586    968    39%
------------------------------------------------------------------------------------------
TOTAL                                                                   4710    992    79%

cover run-test: commands[9] | sh -c 'mv .coverage .coverage_rovim_openstack'
cover run-test: commands[10] | coverage combine .coverage_ng_ro .coverage_rovim_openstack .coverage_rosdn_juniper_contrail
Combined data file .coverage_ng_ro
Combined data file .coverage_rovim_openstack
Combined data file .coverage_rosdn_juniper_contrail
cover run-test: commands[11] | coverage report '--omit=*tests*'
Name                                                                                            Stmts   Miss  Cover
-------------------------------------------------------------------------------------------------------------------
NG-RO/osm_ng_ro/__init__.py                                                                         8      0   100%
NG-RO/osm_ng_ro/html_out.py                                                                        55     55     0%
NG-RO/osm_ng_ro/monitor.py                                                                        301      3    99%
NG-RO/osm_ng_ro/ns.py                                                                            1205    686    43%
NG-RO/osm_ng_ro/ns_thread.py                                                                     1258    822    35%
NG-RO/osm_ng_ro/ro_main.py                                                                        459    459     0%
NG-RO/osm_ng_ro/tests/__init__.py                                                                   0      0   100%
NG-RO/osm_ng_ro/tests/sample_data.py                                                               40      0   100%
NG-RO/osm_ng_ro/tests/test_monitor.py                                                            1421      4    99%
NG-RO/osm_ng_ro/tests/test_ns.py                                                                 1843     12    99%
NG-RO/osm_ng_ro/tests/test_ns_thread.py                                                           692      0   100%
NG-RO/osm_ng_ro/validation.py                                                                      35     13    63%
NG-RO/osm_ng_ro/vim_admin.py                                                                      224    186    17%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/__init__.py                                      0      0   100%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/rest_lib.py                                     98     66    33%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_api.py                                     146     79    46%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/sdn_assist_juniper_contrail.py                 380    310    18%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/tests/__init__.py                                0      0   100%
RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/tests/test_sdn_asssist_juniper_contrail.py      35      0   100%
RO-VIM-openstack/osm_rovim_openstack/__init__.py                                                    0      0   100%
RO-VIM-openstack/osm_rovim_openstack/tests/__init__.py                                              0      0   100%
RO-VIM-openstack/osm_rovim_openstack/tests/test_vimconn_openstack.py                             3124     24    99%
RO-VIM-openstack/osm_rovim_openstack/vimconn_openstack.py                                        1586    968    39%
-------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                           12910   3687    71%
cover run-test: commands[12] | coverage html -d ./cover '--omit=*tests*'
Wrote HTML report to ./cover/index.html
cover run-test: commands[13] | coverage xml -o coverage.xml '--omit=*tests*'
Wrote XML report to coverage.xml
flake8 create: /tmp/.tox/flake8
flake8 installdeps: flake8==5.0.4, flake8-import-order
flake8 installed: flake8==5.0.4,flake8-import-order==0.18.2,mccabe==0.7.0,pycodestyle==2.9.1,pyflakes==2.5.0
flake8 run-test-pre: PYTHONHASHSEED='1112380951'
flake8 run-test: commands[0] | flake8 NG-RO/osm_ng_ro/ NG-RO/setup.py
flake8 run-test: commands[1] | flake8 RO-plugin/osm_ro_plugin/ RO-plugin/setup.py
flake8 run-test: commands[2] | flake8 RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision/ RO-SDN-arista_cloudvision/setup.py
flake8 run-test: commands[3] | flake8 RO-SDN-dpb/osm_rosdn_dpb/ RO-SDN-dpb/setup.py
flake8 run-test: commands[4] | flake8 RO-SDN-dynpac/osm_rosdn_dynpac/ RO-SDN-dynpac/setup.py
flake8 run-test: commands[5] | flake8 RO-SDN-floodlight_openflow/osm_rosdn_floodlightof/ RO-SDN-floodlight_openflow/setup.py
flake8 run-test: commands[6] | flake8 RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn/ RO-SDN-ietfl2vpn/setup.py
flake8 run-test: commands[7] | flake8 RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail/ RO-SDN-juniper_contrail/setup.py
flake8 run-test: commands[8] | flake8 RO-SDN-odl_openflow/osm_rosdn_odlof/ RO-SDN-odl_openflow/setup.py
flake8 run-test: commands[9] | flake8 RO-SDN-onos_openflow/osm_rosdn_onosof/ RO-SDN-onos_openflow/setup.py
flake8 run-test: commands[10] | flake8 RO-SDN-onos_vpls/osm_rosdn_onos_vpls/ RO-SDN-onos_vpls/setup.py
flake8 run-test: commands[11] | flake8 RO-SDN-tapi/osm_rosdn_tapi/ RO-SDN-tapi/setup.py
flake8 run-test: commands[12] | flake8 RO-VIM-aws/osm_rovim_aws/ RO-VIM-aws/setup.py
flake8 run-test: commands[13] | flake8 RO-VIM-azure/osm_rovim_azure/ RO-VIM-azure/setup.py
flake8 run-test: commands[14] | flake8 RO-VIM-openstack/osm_rovim_openstack/ RO-VIM-openstack/setup.py
flake8 run-test: commands[15] | flake8 RO-VIM-openvim/osm_rovim_openvim/ RO-VIM-openvim/setup.py
flake8 run-test: commands[16] | flake8 RO-VIM-vmware/osm_rovim_vmware/vimconn_vmware.py RO-VIM-vmware/osm_rovim_vmware/tests/test_vimconn_vmware.py RO-VIM-vmware/setup.py
flake8 run-test: commands[17] | flake8 RO-VIM-gcp/osm_rovim_gcp/ RO-VIM-gcp/setup.py
flake8 run-test: commands[18] | flake8 integration-tests/
pylint create: /tmp/.tox/pylint
pylint installdeps: -r/home/jenkins/workspace/RO-stage_2_v14.0/requirements.txt, -r/home/jenkins/workspace/RO-stage_2_v14.0/requirements-dev.txt, -r/home/jenkins/workspace/RO-stage_2_v14.0/requirements-test.txt, pylint==2.17.7
pylint installed: adal==1.2.7,aiokafka==0.8.1,appdirs==1.4.4,astroid==2.15.8,async-timeout==4.0.3,atpublic==4.0,attrs==23.1.0,autopage==0.5.1,azure-common==1.1.28,azure-core==1.29.4,azure-identity==1.14.0,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto==2.49.0,cachetools==5.3.1,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.0,cheroot==10.0.0,CherryPy==18.1.2,cliff==4.3.0,cmd2==2.4.3,coverage==7.3.2,cryptography==41.0.4,cvprac==1.3.1,dataclasses==0.6,debtcollector==2.5.0,decorator==5.1.1,dill==0.3.8,dnspython==2.4.2,dogpile.cache==1.2.2,flufl.enum==6.0.2,google-api-core==2.12.0,google-api-python-client==2.101.0,google-auth==2.23.2,google-auth-httplib2==0.1.1,google-cloud==0.34.0,googleapis-common-protos==1.60.0,httplib2==0.22.0,humanfriendly==10.0,idna==3.4,importlib-metadata==6.8.0,ipconflict==0.5.0,iso8601==2.1.0,isodate==0.6.1,isort==5.13.2,jaraco.functools==3.9.0,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.19.1,jsonschema-specifications==2023.7.1,kafka-python==2.0.2,keystoneauth1==5.3.0,lazy-object-proxy==1.10.0,logutils==0.3.5,lxml==4.9.3,MarkupSafe==2.1.3,mccabe==0.7.0,mock==5.1.0,more-itertools==10.1.0,motor==3.3.1,msal==1.24.1,msal-extensions==1.0.0,msgpack==1.0.7,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,nose2==0.13.0,oauthlib==3.2.2,openstacksdk==1.5.0,os-client-config==2.1.0,os-service-types==1.7.0,osc-lib==2.8.1,oslo.config==9.2.0,oslo.context==5.2.0,oslo.i18n==6.1.0,oslo.log==5.3.0,oslo.serialization==5.2.0,oslo.utils==6.2.1,osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@df511049aeda8da03035b3adc2f900b76c8255de,-e git+https://osm.etsi.org/gerrit/osm/RO.git@890522ba0bd6ea795863c5482dd866a0524d6742#egg=osm_ro_plugin&subdirectory=RO-plugin,packaging==23.1,paramiko==3.3.1,pbr==5.11.1,platformdirs==4.2.1,portalocker==2.8.2,portend==3.2.0,prettytable==3.9.0,progressbar==2.5,protobuf==4.24.3,py-radix==0.10.0,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycparser==2.21,pycryptodome==3.19.0,Pygments==2.16.1,pyinotify==0.9.6,PyJWT==2.8.0,pylint==2.17.7,pymongo==4.5.0,PyNaCl==1.5.0,pyOpenSSL==23.2.0,pyparsing==3.1.1,pyperclip==1.8.2,PySocks==1.7.1,python-cinderclient==7.4.1,python-dateutil==2.8.2,python-glanceclient==4.4.0,python-keystoneclient==5.2.0,python-neutronclient==11.0.0,python-novaclient==18.4.0,python-openstackclient==6.3.0,pytz==2023.3.post1,pyvcloud==19.1.1,pyvmomi==8.0.2.0,PyYAML==6.0.1,referencing==0.30.2,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rpds-py==0.10.3,rsa==4.9,simplejson==3.19.1,six==1.16.0,stevedore==5.1.0,tempora==5.5.0,tomli==2.0.1,tomlkit==0.12.5,tqdm==4.66.1,typing_extensions==4.8.0,tzdata==2023.3,uritemplate==4.1.1,urllib3==2.0.6,uuid==1.30,warlock==2.0.1,wcwidth==0.2.8,wrapt==1.15.0,zc.lockfile==3.0.post1,zipp==3.17.0
pylint run-test-pre: PYTHONHASHSEED='1112380951'
pylint run-test: commands[0] | pylint -E NG-RO/osm_ng_ro --disable=E1101
pylint run-test: commands[1] | pylint -E RO-plugin/osm_ro_plugin --disable=E1101
pylint run-test: commands[2] | pylint -E RO-SDN-arista_cloudvision/osm_rosdn_arista_cloudvision --disable=all
pylint run-test: commands[3] | pylint -E RO-SDN-dpb/osm_rosdn_dpb
pylint run-test: commands[4] | pylint -E RO-SDN-dynpac/osm_rosdn_dynpac --disable=E1101
pylint run-test: commands[5] | pylint -E RO-SDN-floodlight_openflow/osm_rosdn_floodlightof
pylint run-test: commands[6] | pylint -E RO-SDN-ietfl2vpn/osm_rosdn_ietfl2vpn --disable=E1101
pylint run-test: commands[7] | pylint -E RO-SDN-juniper_contrail/osm_rosdn_juniper_contrail
pylint run-test: commands[8] | pylint -E RO-SDN-odl_openflow/osm_rosdn_odlof
pylint run-test: commands[9] | pylint -E RO-SDN-onos_openflow/osm_rosdn_onosof
pylint run-test: commands[10] | pylint -E RO-SDN-onos_vpls/osm_rosdn_onos_vpls --disable=E1101
pylint run-test: commands[11] | pylint -E RO-SDN-tapi/osm_rosdn_tapi
pylint run-test: commands[12] | pylint -E RO-VIM-aws/osm_rovim_aws
pylint run-test: commands[13] | pylint -E RO-VIM-azure/osm_rovim_azure --disable=all
pylint run-test: commands[14] | pylint -E RO-VIM-openstack/osm_rovim_openstack --disable=E1101
pylint run-test: commands[15] | pylint -E RO-VIM-openvim/osm_rovim_openvim --disable=all
pylint run-test: commands[16] | pylint -E RO-VIM-vmware/osm_rovim_vmware --disable=all
pylint run-test: commands[17] | pylint -E RO-VIM-gcp/osm_rovim_gcp --disable=E1101
safety create: /tmp/.tox/safety
safety installdeps: -r/home/jenkins/workspace/RO-stage_2_v14.0/requirements.txt, safety
safety installed: adal==1.2.7,annotated-types==0.6.0,appdirs==1.4.4,atpublic==4.0,attrs==23.1.0,Authlib==1.3.0,autopage==0.5.1,azure-common==1.1.28,azure-core==1.29.4,azure-identity==1.14.0,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto==2.49.0,cachetools==5.3.1,certifi==2023.7.22,cffi==1.16.0,charset-normalizer==3.3.0,cheroot==10.0.0,CherryPy==18.1.2,click==8.1.7,cliff==4.3.0,cmd2==2.4.3,cryptography==41.0.4,cvprac==1.3.1,debtcollector==2.5.0,decorator==5.1.1,dogpile.cache==1.2.2,dparse==0.6.4b0,flufl.enum==6.0.2,google-api-core==2.12.0,google-api-python-client==2.101.0,google-auth==2.23.2,google-auth-httplib2==0.1.1,google-cloud==0.34.0,googleapis-common-protos==1.60.0,httplib2==0.22.0,humanfriendly==10.0,idna==3.4,importlib-metadata==6.8.0,ipconflict==0.5.0,iso8601==2.1.0,isodate==0.6.1,jaraco.functools==3.9.0,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.19.1,jsonschema-specifications==2023.7.1,keystoneauth1==5.3.0,logutils==0.3.5,lxml==4.9.3,markdown-it-py==3.0.0,MarkupSafe==2.1.3,marshmallow==3.21.2,mdurl==0.1.2,more-itertools==10.1.0,msal==1.24.1,msal-extensions==1.0.0,msgpack==1.0.7,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,openstacksdk==1.5.0,os-client-config==2.1.0,os-service-types==1.7.0,osc-lib==2.8.1,oslo.config==9.2.0,oslo.context==5.2.0,oslo.i18n==6.1.0,oslo.log==5.3.0,oslo.serialization==5.2.0,oslo.utils==6.2.1,packaging==23.1,paramiko==3.3.1,pbr==5.11.1,portalocker==2.8.2,portend==3.2.0,prettytable==3.9.0,progressbar==2.5,protobuf==4.24.3,py-radix==0.10.0,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycparser==2.21,pydantic==2.7.1,pydantic_core==2.18.2,Pygments==2.16.1,pyinotify==0.9.6,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.2.0,pyparsing==3.1.1,pyperclip==1.8.2,PySocks==1.7.1,python-cinderclient==7.4.1,python-dateutil==2.8.2,python-glanceclient==4.4.0,python-keystoneclient==5.2.0,python-neutronclient==11.0.0,python-novaclient==18.4.0,python-openstackclient==6.3.0,pytz==2023.3.post1,pyvcloud==19.1.1,pyvmomi==8.0.2.0,PyYAML==6.0.1,referencing==0.30.2,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rich==13.7.1,rpds-py==0.10.3,rsa==4.9,ruamel.yaml==0.18.6,ruamel.yaml.clib==0.2.8,safety==3.2.0,safety-schemas==0.0.2,shellingham==1.5.4,simplejson==3.19.1,six==1.16.0,stevedore==5.1.0,tempora==5.5.0,tomli==2.0.1,tqdm==4.66.1,typer==0.12.3,typing_extensions==4.8.0,tzdata==2023.3,uritemplate==4.1.1,urllib3==2.0.6,uuid==1.30,warlock==2.0.1,wcwidth==0.2.8,wrapt==1.15.0,zc.lockfile==3.0.post1,zipp==3.17.0
safety run-test-pre: PYTHONHASHSEED='1112380951'
safety run-test: commands[0] | - safety check --full-report
+==============================================================================+

                               /$$$$$$            /$$
                              /$$__  $$          | $$
           /$$$$$$$  /$$$$$$ | $$  \__//$$$$$$  /$$$$$$   /$$   /$$
          /$$_____/ |____  $$| $$$$   /$$__  $$|_  $$_/  | $$  | $$
         |  $$$$$$   /$$$$$$$| $$_/  | $$$$$$$$  | $$    | $$  | $$
          \____  $$ /$$__  $$| $$    | $$_____/  | $$ /$$| $$  | $$
          /$$$$$$$/|  $$$$$$$| $$    |  $$$$$$$  |  $$$$/|  $$$$$$$
         |_______/  \_______/|__/     \_______/   \___/   \____  $$
                                                          /$$  | $$
                                                         |  $$$$$$/
  by safetycli.com                                        \______/

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

 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 v3.2.0 is scanning for Vulnerabilities...
  Scanning dependencies in your environment:

  -> /usr/lib/python3.10/lib-dynload
  -> /tmp/.tox/safety/bin
  -> /usr/lib/python310.zip
  -> /usr/lib/python3.10
  -> /tmp/.tox/safety/lib/python3.10/site-packages

  Using open-source vulnerability database
  Found and scanned 144 packages
  Timestamp 2024-05-09 19:57:44
  14 vulnerabilities reported
  0 vulnerabilities ignored

+==============================================================================+
 VULNERABILITIES REPORTED 
+==============================================================================+

-> Vulnerability found in wheel version 0.37.1
   Vulnerability ID: 51499
   Affected spec: <0.38.1
   ADVISORY: Wheel 0.38.1 includes a fix for CVE-2022-40898: An issue
   discovered in Python Packaging Authority (PyPA) Wheel 0.37.1 and earlier
   allows remote attackers to cause a denial of service via attacker
   controlled input to wheel cli.https://pyup.io/posts/pyup-discovers-redos-
   vulnerabilities-in-top-python-packages
   CVE-2022-40898
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/51499/97c
   To ignore this vulnerability, use PyUp vulnerability id 51499 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in urllib3 version 2.0.6
   Vulnerability ID: 61893
   Affected spec: >=2.0.0a1,<2.0.7
   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-g4mx-q9vg-27p4
   CVE-2023-45803
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/61893/97c
   To ignore this vulnerability, use PyUp vulnerability id 61893 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in pyvcloud version 19.1.1
   Vulnerability ID: 36809
   Affected spec: <20.0.0
   ADVISORY: Pyvcloud 20.0.0 fixes CVE-2017-18342: Replace
   yaml.load() with yaml.safe_load()
   CVE-2017-18342
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/36809/97c
   To ignore this vulnerability, use PyUp vulnerability id 36809 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in pyopenssl version 23.2.0
   Vulnerability ID: 65213
   Affected spec: >=22.0.0
   ADVISORY: CVE-2023-6129 affects PyOpenSSL versions starting from
   22.0.0 due to a vulnerability in the POLY1305 MAC algorithm on PowerPC
   CPUs. This issue could lead to state corruption in applications, causing
   inaccurate outcomes or service disruptions. Attackers need specific
   conditions to exploit this flaw, including the ability to manipulate the
   algorithm's use and reliance on certain system registers by the
   application.
   CVE-2023-6129
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/65213/97c
   To ignore this vulnerability, use PyUp vulnerability id 65213 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in pip version 22.0.2
   Vulnerability ID: 62044
   Affected spec: <23.3
   ADVISORY: Affected versions of Pip are vulnerable to Command
   Injection. When installing a package from a Mercurial VCS URL (ie "pip
   install hg+...") with pip prior to v23.3, the specified Mercurial revision
   could be used to inject arbitrary configuration options to the "hg clone"
   call (ie "--config"). Controlling the Mercurial configuration can modify
   how and which repository is installed. This vulnerability does not affect
   users who aren't installing from Mercurial.
   CVE-2023-5752
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/62044/97c
   To ignore this vulnerability, use PyUp vulnerability id 62044 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in paramiko version 3.3.1
   Vulnerability ID: 65193
   Affected spec: <3.4.0
   ADVISORY: The SSH transport protocol with certain OpenSSH
   extensions, found in OpenSSH before 9.6 and other products, allows remote
   attackers to bypass integrity checks such that some packets are omitted
   (from the extension negotiation message), and a client and server may
   consequently end up with a connection for which some security features
   have been downgraded or disabled, aka a Terrapin attack. This occurs
   because the SSH Binary Packet Protocol (BPP), implemented by these
   extensions, mishandles the handshake phase and mishandles use of sequence
   numbers. For example, there is an effective attack against SSH's use of
   ChaCha20-Poly1305 (and CBC with Encrypt-then-MAC). The bypass occurs in
   chacha20-poly1305@openssh.com and (if CBC is used) the -etm@openssh.com
   MAC algorithms.
   CVE-2023-48795
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/65193/97c
   To ignore this vulnerability, use PyUp vulnerability id 65193 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in paramiko version 3.3.1
   Vulnerability ID: 63227
   Affected spec: <3.4.0
   ADVISORY: Paramiko 3.4.0 has been released to fix vulnerabilities
   affecting encrypt-then-MAC digest algorithms in tandem with CBC ciphers,
   and ChaCha20-poly1305. The fix requires cooperation from both ends of the
   connection, making it effective when the remote end is OpenSSH >= 9.6 and
   configured to use the new “strict kex” mode. For further details, refer to
   the official Paramiko documentation or GitHub
   repository.https://github.com/advisories/GHSA-45x7-px36-x8w8
   CVE-2023-48795
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/63227/97c
   To ignore this vulnerability, use PyUp vulnerability id 63227 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in cryptography version 41.0.4
   Vulnerability ID: 65212
   Affected spec: >=35.0.0,<42.0.2
   ADVISORY: Versions of Cryptograph starting from 35.0.0 are
   susceptible to a security flaw in the POLY1305 MAC algorithm on PowerPC
   CPUs, which allows an attacker to disrupt the application's state. This
   disruption might result in false calculations or cause a denial of
   service. The vulnerability's exploitation hinges on the attacker's ability
   to alter the algorithm's application and the dependency of the software on
   non-volatile XMM registers.https://github.com/pyca/cryptography/commit/89d
   0d56fb104ac4e0e6db63d78fc22b8c53d27e9
   CVE-2023-6129
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/65212/97c
   To ignore this vulnerability, use PyUp vulnerability id 65212 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in cryptography version 41.0.4
   Vulnerability ID: 66777
   Affected spec: >=35.0.0,<42.0.2
   ADVISORY: CVE-2023-6237 addresses a vulnerability in RSA public
   key verification where checking a large, incorrect RSA key with
   EVP_PKEY_public_check() could take an excessive amount of time. This is
   due to no size limit on the RSA public key and an unnecessarily high
   number of Miller-Rabin rounds for modulus non-primality checks. The fix
   sets a maximum key size of 16384 bits and reduces Miller-Rabin rounds to
   5, enhancing security and performance by preventing the
   RSA_R_MODULUS_TOO_LARGE error.
   CVE-2023-6237
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/66777/97c
   To ignore this vulnerability, use PyUp vulnerability id 66777 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in cryptography version 41.0.4
   Vulnerability ID: 65278
   Affected spec: <42.0.0
   ADVISORY: A flaw was found in the python-cryptography package.
   This issue may allow a remote attacker to decrypt captured messages in TLS
   servers that use RSA key exchanges, which may lead to exposure of
   confidential or sensitive data. See CVE-2023-50782.
   CVE-2023-50782
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/65278/97c
   To ignore this vulnerability, use PyUp vulnerability id 65278 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in cryptography version 41.0.4
   Vulnerability ID: 65647
   Affected spec: <42.0.5
   ADVISORY: Cryptography version 42.0.5 introduces a limit on the
   number of name constraint checks during X.509 path validation to prevent
   denial of service attacks.https://github.com/pyca/cryptography/commit/4be5
   3bf20cc90cbac01f5f94c5d1aecc5289ba1f
   PVE-2024-65647
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/65647/97c
   To ignore this vulnerability, use PyUp vulnerability id 65647 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in cryptography version 41.0.4
   Vulnerability ID: 62556
   Affected spec: >=3.1,<41.0.6
   ADVISORY: Cryptography 41.0.6 includes a fix for CVE-2023-49083:
   NULL-dereference when loading PKCS7
   certificates.https://github.com/advisories/GHSA-jfhm-5ghh-2f97
   CVE-2023-49083
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/62556/97c
   To ignore this vulnerability, use PyUp vulnerability id 62556 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in cryptography version 41.0.4
   Vulnerability ID: 66704
   Affected spec: >=38.0.0,<42.0.4
   ADVISORY: cryptography is a package designed to expose
   cryptographic primitives and recipes to Python developers. Starting in
   version 38.0.0 and before version 42.0.4, if
   `pkcs12.serialize_key_and_certificates` is called with both a certificate
   whose public key did not match the provided private key and an
   `encryption_algorithm` with `hmac_hash` set (via
   `PrivateFormat.PKCS12.encryption_builder().hmac_hash(...)`, then a NULL
   pointer dereference would occur, crashing the Python process. This has
   been resolved in version 42.0.4, the first version in which a `ValueError`
   is properly raised.
   CVE-2024-26130
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/66704/97c
   To ignore this vulnerability, use PyUp vulnerability id 66704 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


-> Vulnerability found in jinja2 version 3.1.2
   Vulnerability ID: 64227
   Affected spec: <3.1.3
   ADVISORY: Jinja2 before 3.1.3 is affected by a Cross-Site
   Scripting vulnerability. Special placeholders in the template allow
   writing code similar to Python syntax. It is possible to inject arbitrary
   HTML attributes into the rendered HTML template. The Jinja 'xmlattr'
   filter can be abused to inject arbitrary HTML attribute keys and values,
   bypassing the auto escaping mechanism and potentially leading to XSS. It
   may also be possible to bypass attribute validation checks if they are
   blacklist-based.
   CVE-2024-22195
   For more information about this vulnerability, visit
   https://data.safetycli.com/v/64227/97c
   To ignore this vulnerability, use PyUp vulnerability id 64227 in safety’s
   ignore command-line argument or add the ignore to your safety policy file.


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

  14 vulnerabilities were reported in 8 packages. For detailed remediation & 
  fix recommendations, upgrade to a commercial license. 

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

 Scan was completed. 14 vulnerabilities were reported. 

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

  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 ____________________________________
ERROR:   black: commands failed
  cover: commands succeeded
  flake8: commands succeeded
  pylint: commands succeeded
  safety: commands succeeded
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
$ docker stop --time=1 9a2789fd2b1aab618ebd18f93808b9c4a2c81280461b01f8c095db525b73a223
$ docker rm -f 9a2789fd2b1aab618ebd18f93808b9c4a2c81280461b01f8c095db525b73a223
[Pipeline] // withDockerContainer
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE