Started by timer Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu1804-docker-8c-8g-18599 (ubuntu1804-docker-8c-8g) in workspace /w/workspace/optf-osdf-sonar The recommended git tool is: NONE using credential onap-jenkins-ssh Wiping out workspace first. Cloning the remote Git repository Cloning repository git://cloud.onap.org/mirror/optf/osdf > git init /w/workspace/optf-osdf-sonar # timeout=10 Fetching upstream changes from git://cloud.onap.org/mirror/optf/osdf > git --version # timeout=10 > git --version # 'git version 2.17.1' using GIT_SSH to set credentials Gerrit user Verifying host key using manually-configured host key entries > git fetch --tags --progress -- git://cloud.onap.org/mirror/optf/osdf +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://cloud.onap.org/mirror/optf/osdf # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 Avoid second fetch > git rev-parse refs/remotes/origin/master^{commit} # timeout=10 Checking out Revision 95c9fc3d84ec1fafed3ab5ddfa1c580fc1227e02 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 95c9fc3d84ec1fafed3ab5ddfa1c580fc1227e02 # timeout=10 Commit message: "update link to upper-constraints.txt" > git rev-list --no-walk 95c9fc3d84ec1fafed3ab5ddfa1c580fc1227e02 # timeout=10 Run condition [Boolean condition] enabling prebuild for step [BuilderChain] Run condition [Not] preventing prebuild for step [BuilderChain] [optf-osdf-sonar] $ /bin/bash /tmp/jenkins12526410430513217442.sh ---> python-tools-install.sh Setup pyenv: * system (set by /opt/pyenv/version) * 3.8.13 (set by /opt/pyenv/version) * 3.9.13 (set by /opt/pyenv/version) * 3.10.6 (set by /opt/pyenv/version) lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-Akgn lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-Akgn/bin to PATH Generating Requirements File Python 3.10.6 pip 24.1 from /tmp/venv-Akgn/lib/python3.10/site-packages/pip (python 3.10) appdirs==1.4.4 argcomplete==3.4.0 aspy.yaml==1.3.0 attrs==23.2.0 autopage==0.5.2 beautifulsoup4==4.12.3 boto3==1.34.131 botocore==1.34.131 bs4==0.0.2 cachetools==5.3.3 certifi==2024.6.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 click==8.1.7 cliff==4.7.0 cmd2==2.4.3 cryptography==3.3.2 debtcollector==3.0.0 decorator==5.1.1 defusedxml==0.7.1 Deprecated==1.2.14 distlib==0.3.8 dnspython==2.6.1 docker==4.2.2 dogpile.cache==1.3.3 email_validator==2.2.0 filelock==3.15.3 future==1.0.0 gitdb==4.0.11 GitPython==3.1.43 google-auth==2.30.0 httplib2==0.22.0 identify==2.5.36 idna==3.7 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.4 jmespath==1.0.1 jsonpatch==1.33 jsonpointer==3.0.0 jsonschema==4.22.0 jsonschema-specifications==2023.12.1 keystoneauth1==5.6.0 kubernetes==30.1.0 lftools==0.37.10 lxml==5.2.2 MarkupSafe==2.1.5 msgpack==1.0.8 multi_key_dict==2.0.3 munch==4.0.0 netaddr==1.3.0 netifaces==0.11.0 niet==1.4.2 nodeenv==1.9.1 oauth2client==4.1.3 oauthlib==3.2.2 openstacksdk==3.1.0 os-client-config==2.1.0 os-service-types==1.7.0 osc-lib==3.0.1 oslo.config==9.4.0 oslo.context==5.5.0 oslo.i18n==6.3.0 oslo.log==6.0.0 oslo.serialization==5.4.0 oslo.utils==7.1.0 packaging==24.1 pbr==6.0.0 platformdirs==4.2.2 prettytable==3.10.0 pyasn1==0.6.0 pyasn1_modules==0.4.0 pycparser==2.22 pygerrit2==2.0.15 PyGithub==2.3.0 PyJWT==2.8.0 PyNaCl==1.5.0 pyparsing==2.4.7 pyperclip==1.9.0 pyrsistent==0.20.0 python-cinderclient==9.5.0 python-dateutil==2.9.0.post0 python-heatclient==3.5.0 python-jenkins==1.8.2 python-keystoneclient==5.4.0 python-magnumclient==4.5.0 python-novaclient==18.6.0 python-openstackclient==6.6.0 python-swiftclient==4.6.0 PyYAML==6.0.1 referencing==0.35.1 requests==2.32.3 requests-oauthlib==2.0.0 requestsexceptions==1.4.0 rfc3986==2.0.0 rpds-py==0.18.1 rsa==4.9 ruamel.yaml==0.18.6 ruamel.yaml.clib==0.2.8 s3transfer==0.10.1 simplejson==3.19.2 six==1.16.0 smmap==5.0.1 soupsieve==2.5 stevedore==5.2.0 tabulate==0.9.0 toml==0.10.2 tomlkit==0.12.5 tqdm==4.66.4 typing_extensions==4.12.2 tzdata==2024.1 urllib3==1.26.19 virtualenv==20.26.3 wcwidth==0.2.13 websocket-client==1.8.0 wrapt==1.16.0 xdg==6.0.0 xmltodict==0.13.0 yq==3.4.3 [Boolean condition] checking [true] against [^(1|y|yes|t|true|on|run)$] (origin token: true) Run condition [Boolean condition] enabling perform for step [BuilderChain] [optf-osdf-sonar] $ /bin/sh -xe /tmp/jenkins3577872460696009450.sh + echo Using SonarCloud Using SonarCloud [optf-osdf-sonar] $ /bin/sh -xe /tmp/jenkins7671471389333565260.sh + echo quiet=on Unpacking https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip to /w/tools/hudson.tasks.Maven_MavenInstallation/mvn35 on prd-ubuntu1804-docker-8c-8g-18599 [optf-osdf-sonar] $ /w/tools/hudson.tasks.Maven_MavenInstallation/mvn35/bin/mvn -DGERRIT_BRANCH=master -DPROJECT=optf/osdf -DMVN=/w/tools/hudson.tasks.Maven_MavenInstallation/mvn35/bin/mvn -DSTREAM=master "-DARCHIVE_ARTIFACTS=**/*.log **/hs_err_*.log **/target/**/feature.xml **/target/failsafe-reports/failsafe-summary.xml **/target/surefire-reports/*-output.txt " -DJAVA_OPTS= -DGERRIT_PROJECT=optf/osdf -Dsha1=origin/master "-DMAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=256m" -DGERRIT_REFSPEC=refs/heads/master -DM2_HOME=/w/tools/hudson.tasks.Maven_MavenInstallation/mvn35 -DMAVEN_PARAMS= -DSONAR_MAVEN_GOAL=org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar --version OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0 Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) Maven home: /w/tools/hudson.tasks.Maven_MavenInstallation/mvn35 Java version: 11.0.16, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "4.15.0-192-generic", arch: "amd64", family: "unix" [optf-osdf-sonar] $ /bin/sh -xe /tmp/jenkins10336603320518383139.sh + rm /home/jenkins/.wgetrc [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SET_JDK_VERSION=openjdk11 GIT_URL="git://cloud.onap.org/mirror" [EnvInject] - Variables injected successfully. [optf-osdf-sonar] $ /bin/sh /tmp/jenkins9486382848745903115.sh ---> update-java-alternatives.sh ---> Updating Java version ---> Ubuntu/Debian system detected update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode update-alternatives: using /usr/lib/jvm/java-11-openjdk-amd64 to provide /usr/lib/jvm/java-openjdk (java_sdk_openjdk) in manual mode openjdk version "11.0.16" 2022-07-19 OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu118.04) OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu118.04, mixed mode) JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties file path '/tmp/java.env' [EnvInject] - Variables injected successfully. [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content MAVEN_GOALS=clean install SONARCLOUD_JAVA_VERSION=openjdk17 SONARCLOUD_QUALITYGATE_WAIT=False SCAN_DEV_BRANCH=False PROJECT_ORGANIZATION=onap SONAR_HOST_URL=https://sonarcloud.io PROJECT_KEY=onap_optf-osdf [EnvInject] - Variables injected successfully. provisioning config files... copy managed file [global-settings] to file:/w/workspace/optf-osdf-sonar@tmp/config18409615389833144594tmp copy managed file [optf-osdf-settings] to file:/w/workspace/optf-osdf-sonar@tmp/config14673589784741668842tmp [optf-osdf-sonar] $ /bin/bash -l /tmp/jenkins1536549629027868213.sh ---> common-variables.sh --show-version --batch-mode -Djenkins -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r ---> maven-sonar.sh + set +u + export MAVEN_OPTS + declare -a params + params+=("--global-settings $GLOBAL_SETTINGS_FILE") + params+=("--settings $SETTINGS_FILE") + _JAVA_OPTIONS= + /w/tools/hudson.tasks.Maven_MavenInstallation/mvn35/bin/mvn clean install -e -Dsonar --global-settings /w/workspace/optf-osdf-sonar@tmp/config18409615389833144594tmp --settings /w/workspace/optf-osdf-sonar@tmp/config14673589784741668842tmp --show-version --batch-mode -Djenkins -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r Picked up _JAVA_OPTIONS: OpenJDK 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0 Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T18:33:14Z) Maven home: /w/tools/hudson.tasks.Maven_MavenInstallation/mvn35 Java version: 11.0.16, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "4.15.0-192-generic", arch: "amd64", family: "unix" [INFO] Error stacktraces are turned on. [INFO] Scanning for projects... [INFO] [INFO] --------------------< org.onap.optf.osdf:optf-osdf >-------------------- [INFO] Building optf-osdf 3.0.8-SNAPSHOT [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ optf-osdf --- [INFO] [INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (enforce-property) @ optf-osdf --- [INFO] [INFO] --- maven-enforcer-plugin:3.0.0-M2:enforce (enforce-no-snapshots) @ optf-osdf --- [INFO] [INFO] --- gmaven-plugin:1.0:execute (default) @ optf-osdf --- 3.0.8-SNAPSHOT WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedConstructor (file:/tmp/r/org/codehaus/groovy/groovy-all-minimal/1.5.7/groovy-all-minimal-1.5.7.jar) to constructor java.lang.String(char[],int,int,java.lang.Void) WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedConstructor WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release New Tag for docker: 3.0.8-SNAPSHOT-latest [INFO] [INFO] --- build-helper-maven-plugin:3.0.0:regex-property (write-python-version) @ optf-osdf --- [INFO] [INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (pre-unit-test) @ optf-osdf --- [INFO] surefireArgLine set to -javaagent:/tmp/r/org/jacoco/org.jacoco.agent/0.8.5/org.jacoco.agent-0.8.5-runtime.jar=destfile=/w/workspace/optf-osdf-sonar/target/code-coverage/jacoco-ut.exec,excludes=**/gen/**:**/generated-sources/**:**/yang-gen/**:**/pax/** [INFO] [INFO] --- maven-checkstyle-plugin:3.1.0:check (onap-license) @ optf-osdf --- [INFO] Starting audit... Audit done. [INFO] [INFO] --- maven-checkstyle-plugin:3.1.0:check (onap-java-style) @ optf-osdf --- [INFO] Starting audit... Audit done. [INFO] [INFO] --- exec-maven-plugin:1.1.1:exec (tox-test) @ optf-osdf --- [INFO] No handlers could be found for logger "tox_pyenv" [INFO] py3 create: /w/workspace/optf-osdf-sonar/.tox/py3 [INFO] py3 installdeps: -r/w/workspace/optf-osdf-sonar/requirements.txt, -r/w/workspace/optf-osdf-sonar/test/test-requirements.txt, -r/w/workspace/optf-osdf-sonar/requirements-osdf.txt, -r/w/workspace/optf-osdf-sonar/requirements-opteng.txt [INFO] py3 installed: astroid==2.11.7,attrs==22.2.0,boto3==1.23.10,botocore==1.26.10,certifi==2024.6.2,cffi==1.15.1,charset-normalizer==2.0.12,click==8.0.4,coverage==6.2,cryptography==3.3.2,dataclasses==0.8,dill==0.3.4,docopt==0.6.2,docutils==0.18.1,Flask==2.0.3,Flask-HTTPAuth==4.8.0,idna==3.7,importlib-metadata==4.8.3,iniconfig==1.1.1,isort==5.10.1,itsdangerous==2.0.1,Jinja2==3.0.3,jmespath==0.10.0,joblib==1.1.1,jsonschema==3.2.0,lazy-object-proxy==1.7.1,lxml==5.2.2,MarkupSafe==2.0.1,mccabe==0.7.0,mock==5.1.0,moto==4.0.13,mysql-connector-python==8.0.31,numpy==1.19.5,onappylog==1.0.9,onapsmsclient==0.0.4,packaging==21.3,pathtools==0.1.2,platformdirs==2.4.0,pluggy==1.0.0,protobuf==3.19.6,py==1.11.0,pycparser==2.21,pycryptodome==3.20.0,pylint==2.13.9,pymzn==0.18.3,pyparsing==3.1.2,pyrsistent==0.18.0,pytest==7.0.1,pytest-tap==3.4,python-consul==1.1.0,python-dateutil==2.9.0.post0,PyYAML==5.4.1,requests==2.27.1,requests-mock==1.12.1,responses==0.17.0,s3transfer==0.5.2,schematics==2.1.1,scikit-learn==0.24.2,scipy==1.5.4,six==1.16.0,tap.py==3.1,threadpoolctl==3.1.0,tomli==1.2.3,tornado==6.1,typed-ast==1.5.5,typing_extensions==4.1.1,urllib3==1.26.19,watchdog==2.3.1,Werkzeug==2.0.3,wrapt==1.16.0,xmltodict==0.13.0,zipp==3.6.0 [INFO] py3 run-test-pre: PYTHONHASHSEED='1536408748' [INFO] py3 run-test: commands[0] | /bin/cp config/slicing_config.yaml test/config/ [INFO] py3 run-test: commands[1] | /bin/bash test/functest/scripts/start-simulators.sh [INFO] simulator pid [INFO] py3 run-test: commands[2] | coverage run --module pytest --junitxml xunit-results.xml [INFO] ============================= test session starts ============================== [INFO] platform linux -- Python 3.6.9, pytest-7.0.1, pluggy-1.0.0 [INFO] cachedir: .tox/py3/.pytest_cache [INFO] rootdir: /w/workspace/optf-osdf-sonar [INFO] plugins: tap-3.4, requests-mock-1.12.1 [INFO] collected 120 items [INFO] [INFO] test/test_ConductorApiBuilder.py .. [ 1%] [INFO] test/test_PolicyCalls.py ..... [ 5%] [INFO] test/test_aaf_authentication.py ....... [ 11%] [INFO] test/test_api_data_utils.py . [ 12%] [INFO] test/test_api_validation.py ............ [ 22%] [INFO] test/test_getPolicy.py . [ 23%] [INFO] test/test_get_opt_query_data.py .. [ 25%] [INFO] test/test_inter_domain_route_opt.py . [ 25%] [INFO] test/test_model_api.py ...... [ 30%] [INFO] test/test_optim_engine.py ........ [ 37%] [INFO] test/test_process_fixed_pci.py . [ 38%] [INFO] test/test_process_pci_anr_opt.py . [ 39%] [INFO] test/test_process_pci_opt.py . [ 40%] [INFO] test/test_process_placement_opt.py ... [ 42%] [INFO] test/test_simple_route_opt.py . [ 43%] [INFO] test/test_so_response_gen.py . [ 44%] [INFO] test/adapters/test_message_router.py ..... [ 48%] [INFO] test/adapters/test_sms.py . [ 49%] [INFO] test/adapters/dcae/test_des.py . [ 50%] [INFO] test/apps/nxi_termination/test_fetch_aai_data.py . [ 50%] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py . [ 51%] [INFO] test/apps/pci_optimization/test_ml_model.py . [ 52%] [INFO] test/apps/slice_selection/test_remote_opt_processor.py .. [ 54%] [INFO] test/conductor/test_conductor_calls.py .. [ 55%] [INFO] test/conductor/test_conductor_translation.py ... [ 58%] [INFO] test/configdb/test_configdb_calls.py . [ 59%] [INFO] test/local_data/test_local_policies.py ... [ 61%] [INFO] test/logging/test_osdf_logging.py .............................. [ 86%] [INFO] test/mainapp/test_osdfapp.py ..... [ 90%] [INFO] test/operation/test_responses.py ... [ 93%] [INFO] test/osdf/utils/test_interfaces.py .... [ 96%] [INFO] test/osdf/utils/test_programming_utils.py ... [ 99%] [INFO] test/policy/test_policy_interface.py . [100%] [INFO] [INFO] =============================== warnings summary =============================== [INFO] test/test_api_validation.py: 240 warnings [INFO] test/test_model_api.py: 8 warnings [INFO] test/test_optim_engine.py: 56 warnings [INFO] /w/workspace/optf-osdf-sonar/.tox/py3/lib/python3.6/site-packages/schematics/transforms.py:103: SchematicsDeprecationWarning: Call to deprecated function _valid_input_keys. [INFO] all_fields = schema._valid_input_keys [INFO] [INFO] test/test_api_validation.py: 398 warnings [INFO] test/test_model_api.py: 9 warnings [INFO] test/test_optim_engine.py: 94 warnings [INFO] /w/workspace/optf-osdf-sonar/.tox/py3/lib/python3.6/site-packages/schematics/validate.py:91: SchematicsDeprecationWarning: Call to deprecated function _validator_functions. [INFO] atom.name in schema._validator_functions [INFO] [INFO] test/apps/nxi_termination/test_fetch_aai_data.py::TestRemoteOptProcessor::test_get_aai_data [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_fetch_aai_data.py:56: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(response_json, get_aai_data(request_json,osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:74: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(success_output_json, process_nxi_termination_opt(request_json, osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:80: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(nxi_failure_output_json1, process_nxi_termination_opt(request_json, osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:89: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(success_output_json, process_nxi_termination_opt(request_json, osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:96: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(success_output_json, process_nxi_termination_opt(nssi_request_json, osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:103: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(nssi_failure_output_json, process_nxi_termination_opt(nssi_request_json, osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:112: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(success_output_json, process_nxi_termination_opt(nssi_request_json, osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:119: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals(nxi_failure_output_json2, process_nxi_termination_opt(nssi_request_json, osdf_config)) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:125: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals("failure", process_nxi_termination_opt(nssi_request_json, osdf_config).get('requestStatus')) [INFO] [INFO] test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt [INFO] /w/workspace/optf-osdf-sonar/test/apps/nxi_termination/test_remote_opt_processor_termination.py:131: DeprecationWarning: Please use assertEqual instead. [INFO] self.assertEquals("failure", process_nxi_termination_opt(nssi_request_json, osdf_config).get('requestStatus')) [INFO] [INFO] test/logging/test_osdf_logging.py::TestOSDFLogging::test_warn_audit_error [INFO] test/logging/test_osdf_logging.py::TestOSDFLogging::test_warn_audit_error [INFO] /w/workspace/optf-osdf-sonar/osdf/logging/osdf_logging.py:321: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead [INFO] log_method(msg) [INFO] [INFO] -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html [INFO] ------ generated xml file: /w/workspace/optf-osdf-sonar/xunit-results.xml ------ [INFO] ====================== 120 passed, 817 warnings in 27.92s ====================== [INFO] py3 run-test: commands[3] | coverage xml '--omit=.tox/py3/*,test/*' [INFO] Wrote XML report to coverage.xml [INFO] py3 run-test: commands[4] | coverage report -m '--omit=.tox/py3/*,test/*' [INFO] Name Stmts Miss Branch BrPart Cover Missing [INFO] --------------------------------------------------------------------------------------------------------------- [INFO] apps/license/__init__.py 0 0 0 0 100% [INFO] apps/license/optimizers/__init__.py 0 0 0 0 100% [INFO] apps/license/optimizers/simple_license_allocation.py 10 1 2 1 83% 37 [INFO] apps/nxi_termination/__init__.py 0 0 0 0 100% [INFO] apps/nxi_termination/models/api/nxi_termination_request.py 21 0 4 0 100% [INFO] apps/nxi_termination/optimizers/__init__.py 0 0 0 0 100% [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py 64 12 28 6 78% 48->61, 51, 56->59, 61->77, 74->77, 82-84, 96-101, 105-107 [INFO] apps/nxi_termination/optimizers/response_processor.py 2 0 0 0 100% [INFO] apps/pci/__init__.py 0 0 0 0 100% [INFO] apps/pci/optimizers/__init__.py 2 0 0 0 100% [INFO] apps/pci/optimizers/config/__init__.py 0 0 0 0 100% [INFO] apps/pci/optimizers/config/config_client.py 11 1 4 1 87% 35 [INFO] apps/pci/optimizers/config/configdb.py 23 0 2 0 100% [INFO] apps/pci/optimizers/config/cps.py 29 19 6 0 34% 31-37, 41-49, 52-72 [INFO] apps/pci/optimizers/config_request.py 16 0 2 0 100% [INFO] apps/pci/optimizers/pci_opt_processor.py 70 19 10 2 71% 57-67, 73-74, 100-101, 105-107, 127-131 [INFO] apps/pci/optimizers/solver/__init__.py 0 0 0 0 100% [INFO] apps/pci/optimizers/solver/ml_model.py 38 0 10 0 100% [INFO] apps/pci/optimizers/solver/optimizer.py 111 4 48 3 96% 50, 82, 91, 135 [INFO] apps/pci/optimizers/solver/pci_utils.py 24 3 16 3 85% 31, 38, 47 [INFO] apps/placement/__init__.py 0 0 0 0 100% [INFO] apps/placement/models/__init__.py 0 0 0 0 100% [INFO] apps/placement/models/api/__init__.py 0 0 0 0 100% [INFO] apps/placement/models/api/placementRequest.py 59 0 22 0 100% [INFO] apps/placement/models/api/placementResponse.py 31 0 12 0 100% [INFO] apps/placement/optimizers/__init__.py 0 0 0 0 100% [INFO] apps/placement/optimizers/conductor/__init__.py 0 0 0 0 100% [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py 82 21 20 4 75% 65-66, 72-73, 82->86, 107-109, 152, 154-172, 177-178 [INFO] apps/route/__init__.py 0 0 0 0 100% [INFO] apps/route/optimizers/__init__.py 0 0 0 0 100% [INFO] apps/route/optimizers/inter_domain_route_opt.py 195 6 56 11 93% 78-80, 126->125, 147-149, 175->168, 228->227, 230->227, 232->224, 303->exit, 326->exit, 345->exit, 365->exit, 368->exit, 369->368 [INFO] apps/route/optimizers/simple_route_opt.py 161 8 40 8 92% 54, 61-63, 67->65, 129->157, 136->131, 155, 187->192, 195->200, 249-251, 265->exit [INFO] apps/slice_selection/__init__.py 0 0 0 0 100% [INFO] apps/slice_selection/models/api/__init__.py 0 0 0 0 100% [INFO] apps/slice_selection/models/api/nsi_selection_request.py 32 0 8 0 100% [INFO] apps/slice_selection/models/api/nssi_selection_request.py 17 0 4 0 100% [INFO] apps/slice_selection/optimizers/__init__.py 0 0 0 0 100% [INFO] apps/slice_selection/optimizers/conductor/__init__.py 0 0 0 0 100% [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py 82 4 20 2 94% 46, 70-71, 102, 130->132 [INFO] apps/slice_selection/optimizers/conductor/response_processor.py 33 0 16 1 98% 63->exit [INFO] osdf/adapters/__init__.py 0 0 0 0 100% [INFO] osdf/adapters/aaf/__init__.py 0 0 0 0 100% [INFO] osdf/adapters/aaf/aaf_authentication.py 58 0 12 1 99% 81->87 [INFO] osdf/adapters/aaf/sms.py 93 41 14 3 55% 52-53, 81, 86-118, 122-126, 146 [INFO] osdf/adapters/aai/fetch_aai_data.py 36 14 6 0 62% 58-59, 75-89 [INFO] osdf/adapters/conductor/__init__.py 0 0 0 0 100% [INFO] osdf/adapters/conductor/api_builder.py 45 0 8 1 98% 47->46 [INFO] osdf/adapters/conductor/conductor.py 65 11 16 6 77% 42-46, 70->78, 72, 79, 90-91, 109, 119 [INFO] osdf/adapters/conductor/translation.py 192 31 98 10 80% 51->58, 115, 137, 142-153, 156-159, 207-209, 249-250, 257-258, 264-268, 288, 345->exit, 372-376 [INFO] osdf/adapters/dcae/__init__.py 0 0 0 0 100% [INFO] osdf/adapters/dcae/des.py 16 0 2 0 100% [INFO] osdf/adapters/dcae/message_router.py 41 12 12 2 70% 65-68, 73-76, 93-96, 100 [INFO] osdf/adapters/local_data/__init__.py 0 0 0 0 100% [INFO] osdf/adapters/local_data/local_policies.py 18 0 8 0 100% [INFO] osdf/adapters/policy/__init__.py 0 0 0 0 100% [INFO] osdf/adapters/policy/interface.py 141 45 60 9 65% 44->46, 47-49, 109, 119, 137, 156, 158, 165, 180-189, 205-210, 219-242 [INFO] osdf/adapters/policy/utils.py 31 3 16 0 94% 75-77 [INFO] osdf/apps/__init__.py 2 0 0 0 100% [INFO] osdf/apps/baseapp.py 128 53 10 1 55% 108-115, 120-121, 125-135, 139-144, 148-151, 155-159, 189, 195-198, 203-218 [INFO] osdf/config/__init__.py 9 3 4 0 62% 29-31 [INFO] osdf/config/base.py 17 2 2 1 84% 48-49 [INFO] osdf/config/consulconfig.py 40 29 6 0 28% 11-18, 22-31, 34-40, 44-52 [INFO] osdf/config/credentials.py 25 5 12 0 76% 36-45 [INFO] osdf/config/loader.py 14 3 6 1 70% 35-36, 41 [INFO] osdf/logging/__init__.py 2 0 0 0 100% [INFO] osdf/logging/monkey.py 8 0 4 2 83% 31->34, 34->exit [INFO] osdf/logging/oof_mdc_context.py 60 12 32 5 73% 78->exit, 90-91, 102-103, 114->exit, 129-136, 146, 148->exit, 157 [INFO] osdf/logging/oof_mdc_formatter.py 14 0 4 0 100% [INFO] osdf/logging/osdf_logging.py 101 0 12 0 100% [INFO] osdf/models/api/common.py 21 11 10 0 45% 32-39, 49-54 [INFO] osdf/operation/__init__.py 0 0 0 0 100% [INFO] osdf/operation/error_handling.py 45 15 20 7 57% 46-53, 57-59, 65, 67, 69, 84->92, 87->92, 89, 91 [INFO] osdf/operation/exceptions.py 12 0 12 0 100% [INFO] osdf/operation/responses.py 21 17 4 0 16% 41-64 [INFO] osdf/utils/__init__.py 0 0 0 0 100% [INFO] osdf/utils/api_data_utils.py 23 19 2 0 16% 25-58 [INFO] osdf/utils/cipherUtils.py 32 21 8 0 32% 30-33, 36-45, 48-52, 55-59 [INFO] osdf/utils/data_conversion.py 19 8 8 0 41% 33-37, 47, 54, 61 [INFO] osdf/utils/data_types.py 5 1 0 0 80% 29 [INFO] osdf/utils/file_utils.py 10 1 4 1 86% 29 [INFO] osdf/utils/interfaces.py 53 2 19 2 94% 89, 112 [INFO] osdf/utils/mdc_utils.py 77 24 14 4 65% 37->46, 40-44, 46->exit, 49-50, 82-88, 95-102, 111, 127->129, 136 [INFO] osdf/utils/programming_utils.py 42 1 26 1 97% 77 [INFO] runtime/__init__.py 0 0 0 0 100% [INFO] runtime/model_api.py 143 43 26 11 66% 35-36, 43->49, 56->exit, 76-83, 93-97, 107-111, 115-119, 144-147, 162, 168-169, 172-177, 185, 190-193, 206, 212-217, 221 [INFO] runtime/models/__init__.py 0 0 0 0 100% [INFO] runtime/models/api/__init__.py 0 0 0 0 100% [INFO] runtime/models/api/model_request.py 15 0 6 0 100% [INFO] runtime/models/api/optim_request.py 21 0 8 0 100% [INFO] runtime/optim_engine.py 45 2 16 2 93% 44, 76 [INFO] runtime/solvers/__init__.py 0 0 0 0 100% [INFO] runtime/solvers/mzn/__init__.py 0 0 0 0 100% [INFO] runtime/solvers/mzn/mzn_solver.py 49 7 6 2 80% 51, 64-71, 106->115, 111-114 [INFO] runtime/solvers/py/__init__.py 0 0 0 0 100% [INFO] runtime/solvers/py/py_solver.py 49 7 8 2 84% 35->38, 50-51, 67-68, 85-92 [INFO] --------------------------------------------------------------------------------------------------------------- [INFO] TOTAL 2951 541 871 116 80% [INFO] py3 run-test: commands[5] | /bin/bash test/functest/scripts/stop-simulators.sh [INFO] py3 run-test: commands[6] | /bin/rm test/config/slicing_config.yaml [INFO] pylint create: /w/workspace/optf-osdf-sonar/.tox/pylint [INFO] pylint installdeps: -r/w/workspace/optf-osdf-sonar/requirements.txt, -r/w/workspace/optf-osdf-sonar/test/test-requirements.txt, -r/w/workspace/optf-osdf-sonar/requirements-osdf.txt, -r/w/workspace/optf-osdf-sonar/requirements-opteng.txt [INFO] pylint installed: astroid==2.11.7,attrs==22.2.0,boto3==1.23.10,botocore==1.26.10,certifi==2024.6.2,cffi==1.15.1,charset-normalizer==2.0.12,click==8.0.4,coverage==6.2,cryptography==3.3.2,dataclasses==0.8,dill==0.3.4,docopt==0.6.2,docutils==0.18.1,Flask==2.0.3,Flask-HTTPAuth==4.8.0,idna==3.7,importlib-metadata==4.8.3,iniconfig==1.1.1,isort==5.10.1,itsdangerous==2.0.1,Jinja2==3.0.3,jmespath==0.10.0,joblib==1.1.1,jsonschema==3.2.0,lazy-object-proxy==1.7.1,lxml==5.2.2,MarkupSafe==2.0.1,mccabe==0.7.0,mock==5.1.0,moto==4.0.13,mysql-connector-python==8.0.31,numpy==1.19.5,onappylog==1.0.9,onapsmsclient==0.0.4,packaging==21.3,pathtools==0.1.2,platformdirs==2.4.0,pluggy==1.0.0,protobuf==3.19.6,py==1.11.0,pycparser==2.21,pycryptodome==3.20.0,pylint==2.13.9,pymzn==0.18.3,pyparsing==3.1.2,pyrsistent==0.18.0,pytest==7.0.1,pytest-tap==3.4,python-consul==1.1.0,python-dateutil==2.9.0.post0,PyYAML==5.4.1,requests==2.27.1,requests-mock==1.12.1,responses==0.17.0,s3transfer==0.5.2,schematics==2.1.1,scikit-learn==0.24.2,scipy==1.5.4,six==1.16.0,tap.py==3.1,threadpoolctl==3.1.0,tomli==1.2.3,tornado==6.1,typed-ast==1.5.5,typing_extensions==4.1.1,urllib3==1.26.19,watchdog==2.3.1,Werkzeug==2.0.3,wrapt==1.16.0,xmltodict==0.13.0,zipp==3.6.0 [INFO] pylint run-test-pre: PYTHONHASHSEED='1536408748' [INFO] pylint run-test: commands[0] | bash -c 'pylint --reports=y osdf apps runtime| tee pylint.out' [INFO] ************* Module osdf.operation.responses [INFO] osdf/operation/responses.py:24:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/operation/responses.py:32:0: C0301: Line too long (115/100) (line-too-long) [INFO] osdf/operation/responses.py:39:0: C0301: Line too long (102/100) (line-too-long) [INFO] osdf/operation/responses.py:41:0: C0301: Line too long (109/100) (line-too-long) [INFO] osdf/operation/responses.py:42:0: C0301: Line too long (117/100) (line-too-long) [INFO] osdf/operation/responses.py:48:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/operation/responses.py:50:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/operation/responses.py:55:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/operation/responses.py:59:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/operation/responses.py:60:0: C0301: Line too long (139/100) (line-too-long) [INFO] osdf/operation/responses.py:62:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/operation/responses.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/operation/responses.py:24:0: W0102: Dangerous default value {} as argument (dangerous-default-value) [INFO] osdf/operation/responses.py:24:0: R0913: Too many arguments (7/5) (too-many-arguments) [INFO] osdf/operation/responses.py:60:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module osdf.operation.error_handling [INFO] osdf/operation/error_handling.py:33:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/operation/error_handling.py:57:0: W0311: Bad indentation. Found 8 spaces, expected 4 (bad-indentation) [INFO] osdf/operation/error_handling.py:58:0: W0311: Bad indentation. Found 8 spaces, expected 4 (bad-indentation) [INFO] osdf/operation/error_handling.py:59:0: W0311: Bad indentation. Found 8 spaces, expected 4 (bad-indentation) [INFO] osdf/operation/error_handling.py:24:0: W0622: Redefining built-in 'ConnectionError' (redefined-builtin) [INFO] osdf/operation/error_handling.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/operation/error_handling.py:45:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/operation/error_handling.py:46:4: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) [INFO] osdf/operation/error_handling.py:50:9: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) [INFO] osdf/operation/error_handling.py:56:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/operation/error_handling.py:62:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/operation/error_handling.py:64:7: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) [INFO] osdf/operation/error_handling.py:66:7: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) [INFO] osdf/operation/error_handling.py:68:7: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) [INFO] ************* Module osdf.operation.exceptions [INFO] osdf/operation/exceptions.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/operation/exceptions.py:19:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/operation/exceptions.py:23:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/operation/exceptions.py:27:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/operation/exceptions.py:31:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/operation/exceptions.py:35:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/operation/exceptions.py:39:0: C0115: Missing class docstring (missing-class-docstring) [INFO] ************* Module osdf.webapp.appcontroller [INFO] osdf/webapp/appcontroller.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/webapp/appcontroller.py:42:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/webapp/appcontroller.py:51:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/webapp/appcontroller.py:59:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/webapp/appcontroller.py:61:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] osdf/webapp/appcontroller.py:64:8: C0103: Variable name "pw" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module osdf.adapters.local_data.local_policies [INFO] osdf/adapters/local_data/local_policies.py:29:0: C0301: Line too long (113/100) (line-too-long) [INFO] osdf/adapters/local_data/local_policies.py:35:0: C0301: Line too long (137/100) (line-too-long) [INFO] osdf/adapters/local_data/local_policies.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/local_data/local_policies.py:35:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/local_data/local_policies.py:39:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/adapters/local_data/local_policies.py:43:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/adapters/local_data/local_policies.py:50:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] ************* Module osdf.adapters.aaf.sms [INFO] osdf/adapters/aaf/sms.py:106:0: C0301: Line too long (102/100) (line-too-long) [INFO] osdf/adapters/aaf/sms.py:57:8: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/aaf/sms.py:67:18: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] osdf/adapters/aaf/sms.py:85:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/sms.py:121:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/sms.py:123:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] ************* Module osdf.adapters.aaf.aaf_authentication [INFO] osdf/adapters/aaf/aaf_authentication.py:106:0: C0301: Line too long (117/100) (line-too-long) [INFO] osdf/adapters/aaf/aaf_authentication.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/aaf/aaf_authentication.py:38:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/aaf_authentication.py:42:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/aaf_authentication.py:46:11: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/adapters/aaf/aaf_authentication.py:47:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/aaf/aaf_authentication.py:55:-1: W0105: String statement has no effect (pointless-string-statement) [INFO] osdf/adapters/aaf/aaf_authentication.py:58:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/aaf_authentication.py:67:8: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/aaf/aaf_authentication.py:76:-1: W0105: String statement has no effect (pointless-string-statement) [INFO] osdf/adapters/aaf/aaf_authentication.py:79:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/aaf_authentication.py:85:16: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/aaf/aaf_authentication.py:90:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/aaf_authentication.py:91:33: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/aaf/aaf_authentication.py:105:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/aaf/aaf_authentication.py:109:4: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/aaf/aaf_authentication.py:23:0: C0411: standard import "import re" should be placed before "from flask import request" (wrong-import-order) [INFO] ************* Module osdf.adapters.policy.interface [INFO] osdf/adapters/policy/interface.py:60:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/policy/interface.py:83:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/adapters/policy/interface.py:109:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/adapters/policy/interface.py:142:0: C0301: Line too long (103/100) (line-too-long) [INFO] osdf/adapters/policy/interface.py:165:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/policy/interface.py:183:0: C0301: Line too long (111/100) (line-too-long) [INFO] osdf/adapters/policy/interface.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/policy/interface.py:39:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/policy/interface.py:49:12: W0707: Consider explicitly re-raising using the 'from' keyword (raise-missing-from) [INFO] osdf/adapters/policy/interface.py:49:36: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:53:0: R0914: Too many local variables (17/15) (too-many-locals) [INFO] osdf/adapters/policy/interface.py:73:16: C0103: Variable name "s" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:78:8: C0206: Consider iterating with .items() (consider-using-dict-items) [INFO] osdf/adapters/policy/interface.py:78:12: C0103: Variable name "policyName" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:78:26: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary) [INFO] osdf/adapters/policy/interface.py:105:4: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise) [INFO] osdf/adapters/policy/interface.py:109:32: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:112:12: C0103: Variable name "policyName" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:119:32: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:137:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:141:25: W0621: Redefining name 'osdf_config' from outer scope (line 28) (redefined-outer-name) [INFO] osdf/adapters/policy/interface.py:153:4: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:163:8: C0103: Variable name "x" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:164:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise) [INFO] osdf/adapters/policy/interface.py:165:36: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:171:38: W0621: Redefining name 'osdf_config' from outer scope (line 28) (redefined-outer-name) [INFO] osdf/adapters/policy/interface.py:177:4: C0103: Variable name "lp" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:180:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:181:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:182:8: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] osdf/adapters/policy/interface.py:183:26: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:183:72: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:186:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:187:26: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:188:23: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:219:4: C0103: Variable name "requestId" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:224:52: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:228:4: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:233:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/adapters/policy/interface.py:233:27: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/interface.py:238:27: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/policy/interface.py:239:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] osdf/adapters/policy/interface.py:23:0: C0411: standard import "import uuid" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] ************* Module osdf.adapters.policy.utils [INFO] osdf/adapters/policy/utils.py:51:13: W0511: TODO: Check logic here... should policy appear only once across all groups? (fixme) [INFO] osdf/adapters/policy/utils.py:28:0: C0301: Line too long (102/100) (line-too-long) [INFO] osdf/adapters/policy/utils.py:40:0: C0301: Line too long (123/100) (line-too-long) [INFO] osdf/adapters/policy/utils.py:52:0: C0301: Line too long (120/100) (line-too-long) [INFO] osdf/adapters/policy/utils.py:60:0: C0301: Line too long (114/100) (line-too-long) [INFO] osdf/adapters/policy/utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/policy/utils.py:38:26: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] osdf/adapters/policy/utils.py:43:12: C0103: Variable name "y" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/utils.py:47:4: C0206: Consider iterating with .items() (consider-using-dict-items) [INFO] osdf/adapters/policy/utils.py:47:15: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary) [INFO] osdf/adapters/policy/utils.py:65:4: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/policy/utils.py:19:0: W0611: Unused import json (unused-import) [INFO] ************* Module osdf.adapters.dcae.des [INFO] osdf/adapters/dcae/des.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/dcae/des.py:25:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/adapters/dcae/des.py:41:4: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/dcae/des.py:46:4: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/dcae/des.py:47:8: W0707: Consider explicitly re-raising using the 'from' keyword (raise-missing-from) [INFO] osdf/adapters/dcae/des.py:47:27: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module osdf.adapters.dcae.message_router [INFO] osdf/adapters/dcae/message_router.py:35:0: C0301: Line too long (104/100) (line-too-long) [INFO] osdf/adapters/dcae/message_router.py:39:0: C0301: Line too long (113/100) (line-too-long) [INFO] osdf/adapters/dcae/message_router.py:40:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/dcae/message_router.py:41:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/dcae/message_router.py:58:0: C0301: Line too long (113/100) (line-too-long) [INFO] osdf/adapters/dcae/message_router.py:63:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/dcae/message_router.py:77:0: C0301: Line too long (102/100) (line-too-long) [INFO] osdf/adapters/dcae/message_router.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/dcae/message_router.py:26:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/adapters/dcae/message_router.py:26:0: R0205: Class 'MessageRouterClient' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] osdf/adapters/dcae/message_router.py:27:4: R0913: Too many arguments (6/5) (too-many-arguments) [INFO] osdf/adapters/dcae/message_router.py:67:19: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/adapters/dcae/message_router.py:71:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/dcae/message_router.py:75:19: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/adapters/dcae/message_router.py:79:4: R0913: Too many arguments (6/5) (too-many-arguments) [INFO] osdf/adapters/dcae/message_router.py:90:8: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/dcae/message_router.py:93:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] osdf/adapters/dcae/message_router.py:93:34: E1101: Instance of 'LookupDict' has no 'ok' member (no-member) [INFO] osdf/adapters/dcae/message_router.py:96:32: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/dcae/message_router.py:100:12: W0707: Consider explicitly re-raising using the 'from' keyword (raise-missing-from) [INFO] osdf/adapters/dcae/message_router.py:100:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/dcae/message_router.py:79:40: W0613: Unused argument 'inputjson' (unused-argument) [INFO] ************* Module osdf.adapters.conductor.api_builder [INFO] osdf/adapters/conductor/api_builder.py:37:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/adapters/conductor/api_builder.py:106:0: C0301: Line too long (112/100) (line-too-long) [INFO] osdf/adapters/conductor/api_builder.py:122:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/api_builder.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/conductor/api_builder.py:38:13: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] osdf/adapters/conductor/api_builder.py:52:0: R0913: Too many arguments (8/5) (too-many-arguments) [INFO] osdf/adapters/conductor/api_builder.py:52:0: R0914: Too many local variables (32/15) (too-many-locals) [INFO] osdf/adapters/conductor/api_builder.py:69:21: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) [INFO] osdf/adapters/conductor/api_builder.py:69:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/adapters/conductor/api_builder.py:70:4: C0103: Variable name "gp" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/api_builder.py:21:0: C0411: standard import "import json" should be placed before "from jinja2 import Template" (wrong-import-order) [INFO] ************* Module osdf.adapters.conductor.__init__ [INFO] osdf/adapters/conductor/__init__.py:17:0: C0304: Final newline missing (missing-final-newline) [INFO] ************* Module osdf.adapters.conductor.conductor [INFO] osdf/adapters/conductor/conductor.py:76:0: C0301: Line too long (105/100) (line-too-long) [INFO] osdf/adapters/conductor/conductor.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/conductor/conductor.py:30:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/conductor/conductor.py:30:0: R0913: Too many arguments (7/5) (too-many-arguments) [INFO] osdf/adapters/conductor/conductor.py:30:0: R0914: Too many local variables (32/15) (too-many-locals) [INFO] osdf/adapters/conductor/conductor.py:46:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/conductor/conductor.py:52:4: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/conductor.py:59:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/conductor/conductor.py:79:36: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/conductor/conductor.py:83:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/conductor/conductor.py:90:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/conductor.py:91:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/conductor/conductor.py:95:33: C0103: Argument name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/conductor.py:104:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/conductor/conductor.py:112:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/adapters/conductor/conductor.py:22:0: C0411: standard import "import time" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] ************* Module osdf.adapters.conductor.translation [INFO] osdf/adapters/conductor/translation.py:30:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:65:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:84:0: C0301: Line too long (112/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:87:0: C0301: Line too long (105/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:103:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:108:0: C0301: Line too long (102/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:112:0: C0301: Line too long (111/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:115:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:124:0: C0301: Line too long (112/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:133:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:134:0: C0301: Line too long (116/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:137:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:138:0: C0301: Line too long (112/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:144:0: C0301: Line too long (103/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:145:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:150:0: C0301: Line too long (104/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:154:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:168:0: C0301: Line too long (111/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:174:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:186:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:191:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:192:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:193:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:197:0: C0301: Line too long (103/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:206:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:208:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:219:0: C0301: Line too long (109/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:220:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:230:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:240:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:250:0: C0301: Line too long (105/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:258:0: C0301: Line too long (105/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:266:0: C0301: Line too long (102/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:277:0: C0301: Line too long (111/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:284:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:288:0: C0301: Line too long (113/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:312:0: C0301: Line too long (112/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:314:0: C0301: Line too long (115/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:316:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:317:0: C0301: Line too long (111/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:319:0: C0301: Line too long (105/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:321:0: C0301: Line too long (118/100) (line-too-long) [INFO] osdf/adapters/conductor/translation.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/adapters/conductor/translation.py:26:39: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) [INFO] osdf/adapters/conductor/translation.py:26:39: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/adapters/conductor/translation.py:53:16: C0103: Variable name "queryProp" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/translation.py:61:0: R0914: Too many local variables (16/15) (too-many-locals) [INFO] osdf/adapters/conductor/translation.py:85:12: W0612: Unused variable 'default' (unused-variable) [INFO] osdf/adapters/conductor/translation.py:107:14: R1719: The if expression can be replaced with 'test' (simplifiable-if-expression) [INFO] osdf/adapters/conductor/translation.py:132:8: C0103: Variable name "pc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/translation.py:142:20: C0103: Variable name "d" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/translation.py:143:40: R1719: The if expression can be replaced with 'test' (simplifiable-if-expression) [INFO] osdf/adapters/conductor/translation.py:146:20: R1724: Unnecessary "else" after "continue", remove the "else" and de-indent the code inside it (no-else-continue) [INFO] osdf/adapters/conductor/translation.py:158:24: W4701: Iterated list 'related_policies' is being modified inside for loop body, consider iterating through a copy of it instead. (modified-iterating-list) [INFO] osdf/adapters/conductor/translation.py:156:20: C0103: Variable name "pc" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/translation.py:246:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/conductor/translation.py:254:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/conductor/translation.py:274:11: C0103: Variable name "v" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/adapters/conductor/translation.py:284:25: R1718: Consider using a set comprehension (consider-using-set-comprehension) [INFO] osdf/adapters/conductor/translation.py:285:8: R1724: Unnecessary "elif" after "continue", remove the leading "el" from "elif" (no-else-continue) [INFO] osdf/adapters/conductor/translation.py:307:39: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] osdf/adapters/conductor/translation.py:328:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/conductor/translation.py:330:31: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] osdf/adapters/conductor/translation.py:371:21: W0622: Redefining built-in 'property' (redefined-builtin) [INFO] osdf/adapters/conductor/translation.py:371:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/adapters/conductor/translation.py:372:39: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] osdf/adapters/conductor/translation.py:374:15: C0103: Variable name "v" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module osdf.utils.data_types [INFO] osdf/utils/data_types.py:30:0: C0305: Trailing newlines (trailing-newlines) [INFO] osdf/utils/data_types.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] ************* Module osdf.utils.interfaces [INFO] osdf/utils/interfaces.py:30:0: C0301: Line too long (112/100) (line-too-long) [INFO] osdf/utils/interfaces.py:58:0: C0301: Line too long (101/100) (line-too-long) [INFO] osdf/utils/interfaces.py:81:0: C0301: Line too long (111/100) (line-too-long) [INFO] osdf/utils/interfaces.py:89:0: C0301: Line too long (105/100) (line-too-long) [INFO] osdf/utils/interfaces.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/utils/interfaces.py:45:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/utils/interfaces.py:51:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/utils/interfaces.py:55:0: R0205: Class 'RestClient' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] osdf/utils/interfaces.py:55:0: R0902: Too many instance attributes (8/7) (too-many-instance-attributes) [INFO] osdf/utils/interfaces.py:58:4: R0913: Too many arguments (10/5) (too-many-arguments) [INFO] osdf/utils/interfaces.py:69:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/utils/interfaces.py:72:4: R0913: Too many arguments (8/5) (too-many-arguments) [INFO] osdf/utils/interfaces.py:87:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/utils/interfaces.py:89:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/utils/interfaces.py:109:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) [INFO] ************* Module osdf.utils.cipherUtils [INFO] osdf/utils/cipherUtils.py:1:0: C0103: Module name "cipherUtils" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/utils/cipherUtils.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/utils/cipherUtils.py:41:8: C0103: Attribute name "bs" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/utils/cipherUtils.py:25:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/utils/cipherUtils.py:25:0: R0205: Class 'AESCipher' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] osdf/utils/cipherUtils.py:29:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/utils/cipherUtils.py:36:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise) [INFO] osdf/utils/cipherUtils.py:47:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/utils/cipherUtils.py:54:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/utils/cipherUtils.py:55:8: C0103: Variable name "iv" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/utils/cipherUtils.py:21:0: C0411: third party import "from Crypto.Util.Padding import unpad" should be placed before "from osdf.config.base import osdf_config" (wrong-import-order) [INFO] osdf/utils/cipherUtils.py:22:0: C0411: third party import "from Crypto.Util.Padding import pad" should be placed before "from osdf.config.base import osdf_config" (wrong-import-order) [INFO] osdf/utils/cipherUtils.py:21:0: C0412: Imports from package Crypto are not grouped (ungrouped-imports) [INFO] ************* Module osdf.utils.data_conversion [INFO] osdf/utils/data_conversion.py:31:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/utils/data_conversion.py:45:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/utils/data_conversion.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/utils/data_conversion.py:34:8: C0103: Variable name "x" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module osdf.utils.file_utils [INFO] osdf/utils/file_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/utils/file_utils.py:27:23: C0103: Argument name "p" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/utils/file_utils.py:27:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/utils/file_utils.py:30:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module osdf.utils.api_data_utils [INFO] osdf/utils/api_data_utils.py:26:35: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:29:29: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:31:75: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:33:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:38:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:39:0: C0301: Line too long (137/100) (line-too-long) [INFO] osdf/utils/api_data_utils.py:40:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/utils/api_data_utils.py:41:0: C0301: Line too long (156/100) (line-too-long) [INFO] osdf/utils/api_data_utils.py:42:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/utils/api_data_utils.py:47:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:48:0: C0301: Line too long (178/100) (line-too-long) [INFO] osdf/utils/api_data_utils.py:49:0: C0301: Line too long (107/100) (line-too-long) [INFO] osdf/utils/api_data_utils.py:50:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:57:0: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:58:28: C0303: Trailing whitespace (trailing-whitespace) [INFO] osdf/utils/api_data_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/utils/api_data_utils.py:24:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/utils/api_data_utils.py:39:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/utils/api_data_utils.py:41:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/utils/api_data_utils.py:48:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module osdf.utils.programming_utils [INFO] osdf/utils/programming_utils.py:25:0: C0301: Line too long (104/100) (line-too-long) [INFO] osdf/utils/programming_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/utils/programming_utils.py:51:4: C0103: Variable name "T" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/utils/programming_utils.py:72:4: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) [INFO] osdf/utils/programming_utils.py:80:17: C0103: Argument name "l" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/utils/programming_utils.py:98:11: C0103: Variable name "v" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module osdf.utils.mdc_utils [INFO] osdf/utils/mdc_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/utils/mdc_utils.py:40:15: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/utils/mdc_utils.py:43:19: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/utils/mdc_utils.py:49:15: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/utils/mdc_utils.py:144:4: C0103: Variable name "ct" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/utils/mdc_utils.py:145:4: C0103: Variable name "lt" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module osdf.config.__init__ [INFO] osdf/config/__init__.py:32:0: C0305: Trailing newlines (trailing-newlines) [INFO] ************* Module osdf.config [INFO] osdf/config/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/config/__init__.py:25:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/config/__init__.py:28:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/config/__init__.py:30:46: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) [INFO] osdf/config/__init__.py:30:46: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/config/__init__.py:25:0: R0903: Too few public methods (1/2) (too-few-public-methods) [INFO] osdf/config/__init__.py:20:0: C0411: standard import "import json" should be placed before "import yaml" (wrong-import-order) [INFO] ************* Module osdf.config.loader [INFO] osdf/config/loader.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/config/loader.py:31:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/config/loader.py:40:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] ************* Module osdf.config.consulconfig [INFO] osdf/config/consulconfig.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/config/consulconfig.py:9:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/config/consulconfig.py:9:0: R0205: Class 'Config' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] osdf/config/consulconfig.py:21:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/config/consulconfig.py:30:19: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/config/consulconfig.py:30:12: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/config/consulconfig.py:31:32: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/config/consulconfig.py:33:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/config/consulconfig.py:39:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/config/consulconfig.py:43:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/config/consulconfig.py:3:0: C0411: standard import "import json" should be placed before "from consul.base import Timeout" (wrong-import-order) [INFO] osdf/config/consulconfig.py:5:0: C0411: third party import "from tornado.gen import coroutine" should be placed before "from osdf.logging.osdf_logging import debug_log" (wrong-import-order) [INFO] osdf/config/consulconfig.py:6:0: C0411: third party import "from tornado.ioloop import IOLoop" should be placed before "from osdf.logging.osdf_logging import debug_log" (wrong-import-order) [INFO] ************* Module osdf.config.base [INFO] osdf/config/base.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/config/base.py:32:0: C0103: Constant name "slicing_spec" doesn't conform to UPPER_CASE naming style (invalid-name) [INFO] osdf/config/base.py:25:0: C0411: standard import "from threading import Thread" should be placed before "from osdf.config.consulconfig import call_consul_kv" (wrong-import-order) [INFO] ************* Module osdf.config.credentials [INFO] osdf/config/credentials.py:43:0: C0301: Line too long (104/100) (line-too-long) [INFO] osdf/config/credentials.py:49:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/config/credentials.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/config/credentials.py:27:8: W0621: Redefining name 'dmaap_creds' from outer scope (line 24) (redefined-outer-name) [INFO] osdf/config/credentials.py:28:4: W0702: No exception type(s) specified (bare-except) [INFO] osdf/config/credentials.py:35:24: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) [INFO] osdf/config/credentials.py:35:24: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/config/credentials.py:41:23: C0103: Argument name "x" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/config/credentials.py:50:21: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] osdf/config/credentials.py:56:12: C0103: Variable name "x" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module osdf.logging [INFO] osdf/logging/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] ************* Module osdf.logging.oof_mdc_formatter [INFO] osdf/logging/oof_mdc_formatter.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/logging/oof_mdc_formatter.py:30:4: R0913: Too many arguments (6/5) (too-many-arguments) [INFO] osdf/logging/oof_mdc_formatter.py:51:15: R1725: Consider using Python 3 style super() without arguments (super-with-arguments) [INFO] ************* Module osdf.logging.monkey [INFO] osdf/logging/monkey.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] ************* Module osdf.logging.oof_mdc_context [INFO] osdf/logging/oof_mdc_context.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/logging/oof_mdc_context.py:33:0: C0103: Function name "findCaller" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/logging/oof_mdc_context.py:33:15: W0613: Unused argument 'self' (unused-argument) [INFO] osdf/logging/oof_mdc_context.py:33:39: W0613: Unused argument 'stacklevel' (unused-argument) [INFO] osdf/logging/oof_mdc_context.py:55:8: W0212: Access to a protected member _log of a client class (protected-access) [INFO] osdf/logging/oof_mdc_context.py:67:8: W0212: Access to a protected member _log of a client class (protected-access) [INFO] osdf/logging/oof_mdc_context.py:79:8: W0212: Access to a protected member _log of a client class (protected-access) [INFO] osdf/logging/oof_mdc_context.py:103:8: W0212: Access to a protected member _log of a client class (protected-access) [INFO] osdf/logging/oof_mdc_context.py:118:8: W0212: Access to a protected member _log of a client class (protected-access) [INFO] osdf/logging/oof_mdc_context.py:130:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise) [INFO] osdf/logging/oof_mdc_context.py:136:8: W0212: Access to a protected member _log of a client class (protected-access) [INFO] ************* Module osdf.logging.osdf_logging [INFO] osdf/logging/osdf_logging.py:64:0: C0301: Line too long (112/100) (line-too-long) [INFO] osdf/logging/osdf_logging.py:70:0: C0301: Line too long (116/100) (line-too-long) [INFO] osdf/logging/osdf_logging.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] osdf/logging/osdf_logging.py:44:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/logging/osdf_logging.py:45:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] osdf/logging/osdf_logging.py:48:8: C0103: Variable name "a" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/logging/osdf_logging.py:53:0: R0903: Too few public methods (1/2) (too-few-public-methods) [INFO] osdf/logging/osdf_logging.py:83:0: C0115: Missing class docstring (missing-class-docstring) [INFO] osdf/logging/osdf_logging.py:83:0: R0205: Class 'OOFOSDFLogMessageFormatter' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] osdf/logging/osdf_logging.py:90:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:98:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:106:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:114:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:122:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:130:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:137:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:145:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:152:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:159:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:167:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:175:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:183:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:191:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:198:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:206:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:214:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:221:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:228:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:236:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:244:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:252:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:260:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:268:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:276:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:284:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:292:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:299:15: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/logging/osdf_logging.py:83:0: R0904: Too many public methods (28/20) (too-many-public-methods) [INFO] ************* Module osdf.apps.__init__ [INFO] osdf/apps/__init__.py:2:0: C0304: Final newline missing (missing-final-newline) [INFO] ************* Module osdf.apps [INFO] osdf/apps/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] ************* Module osdf.apps.baseapp [INFO] osdf/apps/baseapp.py:75:0: C0301: Line too long (122/100) (line-too-long) [INFO] osdf/apps/baseapp.py:78:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/apps/baseapp.py:87:0: C0301: Line too long (103/100) (line-too-long) [INFO] osdf/apps/baseapp.py:90:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/apps/baseapp.py:135:0: C0301: Line too long (103/100) (line-too-long) [INFO] osdf/apps/baseapp.py:167:0: C0301: Line too long (106/100) (line-too-long) [INFO] osdf/apps/baseapp.py:178:0: C0301: Line too long (111/100) (line-too-long) [INFO] osdf/apps/baseapp.py:179:0: C0301: Line too long (108/100) (line-too-long) [INFO] osdf/apps/baseapp.py:180:0: C0301: Line too long (113/100) (line-too-long) [INFO] osdf/apps/baseapp.py:196:0: C0301: Line too long (102/100) (line-too-long) [INFO] osdf/apps/baseapp.py:24:0: W0402: Uses of a deprecated module 'optparse' (deprecated-module) [INFO] osdf/apps/baseapp.py:38:0: R0402: Use 'from osdf.adapters.aaf import sms' instead (consider-using-from-import) [INFO] osdf/apps/baseapp.py:61:30: C0103: Argument name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/apps/baseapp.py:65:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:74:29: C0103: Argument name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/apps/baseapp.py:78:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:86:22: C0103: Argument name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] osdf/apps/baseapp.py:90:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:107:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:119:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:124:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:129:11: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/apps/baseapp.py:133:15: W0703: Catching too general exception Exception (broad-except) [INFO] osdf/apps/baseapp.py:135:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:138:26: W0621: Redefining name 'request' from outer scope (line 32) (redefined-outer-name) [INFO] osdf/apps/baseapp.py:138:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:147:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:154:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:167:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:163:21: W0613: Unused argument 'error' (unused-argument) [INFO] osdf/apps/baseapp.py:173:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:174:29: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:174:43: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:189:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] osdf/apps/baseapp.py:186:10: W0612: Unused variable 'args' (unused-variable) [INFO] osdf/apps/baseapp.py:194:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:201:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] osdf/apps/baseapp.py:202:4: W0601: Global variable 'sys_conf' undefined at the module level (global-variable-undefined) [INFO] osdf/apps/baseapp.py:202:4: C0103: Constant name "sys_conf" doesn't conform to UPPER_CASE naming style (invalid-name) [INFO] ************* Module apps.nst.optimizers.nst_select_processor [INFO] apps/nst/optimizers/nst_select_processor.py:49:0: C0301: Line too long (116/100) (line-too-long) [INFO] apps/nst/optimizers/nst_select_processor.py:71:0: C0301: Line too long (101/100) (line-too-long) [INFO] apps/nst/optimizers/nst_select_processor.py:36:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/nst/optimizers/nst_select_processor.py:58:15: W0703: Catching too general exception Exception (broad-except) [INFO] apps/nst/optimizers/nst_select_processor.py:59:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nst/optimizers/nst_select_processor.py:67:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nst/optimizers/nst_select_processor.py:105:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nst/optimizers/nst_select_processor.py:108:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nst/optimizers/nst_select_processor.py:111:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nst/optimizers/nst_select_processor.py:126:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/nst/optimizers/nst_select_processor.py:131:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nst/optimizers/nst_select_processor.py:133:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nst/optimizers/nst_select_processor.py:149:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nst/optimizers/nst_select_processor.py:149:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/nst/optimizers/nst_select_processor.py:149:4: R0201: Method could be a function (no-self-use) [INFO] apps/nst/optimizers/nst_select_processor.py:27:0: C0411: third party import "from requests import RequestException" should be placed before "from osdf.adapters.conductor import conductor" (wrong-import-order) [INFO] apps/nst/optimizers/nst_select_processor.py:28:0: C0411: standard import "from threading import Thread" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] apps/nst/optimizers/nst_select_processor.py:29:0: C0411: standard import "import traceback" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] ************* Module apps.nsst.optimizers.nsst_select_processor [INFO] apps/nsst/optimizers/nsst_select_processor.py:49:0: C0301: Line too long (116/100) (line-too-long) [INFO] apps/nsst/optimizers/nsst_select_processor.py:71:0: C0301: Line too long (101/100) (line-too-long) [INFO] apps/nsst/optimizers/nsst_select_processor.py:36:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/nsst/optimizers/nsst_select_processor.py:58:15: W0703: Catching too general exception Exception (broad-except) [INFO] apps/nsst/optimizers/nsst_select_processor.py:59:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nsst/optimizers/nsst_select_processor.py:67:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nsst/optimizers/nsst_select_processor.py:105:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nsst/optimizers/nsst_select_processor.py:108:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nsst/optimizers/nsst_select_processor.py:111:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nsst/optimizers/nsst_select_processor.py:126:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/nsst/optimizers/nsst_select_processor.py:131:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nsst/optimizers/nsst_select_processor.py:133:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nsst/optimizers/nsst_select_processor.py:149:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nsst/optimizers/nsst_select_processor.py:149:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/nsst/optimizers/nsst_select_processor.py:149:4: R0201: Method could be a function (no-self-use) [INFO] apps/nsst/optimizers/nsst_select_processor.py:27:0: C0411: third party import "from requests import RequestException" should be placed before "from osdf.adapters.conductor import conductor" (wrong-import-order) [INFO] apps/nsst/optimizers/nsst_select_processor.py:28:0: C0411: standard import "from threading import Thread" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] apps/nsst/optimizers/nsst_select_processor.py:29:0: C0411: standard import "import traceback" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] ************* Module apps.slice_selection.optimizers.conductor.remote_opt_processor [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:71:0: C0301: Line too long (110/100) (line-too-long) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:72:0: C0301: Line too long (111/100) (line-too-long) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:110:0: C0301: Line too long (110/100) (line-too-long) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:131:0: C0301: Line too long (113/100) (line-too-long) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:36:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:51:8: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:62:15: W0703: Catching too general exception Exception (broad-except) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:63:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:71:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:74:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:98:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:103:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:106:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:112:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:125:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:133:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:24:0: C0411: standard import "from threading import Thread" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] apps/slice_selection/optimizers/conductor/remote_opt_processor.py:25:0: C0411: standard import "import traceback" should be placed before "from requests import RequestException" (wrong-import-order) [INFO] ************* Module apps.slice_selection.optimizers.conductor.response_processor [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:43:0: C0301: Line too long (116/100) (line-too-long) [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:26:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:26:0: R0205: Class 'ResponseProcessor' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:47:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:48:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:47:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:74:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/slice_selection/optimizers/conductor/response_processor.py:83:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] ************* Module apps.nxi_termination.optimizers.remote_opt_processor [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:52:0: C0301: Line too long (110/100) (line-too-long) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:57:0: C0301: Line too long (117/100) (line-too-long) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:70:0: C0301: Line too long (103/100) (line-too-long) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:72:0: C0301: Line too long (106/100) (line-too-long) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:99:0: C0301: Line too long (114/100) (line-too-long) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:68:20: W0622: Redefining built-in 'property' (redefined-builtin) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:28:0: R0914: Too many local variables (17/15) (too-many-locals) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:82:11: W0703: Catching too general exception Exception (broad-except) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:50:16: R1724: Unnecessary "elif" after "continue", remove the leading "el" from "elif" (no-else-continue) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:57:46: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:65:32: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:78:4: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:82:4: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:83:17: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:28:0: R0912: Too many branches (14/12) (too-many-branches) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:87:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:88:10: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:95:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:98:20: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/nxi_termination/optimizers/remote_opt_processor.py:104:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] ************* Module apps.nxi_termination.optimizers.response_processor [INFO] apps/nxi_termination/optimizers/response_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] ************* Module apps.placement.optimizers.conductor.remote_opt_processor [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:49:0: C0301: Line too long (109/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:56:0: C0301: Line too long (102/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:64:0: C0301: Line too long (106/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:66:0: C0301: Line too long (111/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:71:0: C0301: Line too long (102/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:73:0: C0301: Line too long (107/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:103:0: C0301: Line too long (106/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:104:0: C0301: Line too long (111/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:109:0: C0301: Line too long (102/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:111:0: C0301: Line too long (103/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:115:0: C0301: Line too long (102/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:147:0: C0301: Line too long (106/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:171:0: C0301: Line too long (119/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:178:0: C0301: Line too long (115/100) (line-too-long) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:52:12: C0103: Variable name "c" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:66:40: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:73:36: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:108:21: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:108:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:114:0: R0914: Too many local variables (16/15) (too-many-locals) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:163:11: W0703: Catching too general exception Exception (broad-except) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:127:8: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:164:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:169:12: E0601: Using variable 'rc' before assignment (used-before-assignment) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:171:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:178:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:21:0: C0411: standard import "import json" should be placed before "from jinja2 import Template" (wrong-import-order) [INFO] apps/placement/optimizers/conductor/remote_opt_processor.py:23:0: C0411: standard import "import traceback" should be placed before "from jinja2 import Template" (wrong-import-order) [INFO] ************* Module apps.placement.models.api.placementRequest [INFO] apps/placement/models/api/placementRequest.py:105:0: C0304: Final newline missing (missing-final-newline) [INFO] apps/placement/models/api/placementRequest.py:1:0: C0103: Module name "placementRequest" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/placement/models/api/placementRequest.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/placement/models/api/placementRequest.py:54:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementRequest.py:59:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementRequest.py:66:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementRequest.py:70:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementRequest.py:80:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementRequest.py:20:0: W0611: Unused BooleanType imported from schematics.types (unused-import) [INFO] apps/placement/models/api/placementRequest.py:20:0: C0411: third party import "from schematics.types import BaseType, StringType, URLType, IntType, BooleanType" should be placed before "from osdf.models.api.common import OSDFModel" (wrong-import-order) [INFO] apps/placement/models/api/placementRequest.py:21:0: C0411: third party import "from schematics.types.compound import ModelType, ListType, DictType" should be placed before "from osdf.models.api.common import OSDFModel" (wrong-import-order) [INFO] ************* Module apps.placement.models.api.placementResponse [INFO] apps/placement/models/api/placementResponse.py:24:1: W0511: TODO: update osdf.models (fixme) [INFO] apps/placement/models/api/placementResponse.py:1:0: C0103: Module name "placementResponse" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/placement/models/api/placementResponse.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/placement/models/api/placementResponse.py:26:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementResponse.py:42:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementResponse.py:47:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementResponse.py:54:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementResponse.py:59:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/placement/models/api/placementResponse.py:21:0: W0611: Unused DictType imported from schematics.types.compound (unused-import) [INFO] apps/placement/models/api/placementResponse.py:20:0: C0411: third party import "from schematics.types import BaseType, StringType" should be placed before "from osdf.models.api.common import OSDFModel" (wrong-import-order) [INFO] apps/placement/models/api/placementResponse.py:21:0: C0411: third party import "from schematics.types.compound import ModelType, ListType, DictType" should be placed before "from osdf.models.api.common import OSDFModel" (wrong-import-order) [INFO] ************* Module apps.route.optimizers.inter_domain_route_opt [INFO] apps/route/optimizers/inter_domain_route_opt.py:250:0: C0301: Line too long (139/100) (line-too-long) [INFO] apps/route/optimizers/inter_domain_route_opt.py:367:0: C0301: Line too long (147/100) (line-too-long) [INFO] apps/route/optimizers/inter_domain_route_opt.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/route/optimizers/inter_domain_route_opt.py:48:4: R0914: Too many local variables (16/15) (too-many-locals) [INFO] apps/route/optimizers/inter_domain_route_opt.py:82:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/inter_domain_route_opt.py:115:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/inter_domain_route_opt.py:206:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/inter_domain_route_opt.py:238:4: R0914: Too many local variables (26/15) (too-many-locals) [INFO] apps/route/optimizers/inter_domain_route_opt.py:261:8: C0103: Variable name "le" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/inter_domain_route_opt.py:258:12: W0612: Unused variable 'k' (unused-variable) [INFO] apps/route/optimizers/inter_domain_route_opt.py:291:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/route/optimizers/inter_domain_route_opt.py:307:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/route/optimizers/inter_domain_route_opt.py:331:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/route/optimizers/inter_domain_route_opt.py:354:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/route/optimizers/inter_domain_route_opt.py:27:0: C0411: third party import "import pymzn" should be placed before "from osdf.logging.osdf_logging import audit_log" (wrong-import-order) [INFO] apps/route/optimizers/inter_domain_route_opt.py:28:0: C0411: third party import "from sklearn import preprocessing" should be placed before "from osdf.logging.osdf_logging import audit_log" (wrong-import-order) [INFO] ************* Module apps.route.optimizers.simple_route_opt [INFO] apps/route/optimizers/simple_route_opt.py:38:5: W0511: TODO: read the port from the configuration and add to DNS (fixme) [INFO] apps/route/optimizers/simple_route_opt.py:34:38: C0303: Trailing whitespace (trailing-whitespace) [INFO] apps/route/optimizers/simple_route_opt.py:35:36: C0303: Trailing whitespace (trailing-whitespace) [INFO] apps/route/optimizers/simple_route_opt.py:37:43: C0303: Trailing whitespace (trailing-whitespace) [INFO] apps/route/optimizers/simple_route_opt.py:68:0: C0301: Line too long (118/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:69:0: C0301: Line too long (105/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:84:0: C0301: Line too long (102/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:144:0: C0301: Line too long (102/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:236:0: C0301: Line too long (147/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:237:0: C0301: Line too long (123/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:240:0: C0301: Line too long (115/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:264:0: C0301: Line too long (115/100) (line-too-long) [INFO] apps/route/optimizers/simple_route_opt.py:266:0: C0304: Final newline missing (missing-final-newline) [INFO] apps/route/optimizers/simple_route_opt.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:46:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/simple_route_opt.py:57:73: C0103: Argument name "mappingTable" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:57:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:64:8: C0103: Variable name "listOfLinks" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:57:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/simple_route_opt.py:76:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:76:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/simple_route_opt.py:79:82: C0103: Argument name "mappingTable" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:79:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:79:4: R0913: Too many arguments (6/5) (too-many-arguments) [INFO] apps/route/optimizers/simple_route_opt.py:89:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:91:8: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] apps/route/optimizers/simple_route_opt.py:93:23: C0103: Variable name "eachItem" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:89:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/simple_route_opt.py:104:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:107:8: C0103: Variable name "parseTemplate" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:109:12: C0103: Variable name "eachItem" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:115:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:115:4: R0914: Too many local variables (30/15) (too-many-locals) [INFO] apps/route/optimizers/simple_route_opt.py:116:8: C0103: Variable name "Edge_Start" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:117:8: C0103: Variable name "Edge_End" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:125:8: C0103: Variable name "mappingTable" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:141:24: C0103: Variable name "relationshipStartNode" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:144:24: C0103: Variable name "relationshipStartNodeID" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:149:24: C0103: Variable name "relationshipEndtNode" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:150:24: C0103: Variable name "relationshipEndNodeID" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:161:8: C0103: Variable name "le" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:166:8: C0200: Consider using enumerate instead of iterating with range and len (consider-using-enumerate) [INFO] apps/route/optimizers/simple_route_opt.py:171:8: C0200: Consider using enumerate instead of iterating with range and len (consider-using-enumerate) [INFO] apps/route/optimizers/simple_route_opt.py:179:12: W0612: Unused variable 'k' (unused-variable) [INFO] apps/route/optimizers/simple_route_opt.py:115:4: R0915: Too many statements (70/50) (too-many-statements) [INFO] apps/route/optimizers/simple_route_opt.py:217:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/route/optimizers/simple_route_opt.py:218:8: C0103: Variable name "nodeSet" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:219:8: C0200: Consider using enumerate instead of iterating with range and len (consider-using-enumerate) [INFO] apps/route/optimizers/simple_route_opt.py:217:4: R0201: Method could be a function (no-self-use) [INFO] apps/route/optimizers/simple_route_opt.py:231:12: C0103: Variable name "routeInfo" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:232:12: C0103: Variable name "routeRequest" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:236:60: C0103: Variable name "mappingTable" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:240:12: C0103: Variable name "routeSolutions" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/route/optimizers/simple_route_opt.py:253:4: R1710: Either all return statements in a function should return an expression, or none of them should. (inconsistent-return-statements) [INFO] apps/route/optimizers/simple_route_opt.py:20:0: W0611: Unused import json (unused-import) [INFO] apps/route/optimizers/simple_route_opt.py:23:0: W0611: Unused mdc_from_json imported from osdf.utils.mdc_utils (unused-import) [INFO] apps/route/optimizers/simple_route_opt.py:24:0: W0611: Unused MH imported from osdf.logging.osdf_logging (unused-import) [INFO] apps/route/optimizers/simple_route_opt.py:24:0: W0611: Unused error_log imported from osdf.logging.osdf_logging (unused-import) [INFO] apps/route/optimizers/simple_route_opt.py:24:0: W0611: Unused debug_log imported from osdf.logging.osdf_logging (unused-import) [INFO] apps/route/optimizers/simple_route_opt.py:20:0: C0411: standard import "import json" should be placed before "import requests" (wrong-import-order) [INFO] apps/route/optimizers/simple_route_opt.py:25:0: C0411: third party import "import pymzn" should be placed before "from osdf.utils.mdc_utils import mdc_from_json" (wrong-import-order) [INFO] apps/route/optimizers/simple_route_opt.py:26:0: C0411: third party import "from sklearn import preprocessing" should be placed before "from osdf.utils.mdc_utils import mdc_from_json" (wrong-import-order) [INFO] apps/route/optimizers/simple_route_opt.py:28:0: C0411: standard import "import os" should be placed before "import requests" (wrong-import-order) [INFO] ************* Module apps.pci.optimizers [INFO] apps/pci/optimizers/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] ************* Module apps.pci.optimizers.config_request [INFO] apps/pci/optimizers/config_request.py:23:0: C0301: Line too long (104/100) (line-too-long) [INFO] apps/pci/optimizers/config_request.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/config_request.py:22:37: W0613: Unused argument 'flat_policies' (unused-argument) [INFO] ************* Module apps.pci.optimizers.pci_opt_processor [INFO] apps/pci/optimizers/pci_opt_processor.py:36:0: C0301: Line too long (111/100) (line-too-long) [INFO] apps/pci/optimizers/pci_opt_processor.py:42:0: C0301: Line too long (112/100) (line-too-long) [INFO] apps/pci/optimizers/pci_opt_processor.py:66:0: C0301: Line too long (119/100) (line-too-long) [INFO] apps/pci/optimizers/pci_opt_processor.py:74:0: C0301: Line too long (115/100) (line-too-long) [INFO] apps/pci/optimizers/pci_opt_processor.py:78:0: C0301: Line too long (111/100) (line-too-long) [INFO] apps/pci/optimizers/pci_opt_processor.py:104:0: C0301: Line too long (101/100) (line-too-long) [INFO] apps/pci/optimizers/pci_opt_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/pci_opt_processor.py:38:-1: W0105: String statement has no effect (pointless-string-statement) [INFO] apps/pci/optimizers/pci_opt_processor.py:51:8: C0103: Variable name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/pci_opt_processor.py:58:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/pci_opt_processor.py:63:12: E0601: Using variable 'rc' before assignment (used-before-assignment) [INFO] apps/pci/optimizers/pci_opt_processor.py:66:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/pci_opt_processor.py:71:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/pci_opt_processor.py:74:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/pci_opt_processor.py:77:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/pci_opt_processor.py:92:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/pci_opt_processor.py:99:8: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] apps/pci/optimizers/pci_opt_processor.py:106:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/pci_opt_processor.py:111:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/pci_opt_processor.py:113:11: C0103: Variable name "v" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/pci_opt_processor.py:124:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/pci_opt_processor.py:126:11: C0103: Variable name "v" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module apps.pci.optimizers.solver.optimizer [INFO] apps/pci/optimizers/solver/optimizer.py:39:0: C0301: Line too long (101/100) (line-too-long) [INFO] apps/pci/optimizers/solver/optimizer.py:45:0: C0301: Line too long (108/100) (line-too-long) [INFO] apps/pci/optimizers/solver/optimizer.py:97:0: C0301: Line too long (112/100) (line-too-long) [INFO] apps/pci/optimizers/solver/optimizer.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:31:18: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] apps/pci/optimizers/solver/optimizer.py:32:18: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] apps/pci/optimizers/solver/optimizer.py:35:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:36:4: W0603: Using the global statement (global-statement) [INFO] apps/pci/optimizers/solver/optimizer.py:36:4: C0103: Constant name "cell_id_mapping" doesn't conform to UPPER_CASE naming style (invalid-name) [INFO] apps/pci/optimizers/solver/optimizer.py:36:4: C0103: Constant name "id_cell_mapping" doesn't conform to UPPER_CASE naming style (invalid-name) [INFO] apps/pci/optimizers/solver/optimizer.py:55:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:62:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:63:20: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] apps/pci/optimizers/solver/optimizer.py:71:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:79:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:97:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:97:0: R0913: Too many arguments (7/5) (too-many-arguments) [INFO] apps/pci/optimizers/solver/optimizer.py:115:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:123:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:127:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:129:8: C0103: Variable name "s" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/solver/optimizer.py:134:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:138:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:145:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:153:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:163:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/optimizer.py:170:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] ************* Module apps.pci.optimizers.solver.ml_model [INFO] apps/pci/optimizers/solver/ml_model.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/solver/ml_model.py:28:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/pci/optimizers/solver/ml_model.py:28:0: R0205: Class 'MlModel' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] apps/pci/optimizers/solver/ml_model.py:40:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/ml_model.py:54:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/ml_model.py:60:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/solver/ml_model.py:61:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/solver/ml_model.py:69:12: C0103: Variable name "ho" doesn't conform to snake_case naming style (invalid-name) [INFO] ************* Module apps.pci.optimizers.solver.pci_utils [INFO] apps/pci/optimizers/solver/pci_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/solver/pci_utils.py:19:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/pci_utils.py:20:21: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] apps/pci/optimizers/solver/pci_utils.py:21:22: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] apps/pci/optimizers/solver/pci_utils.py:27:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/pci_utils.py:34:35: W0622: Redefining built-in 'id' (redefined-builtin) [INFO] apps/pci/optimizers/solver/pci_utils.py:34:35: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/solver/pci_utils.py:34:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/solver/pci_utils.py:41:37: W0622: Redefining built-in 'id' (redefined-builtin) [INFO] apps/pci/optimizers/solver/pci_utils.py:41:37: C0103: Argument name "id" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/solver/pci_utils.py:41:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] ************* Module apps.pci.optimizers.config.configdb [INFO] apps/pci/optimizers/config/configdb.py:35:0: C0301: Line too long (112/100) (line-too-long) [INFO] apps/pci/optimizers/config/configdb.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/config/configdb.py:35:8: C0103: Attribute name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/config/configdb.py:29:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/pci/optimizers/config/configdb.py:37:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/config/configdb.py:38:8: C0103: Variable name "ts" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/config/configdb.py:39:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/config/configdb.py:43:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/config/configdb.py:44:8: C0103: Variable name "ts" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/config/configdb.py:45:23: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/config/configdb.py:49:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/config/configdb.py:43:27: W0613: Unused argument 'network_id' (unused-argument) [INFO] ************* Module apps.pci.optimizers.config.cps [INFO] apps/pci/optimizers/config/cps.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/config/cps.py:37:8: C0103: Attribute name "rc" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/optimizers/config/cps.py:28:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/pci/optimizers/config/cps.py:40:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/config/cps.py:41:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/config/cps.py:48:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/config/cps.py:51:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/config/cps.py:52:23: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/config/cps.py:60:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] apps/pci/optimizers/config/cps.py:70:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module apps.pci.optimizers.config.config_client [INFO] apps/pci/optimizers/config/config_client.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/optimizers/config/config_client.py:20:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/pci/optimizers/config/config_client.py:20:0: R0205: Class 'ConfigClient' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) [INFO] apps/pci/optimizers/config/config_client.py:25:31: W0622: Redefining built-in 'type' (redefined-builtin) [INFO] apps/pci/optimizers/config/config_client.py:25:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/config/config_client.py:33:20: W0622: Redefining built-in 'type' (redefined-builtin) [INFO] apps/pci/optimizers/config/config_client.py:33:4: C0116: Missing function or method docstring (missing-function-docstring) [INFO] apps/pci/optimizers/config/config_client.py:35:29: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module apps.pci.models.api.pciOptimizationResponse [INFO] apps/pci/models/api/pciOptimizationResponse.py:1:0: C0103: Module name "pciOptimizationResponse" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/models/api/pciOptimizationResponse.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/models/api/pciOptimizationResponse.py:25:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/pci/models/api/pciOptimizationResponse.py:30:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/pci/models/api/pciOptimizationResponse.py:35:0: C0115: Missing class docstring (missing-class-docstring) [INFO] apps/pci/models/api/pciOptimizationResponse.py:41:0: C0115: Missing class docstring (missing-class-docstring) [INFO] ************* Module apps.pci.models.api.pciOptimizationRequest [INFO] apps/pci/models/api/pciOptimizationRequest.py:1:0: C0103: Module name "pciOptimizationRequest" doesn't conform to snake_case naming style (invalid-name) [INFO] apps/pci/models/api/pciOptimizationRequest.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/pci/models/api/pciOptimizationRequest.py:38:0: C0115: Missing class docstring (missing-class-docstring) [INFO] ************* Module apps.license.optimizers.simple_license_allocation [INFO] apps/license/optimizers/simple_license_allocation.py:23:0: C0301: Line too long (120/100) (line-too-long) [INFO] apps/license/optimizers/simple_license_allocation.py:31:0: C0301: Line too long (115/100) (line-too-long) [INFO] apps/license/optimizers/simple_license_allocation.py:36:0: C0301: Line too long (104/100) (line-too-long) [INFO] apps/license/optimizers/simple_license_allocation.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] apps/license/optimizers/simple_license_allocation.py:29:4: W0612: Unused variable 'req_id' (unused-variable) [INFO] apps/license/optimizers/simple_license_allocation.py:32:4: W0612: Unused variable 'service_name' (unused-variable) [INFO] ************* Module runtime.optim_engine [INFO] runtime/optim_engine.py:34:0: C0301: Line too long (107/100) (line-too-long) [INFO] runtime/optim_engine.py:76:0: C0301: Line too long (101/100) (line-too-long) [INFO] runtime/optim_engine.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] runtime/optim_engine.py:29:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/optim_engine.py:41:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/optim_engine.py:48:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/optim_engine.py:56:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/optim_engine.py:61:4: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) [INFO] runtime/optim_engine.py:65:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/optim_engine.py:68:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/optim_engine.py:76:36: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module runtime.model_api [INFO] runtime/model_api.py:45:0: C0301: Line too long (107/100) (line-too-long) [INFO] runtime/model_api.py:48:0: C0301: Line too long (106/100) (line-too-long) [INFO] runtime/model_api.py:76:0: C0301: Line too long (116/100) (line-too-long) [INFO] runtime/model_api.py:78:0: C0301: Line too long (116/100) (line-too-long) [INFO] runtime/model_api.py:82:0: C0301: Line too long (101/100) (line-too-long) [INFO] runtime/model_api.py:86:0: C0301: Line too long (117/100) (line-too-long) [INFO] runtime/model_api.py:88:0: C0301: Line too long (116/100) (line-too-long) [INFO] runtime/model_api.py:95:0: C0301: Line too long (101/100) (line-too-long) [INFO] runtime/model_api.py:109:0: C0301: Line too long (113/100) (line-too-long) [INFO] runtime/model_api.py:145:0: C0301: Line too long (104/100) (line-too-long) [INFO] runtime/model_api.py:175:0: C0301: Line too long (101/100) (line-too-long) [INFO] runtime/model_api.py:202:0: C0301: Line too long (101/100) (line-too-long) [INFO] runtime/model_api.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] runtime/model_api.py:34:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:45:23: C0103: Variable name "db" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/model_api.py:63:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:69:16: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:75:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] runtime/model_api.py:82:32: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:84:16: W0101: Unreachable code (unreachable) [INFO] runtime/model_api.py:93:16: W0101: Unreachable code (unreachable) [INFO] runtime/model_api.py:95:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:97:12: W0707: Consider explicitly re-raising using the 'from' keyword (raise-missing-from) [INFO] runtime/model_api.py:100:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:103:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] runtime/model_api.py:109:29: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:114:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:122:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:129:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:132:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:141:33: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:145:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:147:12: W0707: Consider explicitly re-raising using the 'from' keyword (raise-missing-from) [INFO] runtime/model_api.py:150:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:174:15: W0703: Catching too general exception Exception (broad-except) [INFO] runtime/model_api.py:153:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:154:12: C0103: Variable name "d" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/model_api.py:154:16: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] runtime/model_api.py:161:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] runtime/model_api.py:165:16: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] runtime/model_api.py:175:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:180:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:183:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] runtime/model_api.py:184:12: C0103: Variable name "r" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/model_api.py:191:29: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:196:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/model_api.py:214:15: W0703: Catching too general exception Exception (broad-except) [INFO] runtime/model_api.py:199:28: W1310: Using formatting for a string that does not have any interpolated variables (format-string-without-interpolation) [INFO] runtime/model_api.py:199:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:205:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] runtime/model_api.py:209:16: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) [INFO] runtime/model_api.py:215:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/model_api.py:220:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] ************* Module runtime.solvers.py.__init__ [INFO] runtime/solvers/py/__init__.py:17:0: C0304: Final newline missing (missing-final-newline) [INFO] ************* Module runtime.solvers.py.py_solver [INFO] runtime/solvers/py/py_solver.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] runtime/solvers/py/py_solver.py:28:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/solvers/py/py_solver.py:29:14: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:30:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] runtime/solvers/py/py_solver.py:30:32: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/py/py_solver.py:34:21: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:37:21: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:38:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] runtime/solvers/py/py_solver.py:38:35: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/py/py_solver.py:41:18: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:56:11: W0703: Catching too general exception Exception (broad-except) [INFO] runtime/solvers/py/py_solver.py:46:8: C0103: Variable name "p" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/py/py_solver.py:46:12: W1510: Using subprocess.run without explicitly set `check` is not recommended. (subprocess-run-check) [INFO] runtime/solvers/py/py_solver.py:48:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:50:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:52:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] runtime/solvers/py/py_solver.py:56:4: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/py/py_solver.py:57:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:56:4: W0612: Unused variable 'e' (unused-variable) [INFO] runtime/solvers/py/py_solver.py:63:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/solvers/py/py_solver.py:64:8: C0103: Variable name "f" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/py/py_solver.py:67:15: W0703: Catching too general exception Exception (broad-except) [INFO] runtime/solvers/py/py_solver.py:67:8: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/py/py_solver.py:68:28: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/py/py_solver.py:67:8: W0612: Unused variable 'e' (unused-variable) [INFO] runtime/solvers/py/py_solver.py:71:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/solvers/py/py_solver.py:85:11: W0703: Catching too general exception Exception (broad-except) [INFO] runtime/solvers/py/py_solver.py:85:4: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/py/py_solver.py:90:29: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] ************* Module runtime.solvers.mzn.mzn_solver [INFO] runtime/solvers/mzn/mzn_solver.py:55:0: C0301: Line too long (110/100) (line-too-long) [INFO] runtime/solvers/mzn/mzn_solver.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] runtime/solvers/mzn/mzn_solver.py:50:0: C0116: Missing function or method docstring (missing-function-docstring) [INFO] runtime/solvers/mzn/mzn_solver.py:72:11: W0703: Catching too general exception Exception (broad-except) [INFO] runtime/solvers/mzn/mzn_solver.py:72:4: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name) [INFO] runtime/solvers/mzn/mzn_solver.py:77:29: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/mzn/mzn_solver.py:88:15: R1735: Consider using {} instead of dict() (use-dict-literal) [INFO] runtime/solvers/mzn/mzn_solver.py:109:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/mzn/mzn_solver.py:113:24: C0209: Formatting a regular string which could be a f-string (consider-using-f-string) [INFO] runtime/solvers/mzn/mzn_solver.py:122:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) [INFO] ************* Module runtime.models.api.optim_response [INFO] runtime/models/api/optim_response.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] runtime/models/api/optim_response.py:25:0: C0115: Missing class docstring (missing-class-docstring) [INFO] ************* Module runtime.models.api.model_request [INFO] runtime/models/api/model_request.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] ************* Module runtime.models.api.model_response [INFO] runtime/models/api/model_response.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] runtime/models/api/model_response.py:24:0: C0115: Missing class docstring (missing-class-docstring) [INFO] ************* Module runtime.models.api.optim_request [INFO] runtime/models/api/optim_request.py:1:0: C0114: Missing module docstring (missing-module-docstring) [INFO] runtime/models/api/optim_request.py:25:-1: W0105: String statement has no effect (pointless-string-statement) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nsst.optimizers.nsst_select_processor:[87:129] [INFO] ==apps.nst.optimizers.nst_select_processor:[87:129] [INFO] return {'requestId': self.request_info['requestId'], [INFO] 'transactionId': self.request_info['transactionId'], [INFO] 'requestStatus': 'completed', [INFO] 'statusMessage': '', [INFO] 'solutions': solutions} [INFO] [INFO] def error_response(self, error_message): [INFO] """Form response message from the error message [INFO] [INFO] :param error_message: error message while processing the request [INFO] :return: response json as dictionary [INFO] """ [INFO] return {'requestId': self.request_info['requestId'], [INFO] 'transactionId': self.request_info['transactionId'], [INFO] 'requestStatus': 'error', [INFO] 'statusMessage': error_message} [INFO] [INFO] def get_app_policies(self, model_name, app_name): [INFO] policy_request_json = self.request_json.copy() [INFO] policy_request_json['serviceInfo'] = {'serviceName': model_name} [INFO] debug_log.debug("policy_request_json {}".format(str(policy_request_json))) [INFO] return get_policies(policy_request_json, app_name) # app_name: nsst_selection [INFO] [INFO] def get_conductor(self, req_info, request_parameters, policies, model_name): [INFO] demands = [ [INFO] { [INFO] "resourceModuleName": model_name, [INFO] "resourceModelInfo": {} [INFO] } [INFO] ] [INFO] [INFO] try: [INFO] template_fields = { [INFO] 'location_enabled': False, [INFO] 'version': '2020-08-13' [INFO] } [INFO] resp = conductor.request(req_info, demands, request_parameters, {}, template_fields, [INFO] self.osdf_config, policies) [INFO] except RequestException as e: [INFO] resp = e.response.json() [INFO] error = resp['plans'][0]['message'] [INFO] if "Unable to find any" in error: (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nst.optimizers.nst_select_processor:[111:128] [INFO] ==apps.slice_selection.optimizers.conductor.remote_opt_processor:[83:100] [INFO] demands = [ [INFO] { [INFO] "resourceModuleName": model_name, [INFO] "resourceModelInfo": {} [INFO] } [INFO] ] [INFO] [INFO] try: [INFO] template_fields = { [INFO] 'location_enabled': False, [INFO] 'version': '2020-08-13' [INFO] } [INFO] resp = conductor.request(req_info, demands, request_parameters, {}, template_fields, [INFO] self.osdf_config, policies) [INFO] except RequestException as e: [INFO] resp = e.response.json() [INFO] error = resp['plans'][0]['message'] (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==runtime.solvers.mzn.mzn_solver:[69:81] [INFO] ==runtime.solvers.py.py_solver:[82:92] [INFO] } [INFO] return 200, json.dumps(response) [INFO] except Exception as e: [INFO] response = { [INFO] 'transactionId': req_info['transactionId'], [INFO] 'requestID': req_info['requestID'], [INFO] 'requestStatus': 'failed', [INFO] 'statusMessage': 'Failed due to {}'.format(e) [INFO] } [INFO] return 400, json.dumps(response) (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.pci.models.api.pciOptimizationRequest:[24:37] [INFO] ==apps.placement.models.api.placementRequest:[23:36] [INFO] class RequestInfo(OSDFModel): [INFO] """Info for northbound request from client such as SO""" [INFO] transactionId = StringType(required=True) [INFO] requestId = StringType(required=True) [INFO] callbackUrl = URLType(required=True) [INFO] callbackHeader = DictType(BaseType) [INFO] sourceId = StringType(required=True) [INFO] requestType = StringType(required=True) [INFO] numSolutions = IntType() [INFO] optimizers = ListType(StringType(required=True)) [INFO] timeout = IntType() [INFO] [INFO] (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nsst.optimizers.nsst_select_processor:[57:69] [INFO] ==apps.nst.optimizers.nst_select_processor:[57:69] [INFO] except Exception as err: [INFO] error_log.error("Error for {} {}".format(self.request_info.get('requestId'), [INFO] traceback.format_exc())) [INFO] error_message = str(err) [INFO] solution = self.error_response(error_message) [INFO] [INFO] try: [INFO] rest_client.request(json=solution, noresponse=True) [INFO] except RequestException: [INFO] error_log.error("Error sending asynchronous notification for {} {}". [INFO] format(self.request_info['requestId'], traceback.format_exc())) [INFO] (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nsst.optimizers.nsst_select_processor:[20:35] [INFO] ==apps.nst.optimizers.nst_select_processor:[20:35] [INFO] import os [INFO] from osdf.adapters.conductor import conductor [INFO] from osdf.adapters.policy.interface import get_policies [INFO] from osdf.logging.osdf_logging import debug_log [INFO] from osdf.logging.osdf_logging import error_log [INFO] from osdf.utils.interfaces import get_rest_client [INFO] from requests import RequestException [INFO] from threading import Thread [INFO] import traceback [INFO] BASE_DIR = os.path.dirname(__file__) [INFO] [INFO] [INFO] # This is the class for NST Selection [INFO] [INFO] (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.pci.optimizers.pci_opt_processor:[56:64] [INFO] ==apps.placement.optimizers.conductor.remote_opt_processor:[162:170] [INFO] except Exception as err: [INFO] error_log.error("Error for {} {}".format(req_id, traceback.format_exc())) [INFO] [INFO] try: [INFO] body = build_json_error_body(err) [INFO] metrics_log.info(MH.sending_response(req_id, "ERROR")) [INFO] rc.request(json=body, noresponse=True) [INFO] except RequestException: (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nsst.optimizers.nsst_select_processor:[130:143] [INFO] ==apps.nst.optimizers.nst_select_processor:[130:143] [INFO] error_log.error('Error from conductor {}'.format(error)) [INFO] return self.error_response(error) [INFO] debug_log.debug("Response from conductor in get_conductor method {}".format(str(resp))) [INFO] recommendations = resp["plans"][0].get("recommendations") [INFO] return self.process_response(recommendations, model_name) [INFO] [INFO] def process_response(self, recommendations, model_name): [INFO] """Process conductor response to form the response for the API request [INFO] [INFO] :param recommendations: recommendations from conductor [INFO] :return: response json as a dictionary [INFO] """ [INFO] if not recommendations: (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nsst.optimizers.nsst_select_processor:[37:45] [INFO] ==apps.nst.optimizers.nst_select_processor:[37:45] [INFO] def __init__(self, osdf_config, request_json): [INFO] super().__init__() [INFO] self.osdf_config = osdf_config [INFO] self.request_json = request_json [INFO] self.request_info = self.request_json['requestInfo'] [INFO] self.request_info['numSolutions'] = 1 [INFO] [INFO] def run(self): (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.route.optimizers.inter_domain_route_opt:[39:47] [INFO] ==apps.route.optimizers.simple_route_opt:[38:45] [INFO] aai_headers = { [INFO] "X-TransactionId": "9999", [INFO] "X-FromAppId": "OOF", [INFO] "Accept": "application/json", [INFO] "Content-Type": "application/json", [INFO] } [INFO] (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.pci.optimizers.pci_opt_processor:[27:40] [INFO] ==apps.placement.optimizers.conductor.remote_opt_processor:[27:35] [INFO] from osdf.logging.osdf_logging import error_log [INFO] from osdf.logging.osdf_logging import metrics_log [INFO] from osdf.logging.osdf_logging import MH [INFO] from osdf.operation.error_handling import build_json_error_body [INFO] from osdf.utils.interfaces import get_rest_client [INFO] from osdf.utils.mdc_utils import mdc_from_json [INFO] [INFO] (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==runtime.models.api.model_request:[19:28] [INFO] ==runtime.models.api.optim_request:[19:29] [INFO] from schematics.types.compound import ModelType [INFO] [INFO] from osdf.models.api.common import OSDFModel [INFO] [INFO] [INFO] class RequestInfo(OSDFModel): [INFO] """Info for northbound request from client such as PCI-mS Handler""" [INFO] transactionId = StringType(required=True) [INFO] requestID = StringType(required=True) (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.pci.models.api.pciOptimizationResponse:[41:46] [INFO] ==apps.placement.models.api.placementResponse:[59:64] [INFO] transactionId = StringType(required=True) [INFO] requestId = StringType(required=True) [INFO] requestStatus = StringType(required=True) [INFO] statusMessage = StringType() [INFO] solutions = ModelType(Solution, required=True) (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nst.optimizers.nst_select_processor:[87:93] [INFO] ==apps.slice_selection.optimizers.conductor.response_processor:[103:108] [INFO] return {'requestId': self.request_info['requestId'], [INFO] 'transactionId': self.request_info['transactionId'], [INFO] 'requestStatus': 'completed', [INFO] 'statusMessage': '', [INFO] 'solutions': solutions} [INFO] (duplicate-code) [INFO] runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files [INFO] ==apps.nst.optimizers.nst_select_processor:[21:26] [INFO] ==apps.slice_selection.optimizers.conductor.remote_opt_processor:[27:32] [INFO] from osdf.adapters.conductor import conductor [INFO] from osdf.adapters.policy.interface import get_policies [INFO] from osdf.logging.osdf_logging import debug_log [INFO] from osdf.logging.osdf_logging import error_log [INFO] from osdf.utils.interfaces import get_rest_client (duplicate-code) [INFO] [INFO] [INFO] Report [INFO] ====== [INFO] 3061 statements analysed. [INFO] [INFO] Statistics by type [INFO] ------------------ [INFO] [INFO] +---------+-------+-----------+-----------+------------+---------+ [INFO] |type |number |old number |difference |%documented |%badname | [INFO] +=========+=======+===========+===========+============+=========+ [INFO] |module |106 |NC |NC |44.34 |4.72 | [INFO] +---------+-------+-----------+-----------+------------+---------+ [INFO] |class |61 |NC |NC |39.34 |0.00 | [INFO] +---------+-------+-----------+-----------+------------+---------+ [INFO] |method |116 |NC |NC |69.83 |0.00 | [INFO] +---------+-------+-----------+-----------+------------+---------+ [INFO] |function |185 |NC |NC |57.30 |0.54 | [INFO] +---------+-------+-----------+-----------+------------+---------+ [INFO] [INFO] [INFO] [INFO] External dependencies [INFO] --------------------- [INFO] :: [INFO] [INFO] Crypto [INFO] \-Cipher [INFO] | \-AES (osdf.utils.cipherUtils) [INFO] \-Util [INFO] \-Padding (osdf.utils.cipherUtils) [INFO] apps [INFO] \-license [INFO] \-optimizers [INFO] \-simple_license_allocation (apps.placement.optimizers.conductor.remote_opt_processor) [INFO] consul [INFO] \-base (osdf.config.consulconfig) [INFO] \-tornado (osdf.config.consulconfig) [INFO] dateutil [INFO] \-parser (osdf.utils.data_conversion) [INFO] \-tz (osdf.utils.data_conversion) [INFO] flask (osdf.adapters.aaf.aaf_authentication,osdf.apps.baseapp,osdf.operation.responses,osdf.utils.mdc_utils,osdf.webapp.appcontroller,runtime.model_api,runtime.optim_engine) [INFO] flask_httpauth (osdf.webapp.appcontroller) [INFO] jinja2 (apps.nxi_termination.optimizers.remote_opt_processor,apps.placement.optimizers.conductor.remote_opt_processor,osdf,osdf.adapters.conductor.api_builder) [INFO] mysql [INFO] \-connector (runtime.model_api) [INFO] onaplogging [INFO] \-colorFormatter (osdf.logging.oof_mdc_formatter) [INFO] \-logWatchDog (osdf.logging.monkey) [INFO] \-marker (osdf.logging.oof_mdc_context) [INFO] \-mdcContext (apps.pci.optimizers.pci_opt_processor,osdf.apps.baseapp,osdf.logging.oof_mdc_context,osdf.utils.mdc_utils) [INFO] \-mdcformatter (osdf.logging.oof_mdc_formatter) [INFO] onapsmsclient (osdf.adapters.aaf.sms) [INFO] osdf (osdf.config.credentials,osdf.operation.error_handling,osdf.operation.responses,osdf.webapp.appcontroller) [INFO] \-adapters [INFO] | \-aaf [INFO] | | \-aaf_authentication (osdf.webapp.appcontroller) [INFO] | | \-sms (osdf.apps.baseapp) [INFO] | \-aai [INFO] | | \-fetch_aai_data (apps.nxi_termination.optimizers.remote_opt_processor) [INFO] | \-conductor [INFO] | | \-conductor (apps.nsst.optimizers.nsst_select_processor,apps.nst.optimizers.nst_select_processor,apps.placement.optimizers.conductor.remote_opt_processor,apps.slice_selection.optimizers.conductor.remote_opt_processor) [INFO] | \-dcae [INFO] | | \-des (apps.pci.optimizers.solver.ml_model) [INFO] | \-local_data [INFO] | | \-local_policies (osdf.adapters.policy.interface) [INFO] | \-policy [INFO] | \-interface (apps.nsst.optimizers.nsst_select_processor,apps.nst.optimizers.nst_select_processor,apps.slice_selection.optimizers.conductor.remote_opt_processor) [INFO] | \-utils (osdf.adapters.conductor.api_builder) [INFO] \-config [INFO] | \-base (apps.pci.optimizers.config.configdb,apps.pci.optimizers.config.cps,apps.pci.optimizers.solver.ml_model,apps.pci.optimizers.solver.optimizer,osdf.adapters.aaf.aaf_authentication,osdf.adapters.aaf.sms,osdf.adapters.dcae.des,osdf.adapters.policy.interface,osdf.apps.baseapp,osdf.utils.api_data_utils,osdf.utils.cipherUtils,osdf.utils.interfaces,osdf.webapp.appcontroller,runtime.model_api) [INFO] | \-credentials (osdf.adapters.aaf.sms) [INFO] | \-loader (osdf.adapters.aaf.sms) [INFO] \-logging [INFO] | \-osdf_logging (apps.nsst.optimizers.nsst_select_processor,apps.nst.optimizers.nst_select_processor,apps.nxi_termination.optimizers.remote_opt_processor,apps.pci.optimizers.config.configdb,apps.pci.optimizers.config.cps,apps.pci.optimizers.pci_opt_processor,apps.pci.optimizers.solver.ml_model,apps.placement.optimizers.conductor.remote_opt_processor,apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt,apps.slice_selection.optimizers.conductor.remote_opt_processor,osdf.adapters.aaf.aaf_authentication,osdf.adapters.aaf.sms,osdf.adapters.conductor.conductor,osdf.adapters.local_data.local_policies,osdf.adapters.policy.interface,osdf.apps.baseapp,osdf.config.consulconfig,osdf.operation.responses,osdf.utils.api_data_utils,osdf.utils.file_utils,osdf.utils.interfaces,runtime.model_api,runtime.solvers.py.py_solver) [INFO] \-models [INFO] | \-api [INFO] | \-common (apps.pci.models.api.pciOptimizationRequest,apps.pci.models.api.pciOptimizationResponse,apps.placement.models.api.placementRequest,apps.placement.models.api.placementResponse,runtime.models.api.model_request,runtime.models.api.model_response,runtime.models.api.optim_request,runtime.models.api.optim_response) [INFO] \-operation [INFO] | \-error_handling (apps.pci.optimizers.pci_opt_processor,apps.placement.optimizers.conductor.remote_opt_processor,osdf.apps.baseapp) [INFO] | \-exceptions (osdf.adapters.conductor.conductor,osdf.adapters.dcae.message_router,osdf.adapters.policy.interface,osdf.apps.baseapp,runtime.model_api,runtime.optim_engine) [INFO] | \-responses (osdf.apps.baseapp) [INFO] \-utils [INFO] \-cipherUtils (osdf.adapters.aaf.sms) [INFO] \-data_conversion (runtime.model_api,runtime.optim_engine) [INFO] \-data_types (osdf.adapters.dcae.message_router) [INFO] \-file_utils (runtime.solvers.mzn.mzn_solver,runtime.solvers.py.py_solver) [INFO] \-interfaces (apps.nsst.optimizers.nsst_select_processor,apps.nst.optimizers.nst_select_processor,apps.pci.optimizers.config.configdb,apps.pci.optimizers.config.cps,apps.pci.optimizers.pci_opt_processor,apps.placement.optimizers.conductor.remote_opt_processor,apps.slice_selection.optimizers.conductor.remote_opt_processor,osdf.adapters.aaf.aaf_authentication,osdf.adapters.conductor.conductor,osdf.adapters.dcae.des,osdf.adapters.dcae.message_router,osdf.adapters.policy.interface) [INFO] \-mdc_utils (apps.license.optimizers.simple_license_allocation,apps.pci.optimizers.pci_opt_processor,apps.placement.optimizers.conductor.remote_opt_processor,apps.route.optimizers.simple_route_opt,apps.slice_selection.optimizers.conductor.remote_opt_processor,osdf.apps.baseapp,osdf.logging.oof_mdc_context) [INFO] \-programming_utils (osdf.adapters.conductor.api_builder,osdf.adapters.conductor.translation,osdf.adapters.policy.interface,osdf.adapters.policy.utils,osdf.config,osdf.config.base,osdf.logging.osdf_logging) [INFO] pymzn (apps.pci.optimizers.solver.optimizer,apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt,runtime.solvers.mzn.mzn_solver) [INFO] requests (apps.nsst.optimizers.nsst_select_processor,apps.nst.optimizers.nst_select_processor,apps.pci.optimizers.pci_opt_processor,apps.placement.optimizers.conductor.remote_opt_processor,apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt,apps.slice_selection.optimizers.conductor.remote_opt_processor,osdf.adapters.conductor.conductor,osdf.adapters.dcae.des,osdf.adapters.dcae.message_router,osdf.adapters.policy.interface,osdf.apps.baseapp,osdf.operation.error_handling,osdf.utils.interfaces) [INFO] \-auth (apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt) [INFO] schematics [INFO] \-exceptions (osdf.apps.baseapp,osdf.operation.error_handling) [INFO] \-types (apps.pci.models.api.pciOptimizationRequest,apps.pci.models.api.pciOptimizationResponse,apps.placement.models.api.placementRequest,apps.placement.models.api.placementResponse,runtime.models.api.model_request,runtime.models.api.model_response,runtime.models.api.optim_request,runtime.models.api.optim_response) [INFO] \-compound (apps.pci.models.api.pciOptimizationRequest,apps.pci.models.api.pciOptimizationResponse,apps.placement.models.api.placementRequest,apps.placement.models.api.placementResponse,runtime.models.api.model_request,runtime.models.api.optim_request,runtime.models.api.optim_response) [INFO] sklearn [INFO] \-preprocessing (apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt) [INFO] tornado [INFO] \-gen (osdf.config.consulconfig) [INFO] \-ioloop (osdf.config.consulconfig) [INFO] urllib3 (apps.route.optimizers.inter_domain_route_opt) [INFO] yaml (osdf.adapters.conductor.translation,osdf.adapters.policy.interface,osdf.apps,osdf.config,osdf.config.loader,osdf.logging,osdf.logging.osdf_logging,osdf.utils.interfaces) [INFO] [INFO] [INFO] [INFO] Raw metrics [INFO] ----------- [INFO] [INFO] +----------+-------+------+---------+-----------+ [INFO] |type |number |% |previous |difference | [INFO] +==========+=======+======+=========+===========+ [INFO] |code |3586 |50.64 |NC |NC | [INFO] +----------+-------+------+---------+-----------+ [INFO] |docstring |1075 |15.18 |NC |NC | [INFO] +----------+-------+------+---------+-----------+ [INFO] |comment |1411 |19.92 |NC |NC | [INFO] +----------+-------+------+---------+-----------+ [INFO] |empty |1010 |14.26 |NC |NC | [INFO] +----------+-------+------+---------+-----------+ [INFO] [INFO] [INFO] [INFO] Duplication [INFO] ----------- [INFO] [INFO] +-------------------------+------+---------+-----------+ [INFO] | |now |previous |difference | [INFO] +=========================+======+=========+===========+ [INFO] |nb duplicated lines |0 |NC |NC | [INFO] +-------------------------+------+---------+-----------+ [INFO] |percent duplicated lines |0.000 |NC |NC | [INFO] +-------------------------+------+---------+-----------+ [INFO] [INFO] [INFO] [INFO] Messages by category [INFO] -------------------- [INFO] [INFO] +-----------+-------+---------+-----------+ [INFO] |type |number |previous |difference | [INFO] +===========+=======+=========+===========+ [INFO] |convention |688 |NC |NC | [INFO] +-----------+-------+---------+-----------+ [INFO] |refactor |117 |NC |NC | [INFO] +-----------+-------+---------+-----------+ [INFO] |warning |101 |NC |NC | [INFO] +-----------+-------+---------+-----------+ [INFO] |error |3 |NC |NC | [INFO] +-----------+-------+---------+-----------+ [INFO] [INFO] [INFO] [INFO] Messages [INFO] -------- [INFO] [INFO] +------------------------------------+------------+ [INFO] |message id |occurrences | [INFO] +====================================+============+ [INFO] |line-too-long |169 | [INFO] +------------------------------------+------------+ [INFO] |consider-using-f-string |138 | [INFO] +------------------------------------+------------+ [INFO] |missing-function-docstring |114 | [INFO] +------------------------------------+------------+ [INFO] |invalid-name |105 | [INFO] +------------------------------------+------------+ [INFO] |missing-module-docstring |59 | [INFO] +------------------------------------+------------+ [INFO] |missing-class-docstring |37 | [INFO] +------------------------------------+------------+ [INFO] |wrong-import-order |31 | [INFO] +------------------------------------+------------+ [INFO] |broad-except |20 | [INFO] +------------------------------------+------------+ [INFO] |no-else-return |19 | [INFO] +------------------------------------+------------+ [INFO] |unspecified-encoding |17 | [INFO] +------------------------------------+------------+ [INFO] |trailing-whitespace |16 | [INFO] +------------------------------------+------------+ [INFO] |use-dict-literal |15 | [INFO] +------------------------------------+------------+ [INFO] |duplicate-code |15 | [INFO] +------------------------------------+------------+ [INFO] |too-many-arguments |10 | [INFO] +------------------------------------+------------+ [INFO] |no-self-use |10 | [INFO] +------------------------------------+------------+ [INFO] |too-many-locals |9 | [INFO] +------------------------------------+------------+ [INFO] |useless-object-inheritance |8 | [INFO] +------------------------------------+------------+ [INFO] |unused-variable |8 | [INFO] +------------------------------------+------------+ [INFO] |unused-import |8 | [INFO] +------------------------------------+------------+ [INFO] |inconsistent-return-statements |8 | [INFO] +------------------------------------+------------+ [INFO] |redefined-builtin |7 | [INFO] +------------------------------------+------------+ [INFO] |unused-argument |6 | [INFO] +------------------------------------+------------+ [INFO] |protected-access |6 | [INFO] +------------------------------------+------------+ [INFO] |raise-missing-from |5 | [INFO] +------------------------------------+------------+ [INFO] |missing-final-newline |5 | [INFO] +------------------------------------+------------+ [INFO] |consider-using-with |5 | [INFO] +------------------------------------+------------+ [INFO] |unidiomatic-typecheck |4 | [INFO] +------------------------------------+------------+ [INFO] |redefined-outer-name |4 | [INFO] +------------------------------------+------------+ [INFO] |pointless-string-statement |4 | [INFO] +------------------------------------+------------+ [INFO] |no-else-raise |4 | [INFO] +------------------------------------+------------+ [INFO] |no-else-continue |3 | [INFO] +------------------------------------+------------+ [INFO] |fixme |3 | [INFO] +------------------------------------+------------+ [INFO] |consider-using-enumerate |3 | [INFO] +------------------------------------+------------+ [INFO] |bad-indentation |3 | [INFO] +------------------------------------+------------+ [INFO] |used-before-assignment |2 | [INFO] +------------------------------------+------------+ [INFO] |unreachable |2 | [INFO] +------------------------------------+------------+ [INFO] |trailing-newlines |2 | [INFO] +------------------------------------+------------+ [INFO] |too-few-public-methods |2 | [INFO] +------------------------------------+------------+ [INFO] |simplifiable-if-expression |2 | [INFO] +------------------------------------+------------+ [INFO] |consider-using-dict-items |2 | [INFO] +------------------------------------+------------+ [INFO] |consider-iterating-dictionary |2 | [INFO] +------------------------------------+------------+ [INFO] |ungrouped-imports |1 | [INFO] +------------------------------------+------------+ [INFO] |too-many-statements |1 | [INFO] +------------------------------------+------------+ [INFO] |too-many-public-methods |1 | [INFO] +------------------------------------+------------+ [INFO] |too-many-instance-attributes |1 | [INFO] +------------------------------------+------------+ [INFO] |too-many-branches |1 | [INFO] +------------------------------------+------------+ [INFO] |super-with-arguments |1 | [INFO] +------------------------------------+------------+ [INFO] |subprocess-run-check |1 | [INFO] +------------------------------------+------------+ [INFO] |no-member |1 | [INFO] +------------------------------------+------------+ [INFO] |modified-iterating-list |1 | [INFO] +------------------------------------+------------+ [INFO] |global-variable-undefined |1 | [INFO] +------------------------------------+------------+ [INFO] |global-statement |1 | [INFO] +------------------------------------+------------+ [INFO] |format-string-without-interpolation |1 | [INFO] +------------------------------------+------------+ [INFO] |deprecated-module |1 | [INFO] +------------------------------------+------------+ [INFO] |dangerous-default-value |1 | [INFO] +------------------------------------+------------+ [INFO] |consider-using-set-comprehension |1 | [INFO] +------------------------------------+------------+ [INFO] |consider-using-from-import |1 | [INFO] +------------------------------------+------------+ [INFO] |bare-except |1 | [INFO] +------------------------------------+------------+ [INFO] [INFO] [INFO] [INFO] [INFO] ----------------------------------- [INFO] Your code has been rated at 6.99/10 [INFO] [INFO] flake8diff create: /w/workspace/optf-osdf-sonar/.tox/flake8diff [INFO] flake8diff installdeps: hacking>=2.0.0 [INFO] flake8diff installed: flake8==3.8.4,hacking==4.1.0,importlib-metadata==4.8.3,mccabe==0.6.1,pycodestyle==2.6.0,pyflakes==2.2.0,typing_extensions==4.1.1,zipp==3.6.0 [INFO] flake8diff run-test-pre: PYTHONHASHSEED='1536408748' [INFO] flake8diff run-test: commands[0] | bash -c 'files=$(git diff HEAD^ HEAD --diff-filter=d --name-only | grep -E '"'"'(^apps\/|osdf\/|runtime\/)'"'"'| grep -E '"'"'*\.py$'"'"'); if [[ -z $files ]]; then exit 0; else flake8 $files; fi' [INFO] ___________________________________ summary ____________________________________ [INFO] py3: commands succeeded [INFO] pylint: commands succeeded [INFO] flake8diff: commands succeeded [INFO] congratulations :) [INFO] [INFO] --- jacoco-maven-plugin:0.8.5:report (post-unit-test) @ optf-osdf --- [INFO] Skipping JaCoCo execution due to missing execution data file. [INFO] [INFO] --- maven-assembly-plugin:2.2-beta-5:single (make-assembly) @ optf-osdf --- [INFO] Reading assembly descriptor: assembly.xml [INFO] Building zip: /w/workspace/optf-osdf-sonar/target/optf-osdf-3.0.8-SNAPSHOT.zip [INFO] [INFO] --- build-helper-maven-plugin:3.0.0:attach-artifact (attach-artifacts) @ optf-osdf --- [INFO] Skip attaching artifacts [INFO] [INFO] --- jacoco-maven-plugin:0.8.5:prepare-agent (pre-integration-test) @ optf-osdf --- [INFO] failsafeArgLine set to -javaagent:/tmp/r/org/jacoco/org.jacoco.agent/0.8.5/org.jacoco.agent-0.8.5-runtime.jar=destfile=/w/workspace/optf-osdf-sonar/target/code-coverage/jacoco-it.exec,excludes=**/gen/**:**/generated-sources/**:**/yang-gen/**:**/pax/** [INFO] [INFO] --- maven-failsafe-plugin:3.0.0-M4:integration-test (integration-tests) @ optf-osdf --- [INFO] No tests to run. [INFO] [INFO] --- jacoco-maven-plugin:0.8.5:report (post-integration-test) @ optf-osdf --- [INFO] Skipping JaCoCo execution due to missing execution data file. [INFO] [INFO] --- maven-failsafe-plugin:3.0.0-M4:verify (integration-tests) @ optf-osdf --- [INFO] Failsafe report directory: /w/workspace/optf-osdf-sonar/target/failsafe-reports [INFO] [INFO] --- maven-install-plugin:2.4:install (default-install) @ optf-osdf --- [INFO] Installing /w/workspace/optf-osdf-sonar/pom.xml to /tmp/r/org/onap/optf/osdf/optf-osdf/3.0.8-SNAPSHOT/optf-osdf-3.0.8-SNAPSHOT.pom [INFO] Installing /w/workspace/optf-osdf-sonar/target/optf-osdf-3.0.8-SNAPSHOT.zip to /tmp/r/org/onap/optf/osdf/optf-osdf/3.0.8-SNAPSHOT/optf-osdf-3.0.8-SNAPSHOT.zip [INFO] [INFO] --- docker-maven-plugin:0.26.0:build (generate-images) @ optf-osdf --- [INFO] DOCKER> Pulling from python [INFO] DOCKER> Digest: sha256:320a7a4250aba4249f458872adecf92eea88dc6abd2d76dc5c0f01cac9b53990 [INFO] DOCKER> Status: Downloaded newer image for nexus3.onap.org:10001/python:3.9-slim-buster [INFO] DOCKER> Pulled python:3.9-slim-buster in 2 seconds [INFO] Reading assembly descriptor: /w/workspace/optf-osdf-sonar/docker/osdf-lib-base/assembly/osdf-lib-files.xml [WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible / [INFO] Copying files to /w/workspace/optf-osdf-sonar/target/docker/osdf-base/build/onap-osdf-tm [INFO] Building tar: /w/workspace/optf-osdf-sonar/target/docker/osdf-base/tmp/docker-build.tar [INFO] DOCKER> [osdf-base:latest] "optf-base": Created docker-build.tar in 491 milliseconds [INFO] DOCKER> Step 1/12 : FROM python:3.9-slim-buster [INFO] DOCKER> [INFO] DOCKER> ---> c84dbfe3b8de [INFO] DOCKER> Step 2/12 : ARG HTTP_PROXY=${HTTP_PROXY} [INFO] DOCKER> [INFO] DOCKER> ---> Running in e25abb73d414 [INFO] DOCKER> Removing intermediate container e25abb73d414 [INFO] DOCKER> ---> 1b0a2fe61cb2 [INFO] DOCKER> Step 3/12 : ARG HTTPS_PROXY=${HTTPS_PROXY} [INFO] DOCKER> [INFO] DOCKER> ---> Running in e3f4da16b6dc [INFO] DOCKER> Removing intermediate container e3f4da16b6dc [INFO] DOCKER> ---> d77b91061802 [INFO] DOCKER> Step 4/12 : ARG DEBIAN_FRONTEND=noninteractive [INFO] DOCKER> [INFO] DOCKER> ---> Running in d6fb50efd01a [INFO] DOCKER> Removing intermediate container d6fb50efd01a [INFO] DOCKER> ---> 46b5e766681d [INFO] DOCKER> Step 5/12 : ENV http_proxy $HTTP_PROXY [INFO] DOCKER> [INFO] DOCKER> ---> Running in d76af66cdb68 [INFO] DOCKER> Removing intermediate container d76af66cdb68 [INFO] DOCKER> ---> 1ce873b16938 [INFO] DOCKER> Step 6/12 : ENV https_proxy $HTTPS_PROXY [INFO] DOCKER> [INFO] DOCKER> ---> Running in e19c61d2d668 [INFO] DOCKER> Removing intermediate container e19c61d2d668 [INFO] DOCKER> ---> 7d630fda2664 [INFO] DOCKER> Step 7/12 : RUN groupadd onap && useradd -m -g onap onap [INFO] DOCKER> [INFO] DOCKER> ---> Running in 5a3660a4d4e9 [INFO] DOCKER> Removing intermediate container 5a3660a4d4e9 [INFO] DOCKER> ---> e6e25d7bcbfc [INFO] DOCKER> Step 8/12 : RUN apt-get update && apt-get install -y wget && wget -q https://github.com/MiniZinc/MiniZincIDE/releases/download/2.4.3/MiniZincIDE-2.4.3-bundle-linux-x86_64.tgz -O /tmp/mz.tgz && mkdir -p /mz-dist && tar xzf /tmp/mz.tgz -C /mz-dist --strip-components 1 && rm /tmp/mz.tgz && wget -q https://github.com/google/or-tools/releases/download/v7.8/or-tools_ubuntu-20.04_v7.8.7959.tar.gz -O /tmp/flatzinc.tar.gz && mkdir -p /ortools && tar zxf /tmp/flatzinc.tar.gz -C /ortools --strip-components 1 && rm /tmp/flatzinc.tar.gz && apt-get remove -y wget [INFO] DOCKER> [INFO] DOCKER> ---> Running in 710d74f5952b [INFO] DOCKER> Get:1 http://deb.debian.org/debian buster InRelease [122 kB] [INFO] DOCKER> Get:2 http://deb.debian.org/debian-security buster/updates InRelease [34.8 kB] [INFO] DOCKER> Get:3 http://deb.debian.org/debian buster-updates InRelease [56.6 kB] [INFO] DOCKER> Get:4 http://deb.debian.org/debian buster/main amd64 Packages [7909 kB] [INFO] DOCKER> Get:5 http://deb.debian.org/debian-security buster/updates/main amd64 Packages [605 kB] [INFO] DOCKER> Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [8788 B] [INFO] DOCKER> Fetched 8736 kB in 1s (6293 kB/s) Reading package lists... [INFO] DOCKER> [INFO] DOCKER> Reading package lists... [INFO] DOCKER> [INFO] DOCKER> Building dependency tree... [INFO] DOCKER> Reading state information... [INFO] DOCKER> [INFO] DOCKER> The following additional packages will be installed: [INFO] DOCKER> libpcre2-8-0 libpsl5 publicsuffix [INFO] DOCKER> The following NEW packages will be installed: [INFO] DOCKER> libpcre2-8-0 libpsl5 publicsuffix wget [INFO] DOCKER> 0 upgraded, 4 newly installed, 0 to remove and 24 not upgraded. Need to get 1296 kB of archives. After this operation, 4365 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian-security buster/updates/main amd64 libpcre2-8-0 amd64 10.32-5+deb10u1 [213 kB] [INFO] DOCKER> Get:2 http://deb.debian.org/debian buster/main amd64 libpsl5 amd64 0.20.2-2 [53.7 kB] [INFO] DOCKER> Get:3 http://deb.debian.org/debian buster/main amd64 wget amd64 1.20.1-1.1 [902 kB] [INFO] DOCKER> Get:4 http://deb.debian.org/debian buster/main amd64 publicsuffix all 20220811.1734-0+deb10u1 [127 kB] [INFO] DOCKER> [91mdebconf: delaying package configuration, since apt-utils is not installed [INFO] DOCKER> Fetched 1296 kB in 0s (43.5 MB/s) [INFO] DOCKER> Selecting previously unselected package libpcre2-8-0:amd64. (Reading database ... [INFO] DOCKER> (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% [INFO] DOCKER> (Reading database ... 80% [INFO] DOCKER> (Reading database ... 85% [INFO] DOCKER> (Reading database ... 90% [INFO] DOCKER> (Reading database ... 95% [INFO] DOCKER> (Reading database ... 100% (Reading database ... 6843 files and directories currently installed.) [INFO] DOCKER> Preparing to unpack .../libpcre2-8-0_10.32-5+deb10u1_amd64.deb ... [INFO] DOCKER> Unpacking libpcre2-8-0:amd64 (10.32-5+deb10u1) ... [INFO] DOCKER> Selecting previously unselected package libpsl5:amd64. [INFO] DOCKER> Preparing to unpack .../libpsl5_0.20.2-2_amd64.deb ... [INFO] DOCKER> Unpacking libpsl5:amd64 (0.20.2-2) ... [INFO] DOCKER> Selecting previously unselected package wget. [INFO] DOCKER> Preparing to unpack .../wget_1.20.1-1.1_amd64.deb ... [INFO] DOCKER> Unpacking wget (1.20.1-1.1) ... [INFO] DOCKER> Selecting previously unselected package publicsuffix. [INFO] DOCKER> Preparing to unpack .../publicsuffix_20220811.1734-0+deb10u1_all.deb ... [INFO] DOCKER> Unpacking publicsuffix (20220811.1734-0+deb10u1) ... [INFO] DOCKER> Setting up libpsl5:amd64 (0.20.2-2) ... [INFO] DOCKER> Setting up libpcre2-8-0:amd64 (10.32-5+deb10u1) ... [INFO] DOCKER> Setting up publicsuffix (20220811.1734-0+deb10u1) ... [INFO] DOCKER> Setting up wget (1.20.1-1.1) ... [INFO] DOCKER> Processing triggers for libc-bin (2.28-10+deb10u2) ... [INFO] DOCKER> Reading package lists... [INFO] DOCKER> [INFO] DOCKER> Building dependency tree... [INFO] DOCKER> Reading state information... [INFO] DOCKER> [INFO] DOCKER> The following packages were automatically installed and are no longer required: [INFO] DOCKER> libpcre2-8-0 libpsl5 publicsuffix Use 'apt autoremove' to remove them. [INFO] DOCKER> The following packages will be REMOVED: wget [INFO] DOCKER> 0 upgraded, 0 newly installed, 1 to remove and 24 not upgraded. After this operation, 3335 kB disk space will be freed. [INFO] DOCKER> (Reading database ... [INFO] DOCKER> (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% [INFO] DOCKER> (Reading database ... 80% [INFO] DOCKER> (Reading database ... 85% [INFO] DOCKER> (Reading database ... 90% [INFO] DOCKER> (Reading database ... 95% [INFO] DOCKER> (Reading database ... 100% (Reading database ... 6918 files and directories currently installed.) [INFO] DOCKER> Removing wget (1.20.1-1.1) ... [INFO] DOCKER> Removing intermediate container 710d74f5952b [INFO] DOCKER> ---> 1b747daf46f8 [INFO] DOCKER> Step 9/12 : ENV SHELL /bin/bash [INFO] DOCKER> [INFO] DOCKER> ---> Running in abd7969a2d4e [INFO] DOCKER> Removing intermediate container abd7969a2d4e [INFO] DOCKER> ---> a647ccc95e23 [INFO] DOCKER> Step 10/12 : ENV PATH /mz-dist/bin:$PATH [INFO] DOCKER> [INFO] DOCKER> ---> Running in 76e147adfad7 [INFO] DOCKER> Removing intermediate container 76e147adfad7 [INFO] DOCKER> ---> 3bb8d0b901a3 [INFO] DOCKER> Step 11/12 : COPY onap-osdf-tm/requirements.txt /tmp/requirements.txt [INFO] DOCKER> [INFO] DOCKER> ---> ef68e5f433c8 [INFO] DOCKER> Step 12/12 : RUN pip install --no-cache-dir -r /tmp/requirements.txt [INFO] DOCKER> [INFO] DOCKER> ---> Running in c004c3916461 [INFO] DOCKER> Collecting cryptography==3.3.2 [INFO] DOCKER> Downloading cryptography-3.3.2-cp36-abi3-manylinux2010_x86_64.whl (2.6 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.6/2.6 MB 132.4 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting docutils>=0.12 [INFO] DOCKER> Downloading docutils-0.21.2-py3-none-any.whl (587 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.4/587.4 kB 133.1 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting docopt>=0.6.2 [INFO] DOCKER> Downloading docopt-0.6.2.tar.gz (25 kB) [INFO] DOCKER> Preparing metadata (setup.py): started [INFO] DOCKER> Preparing metadata (setup.py): finished with status 'done' [INFO] DOCKER> Collecting Flask>=0.11.1 [INFO] DOCKER> Downloading flask-3.0.3-py3-none-any.whl (101 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.7/101.7 kB 265.4 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting Flask-HTTPAuth>=3.2.2 [INFO] DOCKER> Downloading Flask_HTTPAuth-4.8.0-py3-none-any.whl (7.0 kB) [INFO] DOCKER> Collecting jsonschema>=2.5.1 [INFO] DOCKER> Downloading jsonschema-4.22.0-py3-none-any.whl (88 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.3/88.3 kB 188.4 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting lxml>=3.6.4 [INFO] DOCKER> Downloading lxml-5.2.2-cp39-cp39-manylinux_2_28_x86_64.whl (5.0 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.0/5.0 MB 219.4 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting python-dateutil>=2.5.3 [INFO] DOCKER> Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 276.9 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting PyYAML==5.4.1 [INFO] DOCKER> Downloading PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 630.1/630.1 kB 162.2 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting requests>=2.14.2 [INFO] DOCKER> Downloading requests-2.32.3-py3-none-any.whl (64 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.9/64.9 kB 245.7 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting schematics>=2.0.0 [INFO] DOCKER> Downloading schematics-2.1.1-py2.py3-none-any.whl (63 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.4/63.4 kB 240.3 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting onapsmsclient>=0.0.4 [INFO] DOCKER> Downloading onapsmsclient-0.0.4.tar.gz (3.4 kB) [INFO] DOCKER> Preparing metadata (setup.py): started [INFO] DOCKER> Preparing metadata (setup.py): finished with status 'done' [INFO] DOCKER> Collecting pymzn>=0.18.3 [INFO] DOCKER> Downloading pymzn-0.18.3-py3-none-any.whl (42 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.8/42.8 kB 136.9 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting onappylog>=1.0.9 [INFO] DOCKER> Downloading onappylog-1.0.9-py2.py3-none-any.whl (17 kB) [INFO] DOCKER> Collecting pathtools>=0.1.2 [INFO] DOCKER> Downloading pathtools-0.1.2.tar.gz (11 kB) [INFO] DOCKER> Preparing metadata (setup.py): started [INFO] DOCKER> Preparing metadata (setup.py): finished with status 'done' [INFO] DOCKER> Collecting pycryptodome>=3.9.6 [INFO] DOCKER> Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 183.7 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting python-consul>=1.1.0 [INFO] DOCKER> Downloading python_consul-1.1.0-py2.py3-none-any.whl (24 kB) [INFO] DOCKER> Collecting tornado>=6.1 [INFO] DOCKER> Downloading tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (436 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 436.8/436.8 kB 178.8 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting six>=1.4.1 [INFO] DOCKER> Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) [INFO] DOCKER> Collecting cffi>=1.12 [INFO] DOCKER> Downloading cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (443 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 443.4/443.4 kB 157.8 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting click>=8.1.3 [INFO] DOCKER> Downloading click-8.1.7-py3-none-any.whl (97 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 260.4 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting Jinja2>=3.1.2 [INFO] DOCKER> Downloading jinja2-3.1.4-py3-none-any.whl (133 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.3/133.3 kB 266.0 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting Werkzeug>=3.0.0 [INFO] DOCKER> Downloading werkzeug-3.0.3-py3-none-any.whl (227 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 227.3/227.3 kB 283.7 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting itsdangerous>=2.1.2 [INFO] DOCKER> Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB) [INFO] DOCKER> Collecting importlib-metadata>=3.6.0 [INFO] DOCKER> Downloading importlib_metadata-7.2.0-py3-none-any.whl (24 kB) [INFO] DOCKER> Collecting blinker>=1.6.2 [INFO] DOCKER> Downloading blinker-1.8.2-py3-none-any.whl (9.5 kB) [INFO] DOCKER> Collecting rpds-py>=0.7.1 [INFO] DOCKER> Downloading rpds_py-0.18.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 200.2 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting attrs>=22.2.0 [INFO] DOCKER> Downloading attrs-23.2.0-py3-none-any.whl (60 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.8/60.8 kB 255.1 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting referencing>=0.28.4 [INFO] DOCKER> Downloading referencing-0.35.1-py3-none-any.whl (26 kB) [INFO] DOCKER> Collecting jsonschema-specifications>=2023.03.6 [INFO] DOCKER> Downloading jsonschema_specifications-2023.12.1-py3-none-any.whl (18 kB) [INFO] DOCKER> Collecting idna<4,>=2.5 [INFO] DOCKER> Downloading idna-3.7-py3-none-any.whl (66 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.8/66.8 kB 261.0 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting certifi>=2017.4.17 [INFO] DOCKER> Downloading certifi-2024.6.2-py3-none-any.whl (164 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 164.4/164.4 kB 291.2 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting urllib3<3,>=1.21.1 [INFO] DOCKER> Downloading urllib3-2.2.2-py3-none-any.whl (121 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.4/121.4 kB 213.9 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting charset-normalizer<4,>=2 [INFO] DOCKER> Downloading charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 142.3/142.3 kB 126.8 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting watchdog>=0.8.3 [INFO] DOCKER> Downloading watchdog-4.0.1-py3-none-manylinux2014_x86_64.whl (83 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.0/83.0 kB 252.5 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting pycparser [INFO] DOCKER> Downloading pycparser-2.22-py3-none-any.whl (117 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.6/117.6 kB 285.8 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting zipp>=0.5 [INFO] DOCKER> Downloading zipp-3.19.2-py3-none-any.whl (9.0 kB) [INFO] DOCKER> Collecting MarkupSafe>=2.0 [INFO] DOCKER> Downloading MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) [INFO] DOCKER> Building wheels for collected packages: docopt, onapsmsclient, pathtools [INFO] DOCKER> Building wheel for docopt (setup.py): started [INFO] DOCKER> Building wheel for docopt (setup.py): finished with status 'done' [INFO] DOCKER> Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13723 sha256=1cfff44d53a39e8fab55c11f36fd3e3e33a297f12068e62d3d899c0c95913fef [INFO] DOCKER> Stored in directory: /tmp/pip-ephem-wheel-cache-u7s42jc9/wheels/70/4a/46/1309fc853b8d395e60bafaf1b6df7845bdd82c95fd59dd8d2b [INFO] DOCKER> Building wheel for onapsmsclient (setup.py): started [INFO] DOCKER> Building wheel for onapsmsclient (setup.py): finished with status 'done' [INFO] DOCKER> Created wheel for onapsmsclient: filename=onapsmsclient-0.0.4-py3-none-any.whl size=3651 sha256=2a04e03f76a562fb3fae07078a650948675490a771f646f287f87196ab3daec5 [INFO] DOCKER> Stored in directory: /tmp/pip-ephem-wheel-cache-u7s42jc9/wheels/0f/2a/27/b4164061ed6d00b2ecca0c91fc2aaeb7ac2dff090482dcb761 [INFO] DOCKER> Building wheel for pathtools (setup.py): started [INFO] DOCKER> Building wheel for pathtools (setup.py): finished with status 'done' [INFO] DOCKER> Created wheel for pathtools: filename=pathtools-0.1.2-py3-none-any.whl size=8808 sha256=78b5c160ed0dbd3e48500f3d9a7693e5177228d12b724c2046e1b2f42a08e8ea [INFO] DOCKER> Stored in directory: /tmp/pip-ephem-wheel-cache-u7s42jc9/wheels/b7/0a/67/ada2a22079218c75a88361c0782855cc72aebc4d18d0289d05 [INFO] DOCKER> Successfully built docopt onapsmsclient pathtools [INFO] DOCKER> Installing collected packages: schematics, pymzn, pathtools, docopt, zipp, watchdog, urllib3, tornado, six, rpds-py, PyYAML, pycryptodome, pycparser, MarkupSafe, lxml, itsdangerous, idna, docutils, click, charset-normalizer, certifi, blinker, attrs, Werkzeug, requests, referencing, python-dateutil, onappylog, Jinja2, importlib-metadata, cffi, python-consul, onapsmsclient, jsonschema-specifications, Flask, cryptography, jsonschema, Flask-HTTPAuth [INFO] DOCKER> Successfully installed Flask-3.0.3 Flask-HTTPAuth-4.8.0 Jinja2-3.1.4 MarkupSafe-2.1.5 PyYAML-5.4.1 Werkzeug-3.0.3 attrs-23.2.0 blinker-1.8.2 certifi-2024.6.2 cffi-1.16.0 charset-normalizer-3.3.2 click-8.1.7 cryptography-3.3.2 docopt-0.6.2 docutils-0.21.2 idna-3.7 importlib-metadata-7.2.0 itsdangerous-2.2.0 jsonschema-4.22.0 jsonschema-specifications-2023.12.1 lxml-5.2.2 onappylog-1.0.9 onapsmsclient-0.0.4 pathtools-0.1.2 pycparser-2.22 pycryptodome-3.20.0 pymzn-0.18.3 python-consul-1.1.0 python-dateutil-2.9.0.post0 referencing-0.35.1 requests-2.32.3 rpds-py-0.18.1 schematics-2.1.1 six-1.16.0 tornado-6.4.1 urllib3-2.2.2 watchdog-4.0.1 zipp-3.19.2 [INFO] DOCKER> [91mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [INFO] DOCKER> [91m [notice] A new release of pip is available: 23.0.1 -> 24.1 [notice] To update, run: pip install --upgrade pip [INFO] DOCKER> Removing intermediate container c004c3916461 [INFO] DOCKER> ---> 22fa96b47c5f [INFO] DOCKER> [Warning] One or more build-args [REPO MVN_ARTIFACT_VERSION] were not consumed [INFO] DOCKER> Successfully built 22fa96b47c5f [INFO] DOCKER> Successfully tagged osdf-base:latest [INFO] DOCKER> [osdf-base:latest] "optf-base": Built image sha256:22fa9 [INFO] DOCKER> [osdf-base:latest] "optf-base": Tag with latest [INFO] Reading assembly descriptor: /w/workspace/optf-osdf-sonar/docker/osdf/assembly/osdf-files.xml [WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible / [INFO] Copying files to /w/workspace/optf-osdf-sonar/target/docker/nexus3.onap.org/10003/onap/optf-osdf/build/onap-osdf-tm [INFO] Building tar: /w/workspace/optf-osdf-sonar/target/docker/nexus3.onap.org/10003/onap/optf-osdf/tmp/docker-build.tar [INFO] DOCKER> [nexus3.onap.org:10003/onap/optf-osdf:latest] "optf-osdf": Created docker-build.tar in 570 milliseconds [INFO] DOCKER> Step 1/9 : FROM osdf-base:latest [INFO] DOCKER> [INFO] DOCKER> ---> 22fa96b47c5f [INFO] DOCKER> Step 2/9 : EXPOSE 8699 [INFO] DOCKER> [INFO] DOCKER> ---> Running in fcd319d5a48f [INFO] DOCKER> Removing intermediate container fcd319d5a48f [INFO] DOCKER> ---> dcfbdbbebeee [INFO] DOCKER> Step 3/9 : WORKDIR /opt/osdf [INFO] DOCKER> [INFO] DOCKER> ---> Running in af86293f7eae [INFO] DOCKER> Removing intermediate container af86293f7eae [INFO] DOCKER> ---> 3c373e562e8a [INFO] DOCKER> Step 4/9 : COPY onap-osdf-tm/requirements-osdf.txt /tmp/requirements-osdf.txt [INFO] DOCKER> [INFO] DOCKER> ---> 01aaa8a3a2e6 [INFO] DOCKER> Step 5/9 : RUN pip install --no-cache-dir -r /tmp/requirements-osdf.txt [INFO] DOCKER> [INFO] DOCKER> ---> Running in 34750d7c0c0f [INFO] DOCKER> Collecting scikit-learn>=0.22.0 [INFO] DOCKER> Downloading scikit_learn-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.4/13.4 MB 82.5 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting numpy>=1.19.5 [INFO] DOCKER> Downloading numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.3 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.3/19.3 MB 182.7 MB/s eta 0:00:00 [INFO] DOCKER> Collecting joblib>=1.2.0 [INFO] DOCKER> Downloading joblib-1.4.2-py3-none-any.whl (301 kB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 301.8/301.8 kB 232.1 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting threadpoolctl>=3.1.0 [INFO] DOCKER> Downloading threadpoolctl-3.5.0-py3-none-any.whl (18 kB) [INFO] DOCKER> Collecting scipy>=1.6.0 [INFO] DOCKER> Downloading scipy-1.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.6 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.6/38.6 MB 204.1 MB/s eta 0:00:00 [INFO] DOCKER> Installing collected packages: threadpoolctl, numpy, joblib, scipy, scikit-learn [INFO] DOCKER> Successfully installed joblib-1.4.2 numpy-2.0.0 scikit-learn-1.5.0 scipy-1.13.1 threadpoolctl-3.5.0 [INFO] DOCKER> [91mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [INFO] DOCKER> [91m [notice] A new release of pip is available: 23.0.1 -> 24.1 [notice] To update, run: pip install --upgrade pip [INFO] DOCKER> Removing intermediate container 34750d7c0c0f [INFO] DOCKER> ---> 24d44879c22e [INFO] DOCKER> Step 6/9 : COPY onap-osdf-tm /opt/osdf [INFO] DOCKER> [INFO] DOCKER> ---> e0ed06bfb87a [INFO] DOCKER> Step 7/9 : RUN mkdir -p /var/log/onap/optf/osdf/ && chown -R onap:onap /var/log/onap && chown -R onap:onap /opt/osdf [INFO] DOCKER> [INFO] DOCKER> ---> Running in 60092bbb8079 [INFO] DOCKER> Removing intermediate container 60092bbb8079 [INFO] DOCKER> ---> f4b542e181db [INFO] DOCKER> Step 8/9 : USER onap [INFO] DOCKER> [INFO] DOCKER> ---> Running in d1e4c0b0fe18 [INFO] DOCKER> Removing intermediate container d1e4c0b0fe18 [INFO] DOCKER> ---> 5acd2f4e5e13 [INFO] DOCKER> Step 9/9 : CMD [ "python", "osdfapp.py" ] [INFO] DOCKER> [INFO] DOCKER> ---> Running in 242321741ea3 [INFO] DOCKER> Removing intermediate container 242321741ea3 [INFO] DOCKER> ---> b287fa73cd88 [INFO] DOCKER> [Warning] One or more build-args [REPO MVN_ARTIFACT_VERSION] were not consumed [INFO] DOCKER> Successfully built b287fa73cd88 [INFO] DOCKER> Successfully tagged nexus3.onap.org:10003/onap/optf-osdf:latest [INFO] DOCKER> [nexus3.onap.org:10003/onap/optf-osdf:latest] "optf-osdf": Built image sha256:b287f [INFO] DOCKER> [nexus3.onap.org:10003/onap/optf-osdf:latest] "optf-osdf": Tag with latest,3.0.8-SNAPSHOT-20240622T121805Z,3.0.8-SNAPSHOT-latest [INFO] Reading assembly descriptor: /w/workspace/optf-osdf-sonar/docker/opteng/assembly/osdf-files.xml [WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible / [WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible / [WARNING] The assembly descriptor contains a filesystem-root relative reference, which is not cross platform compatible / [INFO] Copying files to /w/workspace/optf-osdf-sonar/target/docker/nexus3.onap.org/10003/onap/optf-opteng/build/onap-osdf-tm [INFO] Building tar: /w/workspace/optf-osdf-sonar/target/docker/nexus3.onap.org/10003/onap/optf-opteng/tmp/docker-build.tar [INFO] DOCKER> [nexus3.onap.org:10003/onap/optf-opteng:latest] "optf-opteng": Created docker-build.tar in 879 milliseconds [INFO] DOCKER> Step 1/10 : FROM osdf-base:latest [INFO] DOCKER> [INFO] DOCKER> ---> 22fa96b47c5f [INFO] DOCKER> Step 2/10 : EXPOSE 8699 [INFO] DOCKER> [INFO] DOCKER> ---> Using cache [INFO] DOCKER> ---> dcfbdbbebeee [INFO] DOCKER> Step 3/10 : WORKDIR /opt/osdf [INFO] DOCKER> [INFO] DOCKER> ---> Using cache [INFO] DOCKER> ---> 3c373e562e8a [INFO] DOCKER> Step 4/10 : COPY onap-osdf-tm/requirements-opteng.txt /tmp/requirements-opteng.txt [INFO] DOCKER> [INFO] DOCKER> ---> b118d5e6510e [INFO] DOCKER> Step 5/10 : RUN pip install --no-cache-dir -r /tmp/requirements-opteng.txt [INFO] DOCKER> [INFO] DOCKER> ---> Running in 536e5dc858b1 [INFO] DOCKER> Collecting mysql-connector-python==8.0.31 [INFO] DOCKER> Downloading mysql_connector_python-8.0.31-cp39-cp39-manylinux1_x86_64.whl (23.5 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.5/23.5 MB 219.5 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Collecting protobuf<=3.20.1,>=3.11.0 [INFO] DOCKER> Downloading protobuf-3.20.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB) [INFO] DOCKER> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 168.9 MB/s eta 0:00:00 [INFO] DOCKER> [INFO] DOCKER> Installing collected packages: protobuf, mysql-connector-python [INFO] DOCKER> Successfully installed mysql-connector-python-8.0.31 protobuf-3.20.1 [INFO] DOCKER> [91mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [INFO] DOCKER> [91m [notice] A new release of pip is available: 23.0.1 -> 24.1 [notice] To update, run: pip install --upgrade pip [INFO] DOCKER> Removing intermediate container 536e5dc858b1 [INFO] DOCKER> ---> 916711958ac3 [INFO] DOCKER> Step 6/10 : COPY onap-osdf-tm/ /opt/osdf [INFO] DOCKER> [INFO] DOCKER> ---> 4a28528f0d6b [INFO] DOCKER> Step 7/10 : RUN mkdir -p /var/log/onap/optf/osdf/ && chown onap:onap /var/log/onap -R && chown onap:onap /opt/osdf -R [INFO] DOCKER> [INFO] DOCKER> ---> Running in ff5acec13b5e [INFO] DOCKER> Removing intermediate container ff5acec13b5e [INFO] DOCKER> ---> b9aaff2f31bd [INFO] DOCKER> Step 8/10 : USER onap [INFO] DOCKER> [INFO] DOCKER> ---> Running in 609a79b9ba84 [INFO] DOCKER> Removing intermediate container 609a79b9ba84 [INFO] DOCKER> ---> f8cb134aa31d [INFO] DOCKER> Step 9/10 : ENV OSDF_CONFIG_FILE "/opt/osdf/config/opteng_config.yaml" [INFO] DOCKER> [INFO] DOCKER> ---> Running in 46639a4d7e76 [INFO] DOCKER> Removing intermediate container 46639a4d7e76 [INFO] DOCKER> ---> 900224d0ee54 [INFO] DOCKER> Step 10/10 : CMD [ "python", "solverapp.py" ] [INFO] DOCKER> [INFO] DOCKER> ---> Running in d204ad17cf41 [INFO] DOCKER> Removing intermediate container d204ad17cf41 [INFO] DOCKER> ---> 7cdeb5e70368 [INFO] DOCKER> [Warning] One or more build-args [REPO MVN_ARTIFACT_VERSION] were not consumed [INFO] DOCKER> Successfully built 7cdeb5e70368 [INFO] DOCKER> Successfully tagged nexus3.onap.org:10003/onap/optf-opteng:latest [INFO] DOCKER> [nexus3.onap.org:10003/onap/optf-opteng:latest] "optf-opteng": Built image sha256:7cdeb [INFO] DOCKER> [nexus3.onap.org:10003/onap/optf-opteng:latest] "optf-opteng": Tag with latest,3.0.8-SNAPSHOT-20240622T121805Z,3.0.8-SNAPSHOT-latest [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 03:36 min [INFO] Finished at: 2024-06-22T12:21:41Z [INFO] ------------------------------------------------------------------------ + '[' https://sonarcloud.io = https://sonarcloud.io ']' + params+=("-Dsonar.projectKey=$PROJECT_KEY") + params+=("-Dsonar.organization=$PROJECT_ORGANIZATION") + params+=("-Dsonar.login=$API_TOKEN") + '[' False = True ']' + '[' -n openjdk17 ']' + '[' openjdk11 '!=' openjdk17 ']' + export SET_JDK_VERSION=openjdk17 + SET_JDK_VERSION=openjdk17 + bash /dev/fd/63 ++ curl -s https://raw.githubusercontent.com/lfit/releng-global-jjb/master/shell/update-java-alternatives.sh ---> update-java-alternatives.sh ---> Updating Java version ---> Ubuntu/Debian system detected update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/java to provide /usr/bin/java (java) in manual mode update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in manual mode update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64 to provide /usr/lib/jvm/java-openjdk (java_sdk_openjdk) in manual mode openjdk version "17.0.4" 2022-07-19 OpenJDK Runtime Environment (build 17.0.4+8-Ubuntu-118.04) OpenJDK 64-Bit Server VM (build 17.0.4+8-Ubuntu-118.04, mixed mode, sharing) JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 + source /tmp/java.env ++ JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 + /w/tools/hudson.tasks.Maven_MavenInstallation/mvn35/bin/mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar -e -Dsonar -Dsonar.host.url=https://sonarcloud.io --global-settings /w/workspace/optf-osdf-sonar@tmp/config18409615389833144594tmp --settings /w/workspace/optf-osdf-sonar@tmp/config14673589784741668842tmp -Dsonar.projectKey=onap_optf-osdf -Dsonar.organization=onap -Dsonar.login=**** --show-version --batch-mode -Djenkins -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r Unrecognized VM option 'MaxPermSize=256m' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Build step 'Conditional steps (multiple)' marked build as failure [FINDBUGS] Skipping publisher since build result is FAILURE [PostBuildScript] - [INFO] Executing post build scripts. [optf-osdf-sonar] $ /bin/bash /tmp/jenkins6280354239877954424.sh ---> sysstat.sh [optf-osdf-sonar] $ /bin/bash /tmp/jenkins13938403313279515243.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=debian + workspace=/w/workspace/optf-osdf-sonar + START_PACKAGES=/tmp/packages_start.txt + END_PACKAGES=/tmp/packages_end.txt + DIFF_PACKAGES=/tmp/packages_diff.txt + PACKAGES=/tmp/packages_start.txt + '[' /w/workspace/optf-osdf-sonar ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + dpkg -l + grep '^ii' + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + '[' /w/workspace/optf-osdf-sonar ']' + mkdir -p /w/workspace/optf-osdf-sonar/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/optf-osdf-sonar/archives/ [optf-osdf-sonar] $ /bin/bash /tmp/jenkins2035069464838262666.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-sonar/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Akgn from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-Akgn/bin to PATH INFO: Running in OpenStack, capturing instance metadata [optf-osdf-sonar] $ /bin/bash /tmp/jenkins561657318778730743.sh provisioning config files... copy managed file [jenkins-log-archives-settings] to file:/w/workspace/optf-osdf-sonar@tmp/config13808338781752486599tmp Regular expression run condition: Expression=[^.*logs-s3.*], Label=[] Run condition [Regular expression match] preventing perform for step [Provide Configuration files] [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SERVER_ID=logs [EnvInject] - Variables injected successfully. [optf-osdf-sonar] $ /bin/bash /tmp/jenkins17579658307076885301.sh ---> create-netrc.sh [optf-osdf-sonar] $ /bin/bash /tmp/jenkins11258612836982436505.sh ---> python-tools-install.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-sonar/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Akgn from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-Akgn/bin to PATH [optf-osdf-sonar] $ /bin/bash /tmp/jenkins16159275779585905254.sh ---> sudo-logs.sh Archiving 'sudo' log.. [optf-osdf-sonar] $ /bin/bash /tmp/jenkins12570334729159566918.sh ---> job-cost.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-sonar/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Akgn from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-Akgn/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v3-standard-8 INFO: Archiving Costs [optf-osdf-sonar] $ /bin/bash -l /tmp/jenkins16230901613824669125.sh ---> logs-deploy.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-sonar/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-Akgn from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-Akgn/bin to PATH INFO: Nexus URL https://nexus.onap.org path production/vex-yul-ecomp-jenkins-1/optf-osdf-sonar/2150 INFO: archiving workspace using pattern(s): -p **/*.log -p **/hs_err_*.log -p **/target/**/feature.xml -p **/target/failsafe-reports/failsafe-summary.xml -p **/target/surefire-reports/*-output.txt Archives upload complete. INFO: archiving logs to Nexus ---> uname -a: Linux prd-ubuntu1804-docker-8c-8g-18599 4.15.0-192-generic #203-Ubuntu SMP Wed Aug 10 17:40:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 8 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 23 Model: 49 Model name: AMD EPYC-Rome Processor Stepping: 0 CPU MHz: 2799.998 BogoMIPS: 5599.99 Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 32K L1i cache: 32K L2 cache: 512K L3 cache: 16384K NUMA node0 CPU(s): 0-7 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl xtopology cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr arat npt nrip_save umip rdpid arch_capabilities ---> nproc: 8 ---> df -h: Filesystem Size Used Avail Use% Mounted on udev 16G 0 16G 0% /dev tmpfs 3.2G 716K 3.2G 1% /run /dev/vda1 155G 12G 144G 8% / tmpfs 16G 0 16G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/vda15 105M 4.4M 100M 5% /boot/efi tmpfs 3.2G 0 3.2G 0% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 32167 878 26961 0 4327 30833 Swap: 1023 0 1023 ---> ip addr: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 link/ether fa:16:3e:ff:a3:0b brd ff:ff:ff:ff:ff:ff inet 10.30.107.154/23 brd 10.30.107.255 scope global dynamic ens3 valid_lft 86047sec preferred_lft 86047sec inet6 fe80::f816:3eff:feff:a30b/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:9a:73:c0:8b brd ff:ff:ff:ff:ff:ff inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:9aff:fe73:c08b/64 scope link valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-18599) 06/22/24 _x86_64_ (8 CPU) 12:16:26 LINUX RESTART (8 CPU) 12:17:01 tps rtps wtps bread/s bwrtn/s 12:18:01 320.36 39.00 281.36 1759.68 29827.12 12:19:01 155.26 37.10 118.16 920.23 35894.97 12:20:01 78.04 0.68 77.35 43.86 35849.23 12:21:01 189.69 7.22 182.47 536.44 72886.12 12:22:01 194.98 5.83 189.15 1029.03 51742.18 Average: 187.67 17.97 169.70 857.88 45239.10 12:17:01 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 12:18:01 30003468 31662532 2935752 8.91 74528 1890444 1467008 4.32 916696 1719096 209196 12:19:01 28943376 31256232 3995844 12.13 98060 2495188 2220740 6.53 1353556 2286484 421760 12:20:01 28404180 31200736 4535040 13.77 108288 2953520 2203764 6.48 1500444 2649224 463032 12:21:01 27500268 30981728 5438952 16.51 124576 3571872 2181176 6.42 1749372 3243936 18908 12:22:01 27650676 31613316 5288544 16.06 139744 4009296 1442800 4.25 1159508 3656984 17004 Average: 28500394 31342909 4438826 13.48 109039 2984064 1903098 5.60 1335915 2711145 225980 12:17:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 12:18:01 lo 1.40 1.40 0.16 0.16 0.00 0.00 0.00 0.00 12:18:01 ens3 165.23 106.11 1180.44 32.77 0.00 0.00 0.00 0.00 12:18:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:19:01 lo 0.93 0.93 0.09 0.09 0.00 0.00 0.00 0.00 12:19:01 ens3 194.00 139.14 2451.18 26.65 0.00 0.00 0.00 0.00 12:19:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:20:01 lo 6.22 6.22 0.67 0.67 0.00 0.00 0.00 0.00 12:20:01 ens3 54.64 33.54 13.75 10.61 0.00 0.00 0.00 0.00 12:20:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:21:01 lo 1.33 1.33 0.12 0.12 0.00 0.00 0.00 0.00 12:21:01 ens3 406.25 272.95 4218.70 56.40 0.00 0.00 0.00 0.00 12:21:01 vethf7c1e5c 6.42 9.08 0.76 170.34 0.00 0.00 0.00 0.01 12:21:01 docker0 68.07 111.16 3.95 3120.44 0.00 0.00 0.00 0.00 12:22:01 lo 0.40 0.40 0.04 0.04 0.00 0.00 0.00 0.00 12:22:01 ens3 141.93 95.58 1725.93 30.73 0.00 0.00 0.00 0.00 12:22:01 docker0 38.49 67.22 2.72 1698.14 0.00 0.00 0.00 0.00 Average: lo 2.06 2.06 0.22 0.22 0.00 0.00 0.00 0.00 Average: ens3 192.41 129.47 1917.99 31.43 0.00 0.00 0.00 0.00 Average: docker0 21.31 35.68 1.33 963.65 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-18599) 06/22/24 _x86_64_ (8 CPU) 12:16:26 LINUX RESTART (8 CPU) 12:17:01 CPU %user %nice %system %iowait %steal %idle 12:18:01 all 9.99 0.00 0.88 3.19 0.03 85.90 12:18:01 0 28.48 0.00 1.44 1.60 0.05 68.44 12:18:01 1 9.89 0.00 0.55 0.65 0.05 88.86 12:18:01 2 5.96 0.00 0.61 0.17 0.02 93.25 12:18:01 3 1.37 0.00 0.37 0.85 0.02 97.40 12:18:01 4 7.81 0.00 0.75 0.43 0.03 90.97 12:18:01 5 3.60 0.00 0.62 0.45 0.03 95.30 12:18:01 6 0.70 0.00 1.39 19.35 0.03 78.53 12:18:01 7 22.09 0.00 1.30 2.12 0.05 74.45 12:19:01 all 13.15 0.00 0.77 2.42 0.04 83.63 12:19:01 0 30.70 0.00 2.10 5.19 0.05 61.96 12:19:01 1 9.20 0.00 0.55 0.13 0.03 90.08 12:19:01 2 3.78 0.00 0.42 0.40 0.02 95.38 12:19:01 3 10.53 0.00 0.80 0.60 0.03 88.03 12:19:01 4 5.63 0.00 0.55 2.83 0.07 90.92 12:19:01 5 5.04 0.00 0.37 4.52 0.02 90.05 12:19:01 6 29.58 0.00 0.77 5.19 0.05 64.42 12:19:01 7 10.68 0.00 0.58 0.45 0.02 88.27 12:20:01 all 7.01 0.00 0.59 2.10 0.02 90.28 12:20:01 0 2.18 0.00 0.30 0.00 0.02 97.50 12:20:01 1 47.13 0.00 1.69 0.90 0.07 50.22 12:20:01 2 0.33 0.00 0.40 0.00 0.02 99.25 12:20:01 3 1.97 0.00 0.38 0.00 0.02 97.63 12:20:01 4 1.54 0.00 0.57 1.85 0.02 96.03 12:20:01 5 0.78 0.00 0.27 2.22 0.00 96.73 12:20:01 6 0.32 0.00 0.70 11.76 0.02 87.21 12:20:01 7 1.85 0.00 0.42 0.05 0.02 97.67 12:21:01 all 10.66 0.00 1.90 3.53 0.04 83.86 12:21:01 0 5.33 0.00 1.22 0.07 0.03 93.35 12:21:01 1 12.89 0.00 2.13 0.30 0.07 84.61 12:21:01 2 6.35 0.00 2.03 3.45 0.03 88.13 12:21:01 3 8.44 0.00 0.98 0.32 0.03 90.23 12:21:01 4 5.33 0.00 2.24 1.49 0.03 90.91 12:21:01 5 6.26 0.00 2.40 0.75 0.03 90.56 12:21:01 6 37.49 0.00 1.97 4.37 0.08 56.09 12:21:01 7 3.09 0.00 2.23 17.52 0.03 77.12 12:22:01 all 9.16 0.00 1.70 3.33 0.04 85.77 12:22:01 0 3.32 0.00 1.29 0.17 0.03 95.19 12:22:01 1 4.32 0.00 1.37 6.03 0.03 88.24 12:22:01 2 12.13 0.00 2.30 3.77 0.03 81.77 12:22:01 3 13.70 0.00 1.77 5.51 0.03 78.99 12:22:01 4 7.75 0.00 1.61 8.58 0.03 82.03 12:22:01 5 4.37 0.00 1.84 0.39 0.02 93.38 12:22:01 6 5.51 0.00 1.83 1.56 0.05 91.06 12:22:01 7 22.14 0.00 1.59 0.65 0.05 75.57 Average: all 9.99 0.00 1.17 2.91 0.03 85.89 Average: 0 14.02 0.00 1.27 1.41 0.04 83.27 Average: 1 16.70 0.00 1.26 1.60 0.05 80.39 Average: 2 5.72 0.00 1.15 1.56 0.02 91.55 Average: 3 7.20 0.00 0.86 1.46 0.03 90.46 Average: 4 5.61 0.00 1.14 3.03 0.04 90.17 Average: 5 4.01 0.00 1.10 1.67 0.02 93.21 Average: 6 14.73 0.00 1.33 8.45 0.05 75.44 Average: 7 11.98 0.00 1.22 4.14 0.03 82.62