Started by timer Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu1804-docker-8c-8g-13618 (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 937e29371725448ddbe41a245c88bbfa5ad07729 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 937e29371725448ddbe41a245c88bbfa5ad07729 # timeout=10 Commit message: "add python compatibility module" > git rev-list --no-walk 937e29371725448ddbe41a245c88bbfa5ad07729 # 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/jenkins10743157977790756146.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-W4vE 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-W4vE/bin to PATH Generating Requirements File Python 3.10.6 pip 24.0 from /tmp/venv-W4vE/lib/python3.10/site-packages/pip (python 3.10) appdirs==1.4.4 argcomplete==3.2.3 aspy.yaml==1.3.0 attrs==23.2.0 autopage==0.5.2 beautifulsoup4==4.12.3 boto3==1.34.64 botocore==1.34.64 bs4==0.0.2 cachetools==5.3.3 certifi==2024.2.2 cffi==1.16.0 cfgv==3.4.0 chardet==5.2.0 charset-normalizer==3.3.2 click==8.1.7 cliff==4.6.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.2 email_validator==2.1.1 filelock==3.13.1 future==1.0.0 gitdb==4.0.11 GitPython==3.1.42 google-auth==2.28.2 httplib2==0.22.0 identify==2.5.35 idna==3.6 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.3 jmespath==1.0.1 jsonpatch==1.33 jsonpointer==2.4 jsonschema==4.21.1 jsonschema-specifications==2023.12.1 keystoneauth1==5.6.0 kubernetes==29.0.0 lftools==0.37.10 lxml==5.1.0 MarkupSafe==2.1.5 msgpack==1.0.8 multi_key_dict==2.0.3 munch==4.0.0 netaddr==1.2.1 netifaces==0.11.0 niet==1.4.2 nodeenv==1.8.0 oauth2client==4.1.3 oauthlib==3.2.2 openstacksdk==3.0.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==5.5.0 oslo.serialization==5.4.0 oslo.utils==7.1.0 packaging==24.0 pbr==6.0.0 platformdirs==4.2.0 prettytable==3.10.0 pyasn1==0.5.1 pyasn1-modules==0.3.0 pycparser==2.21 pygerrit2==2.0.15 PyGithub==2.2.0 pyinotify==0.9.6 PyJWT==2.8.0 PyNaCl==1.5.0 pyparsing==2.4.7 pyperclip==1.8.2 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.4.0 python-novaclient==18.6.0 python-openstackclient==6.5.0 python-swiftclient==4.5.0 PyYAML==6.0.1 referencing==0.33.0 requests==2.31.0 requests-oauthlib==1.4.0 requestsexceptions==1.4.0 rfc3986==2.0.0 rpds-py==0.18.0 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.4 tqdm==4.66.2 typing_extensions==4.10.0 tzdata==2024.1 urllib3==1.26.18 virtualenv==20.25.1 wcwidth==0.2.13 websocket-client==1.7.0 wrapt==1.16.0 xdg==6.0.0 xmltodict==0.13.0 yq==3.2.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/jenkins977067843831652668.sh + echo Using SonarCloud Using SonarCloud [optf-osdf-sonar] $ /bin/sh -xe /tmp/jenkins4006670412043960592.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-13618 [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/jenkins14459107702830699648.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/jenkins8989965289775247584.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/config16736922232631670500tmp copy managed file [optf-osdf-settings] to file:/w/workspace/optf-osdf-sonar@tmp/config12929352932873858105tmp [optf-osdf-sonar] $ /bin/bash -l /tmp/jenkins8010342709415217909.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/config16736922232631670500tmp --settings /w/workspace/optf-osdf-sonar@tmp/config12929352932873858105tmp --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.2.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.6,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.1.0,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.11.0,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.18,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='2735324192' [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.11.0 [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 F [ 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] =================================== FAILURES =================================== [INFO] __________ TestProcessPlacementOpt.test_process_pci_anr_opt_solutions __________ [INFO] [INFO] self = , kwargs = {} [INFO] [INFO] def json(self, **kwargs): [INFO] r"""Returns the json-encoded content of a response, if any. [INFO] [INFO] :param \*\*kwargs: Optional arguments that ``json.loads`` takes. [INFO] :raises requests.exceptions.JSONDecodeError: If the response body does not [INFO] contain valid json. [INFO] """ [INFO] [INFO] if not self.encoding and self.content and len(self.content) > 3: [INFO] # No encoding set. JSON RFC 4627 section 3 states we should expect [INFO] # UTF-8, -16 or -32. Detect which one to use; If the detection or [INFO] # decoding fails, fall back to `self.text` (using charset_normalizer to make [INFO] # a best guess). [INFO] encoding = guess_json_utf(self.content) [INFO] if encoding is not None: [INFO] try: [INFO] return complexjson.loads( [INFO] self.content.decode(encoding), **kwargs [INFO] ) [INFO] except UnicodeDecodeError: [INFO] # Wrong UTF codec detected; usually because it's not UTF-8 [INFO] # but some other 8-bit codec. This is an RFC violation, [INFO] # and the server didn't bother to tell us what codec *was* [INFO] # used. [INFO] pass [INFO] [INFO] try: [INFO] > return complexjson.loads(self.text, **kwargs) [INFO] [INFO] .tox/py3/lib/python3.6/site-packages/requests/models.py:910: [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] [INFO] s = '', encoding = None, cls = None, object_hook = None, parse_float = None [INFO] parse_int = None, parse_constant = None, object_pairs_hook = None, kw = {} [INFO] [INFO] def loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, [INFO] parse_int=None, parse_constant=None, object_pairs_hook=None, **kw): [INFO] """Deserialize ``s`` (a ``str``, ``bytes`` or ``bytearray`` instance [INFO] containing a JSON document) to a Python object. [INFO] [INFO] ``object_hook`` is an optional function that will be called with the [INFO] result of any object literal decode (a ``dict``). The return value of [INFO] ``object_hook`` will be used instead of the ``dict``. This feature [INFO] can be used to implement custom decoders (e.g. JSON-RPC class hinting). [INFO] [INFO] ``object_pairs_hook`` is an optional function that will be called with the [INFO] result of any object literal decoded with an ordered list of pairs. The [INFO] return value of ``object_pairs_hook`` will be used instead of the ``dict``. [INFO] This feature can be used to implement custom decoders that rely on the [INFO] order that the key and value pairs are decoded (for example, [INFO] collections.OrderedDict will remember the order of insertion). If [INFO] ``object_hook`` is also defined, the ``object_pairs_hook`` takes priority. [INFO] [INFO] ``parse_float``, if specified, will be called with the string [INFO] of every JSON float to be decoded. By default this is equivalent to [INFO] float(num_str). This can be used to use another datatype or parser [INFO] for JSON floats (e.g. decimal.Decimal). [INFO] [INFO] ``parse_int``, if specified, will be called with the string [INFO] of every JSON int to be decoded. By default this is equivalent to [INFO] int(num_str). This can be used to use another datatype or parser [INFO] for JSON integers (e.g. float). [INFO] [INFO] ``parse_constant``, if specified, will be called with one of the [INFO] following strings: -Infinity, Infinity, NaN. [INFO] This can be used to raise an exception if invalid JSON numbers [INFO] are encountered. [INFO] [INFO] To use a custom ``JSONDecoder`` subclass, specify it with the ``cls`` [INFO] kwarg; otherwise ``JSONDecoder`` is used. [INFO] [INFO] The ``encoding`` argument is ignored and deprecated. [INFO] [INFO] """ [INFO] if isinstance(s, str): [INFO] if s.startswith('\ufeff'): [INFO] raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)", [INFO] s, 0) [INFO] else: [INFO] if not isinstance(s, (bytes, bytearray)): [INFO] raise TypeError('the JSON object must be str, bytes or bytearray, ' [INFO] 'not {!r}'.format(s.__class__.__name__)) [INFO] s = s.decode(detect_encoding(s), 'surrogatepass') [INFO] [INFO] if (cls is None and object_hook is None and [INFO] parse_int is None and parse_float is None and [INFO] parse_constant is None and object_pairs_hook is None and not kw): [INFO] > return _default_decoder.decode(s) [INFO] [INFO] /usr/lib/python3.6/json/__init__.py:354: [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] [INFO] self = , s = '' [INFO] _w = [INFO] [INFO] def decode(self, s, _w=WHITESPACE.match): [INFO] """Return the Python representation of ``s`` (a ``str`` instance [INFO] containing a JSON document). [INFO] [INFO] """ [INFO] > obj, end = self.raw_decode(s, idx=_w(s, 0).end()) [INFO] [INFO] /usr/lib/python3.6/json/decoder.py:339: [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] [INFO] self = , s = '', idx = 0 [INFO] [INFO] def raw_decode(self, s, idx=0): [INFO] """Decode a JSON document from ``s`` (a ``str`` beginning with [INFO] a JSON document) and return a 2-tuple of the Python [INFO] representation and the index in ``s`` where the document ended. [INFO] [INFO] This can be used to decode a JSON document from a string that may [INFO] have extraneous data at the end. [INFO] [INFO] """ [INFO] try: [INFO] obj, end = self.scan_once(s, idx) [INFO] except StopIteration as err: [INFO] > raise JSONDecodeError("Expecting value", s, err.value) from None [INFO] E json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) [INFO] [INFO] /usr/lib/python3.6/json/decoder.py:357: JSONDecodeError [INFO] [INFO] During handling of the above exception, another exception occurred: [INFO] [INFO] request_json = {'anrInputList': [{'cellId': 'cell20', 'removeableNeighbors': ['cell23']}], 'cellInfo': {'cellIdList': ['cell20'], 'ne...backUrl/', 'numSolutions': 1, 'optimizers': ['pci-anr'], 'requestId': 'yyy-yyy-yyyy', ...}, 'trigger': 'NbrListChange'} [INFO] osdf_config = {'deployment': {'placementVersioningEnabled': False, 'placementMajorVersion': '1', 'placementMinorVersion': '0', 'plac...00, 'latest_ho_threshold': 500}, 'DES': {'service_id': 'ho_metric', 'filter': {'interval': 10}}, 'ml_enabled': False}}} [INFO] flat_policies = [{'OSDF_FRANKFURT.Affinity_vCPE_1': {'metadata': {'policy-id': 'OSDF_FRANKFURT.Affinity_vCPE_1', 'policy-version': 1},..., {...}]}, ...}, 'type': 'onap.policies.optimization.resource.OptimizationPolicy', 'type_version': '1.0.0', ...}}, ...] [INFO] [INFO] def process_pci_optimation(request_json, osdf_config, flat_policies): [INFO] """Process a PCI request from a Client (build config-db, policy and API call, make the call, return result) [INFO] [INFO] :param req_object: Request parameters from the client [INFO] :param osdf_config: Configuration specific to OSDF application (core + deployment) [INFO] :param flat_policies: policies related to pci (fetched based on request) [INFO] :return: response from PCI Opt [INFO] """ [INFO] try: [INFO] mdc_from_json(request_json) [INFO] rc = get_rest_client(request_json, service="pcih") [INFO] req_id = request_json["requestInfo"]["requestId"] [INFO] > cell_info_list, network_cell_info = config_request(request_json, osdf_config, flat_policies) [INFO] [INFO] apps/pci/optimizers/pci_opt_processor.py:53: [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] [INFO] req_object = {'anrInputList': [{'cellId': 'cell20', 'removeableNeighbors': ['cell23']}], 'cellInfo': {'cellIdList': ['cell20'], 'ne...backUrl/', 'numSolutions': 1, 'optimizers': ['pci-anr'], 'requestId': 'yyy-yyy-yyyy', ...}, 'trigger': 'NbrListChange'} [INFO] osdf_config = {'deployment': {'placementVersioningEnabled': False, 'placementMajorVersion': '1', 'placementMinorVersion': '0', 'plac...00, 'latest_ho_threshold': 500}, 'DES': {'service_id': 'ho_metric', 'filter': {'interval': 10}}, 'ml_enabled': False}}} [INFO] flat_policies = [{'OSDF_FRANKFURT.Affinity_vCPE_1': {'metadata': {'policy-id': 'OSDF_FRANKFURT.Affinity_vCPE_1', 'policy-version': 1},..., {...}]}, ...}, 'type': 'onap.policies.optimization.resource.OptimizationPolicy', 'type_version': '1.0.0', ...}}, ...] [INFO] [INFO] def request(req_object, osdf_config, flat_policies): [INFO] """Process a configdb request from a Client (build Conductor API call, make the call, return result) [INFO] [INFO] :param req_object: Request parameters from the client [INFO] :param osdf_config: Configuration specific to OSDF application (core + deployment) [INFO] :param flat_policies: policies related to PCI Opt (fetched based on request) [INFO] :return: response from ConfigDB (accounting for redirects from Conductor service [INFO] """ [INFO] cell_list_response = {} [INFO] [INFO] network_id = req_object['cellInfo']['networkId'] [INFO] [INFO] cell_list_response['network_id'] = network_id [INFO] [INFO] config = osdf_config.deployment [INFO] [INFO] config_client = ConfigClient.create(config['configClientType']) [INFO] [INFO] cell_resp = config_client.get_cell_list(network_id) [INFO] [INFO] cell_list = [] [INFO] count = 0 [INFO] for cell_id in cell_resp: [INFO] cell_info = { [INFO] 'cell_id': cell_id, [INFO] 'id': count, [INFO] > 'nbr_list': config_client.get_nbr_list(network_id, cell_id) [INFO] } [INFO] [INFO] apps/pci/optimizers/config_request.py:48: [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] [INFO] self = [INFO] network_id = 'netw2000', cell_id = 'cell22' [INFO] [INFO] def get_nbr_list(self, network_id, cell_id): [INFO] ts = dt.strftime(dt.now(), '%Y-%m-%d %H:%M:%S%z') [INFO] nbr_list_url = '{}/{}/{}/{}'.format(self.config['configDbUrl'], [INFO] self.config['configDbGetNbrListUrl'], cell_id, ts) [INFO] > response = self.rc.request(url=nbr_list_url, raw_response=True).json() [INFO] [INFO] apps/pci/optimizers/config/configdb.py:47: [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] [INFO] self = , kwargs = {} [INFO] [INFO] def json(self, **kwargs): [INFO] r"""Returns the json-encoded content of a response, if any. [INFO] [INFO] :param \*\*kwargs: Optional arguments that ``json.loads`` takes. [INFO] :raises requests.exceptions.JSONDecodeError: If the response body does not [INFO] contain valid json. [INFO] """ [INFO] [INFO] if not self.encoding and self.content and len(self.content) > 3: [INFO] # No encoding set. JSON RFC 4627 section 3 states we should expect [INFO] # UTF-8, -16 or -32. Detect which one to use; If the detection or [INFO] # decoding fails, fall back to `self.text` (using charset_normalizer to make [INFO] # a best guess). [INFO] encoding = guess_json_utf(self.content) [INFO] if encoding is not None: [INFO] try: [INFO] return complexjson.loads( [INFO] self.content.decode(encoding), **kwargs [INFO] ) [INFO] except UnicodeDecodeError: [INFO] # Wrong UTF codec detected; usually because it's not UTF-8 [INFO] # but some other 8-bit codec. This is an RFC violation, [INFO] # and the server didn't bother to tell us what codec *was* [INFO] # used. [INFO] pass [INFO] [INFO] try: [INFO] return complexjson.loads(self.text, **kwargs) [INFO] except JSONDecodeError as e: [INFO] # Catch JSON-related errors and raise as requests.JSONDecodeError [INFO] # This aliases json.JSONDecodeError and simplejson.JSONDecodeError [INFO] if is_py2: # e is a ValueError [INFO] raise RequestsJSONDecodeError(e.message) [INFO] else: [INFO] > raise RequestsJSONDecodeError(e.msg, e.doc, e.pos) [INFO] E requests.exceptions.JSONDecodeError: [Errno Expecting value] : 0 [INFO] [INFO] .tox/py3/lib/python3.6/site-packages/requests/models.py:917: JSONDecodeError [INFO] [INFO] During handling of the above exception, another exception occurred: [INFO] [INFO] self = [INFO] [INFO] def test_process_pci_anr_opt_solutions(self): [INFO] main_dir = "" [INFO] parameter_data_file = main_dir + "test/pci-optimization-tests/pci_anr_request.json" [INFO] policy_data_path = main_dir + "test/policy-local-files/" [INFO] self.config_spec = { [INFO] "deployment": "test/functest/simulators/simulated-config/osdf_config.yaml", [INFO] "core": "test/functest/simulators/simulated-config/common_config.yaml" [INFO] } [INFO] self.osdf_config = DotDict(config_loader.all_configs(**self.config_spec)) [INFO] [INFO] valid_policies_list_file = policy_data_path + '/' + 'meta-valid-policies.txt' [INFO] valid_policies_files = local_policies.get_policy_names_from_file(valid_policies_list_file) [INFO] [INFO] request_json = json_from_file(parameter_data_file) [INFO] policies = [json_from_file(policy_data_path + '/' + name) for name in valid_policies_files] [INFO] [INFO] > templ_string = process_pci_optimation(request_json, self.osdf_config, policies) [INFO] [INFO] test/test_process_pci_anr_opt.py:75: [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] apps/pci/optimizers/pci_opt_processor.py:61: in process_pci_optimation [INFO] body = build_json_error_body(err) [INFO] osdf/operation/error_handling.py:47: in build_json_error_body [INFO] return request_exception_to_json_body(error) [INFO] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] [INFO] error = JSONDecodeError('Expecting value', '') [INFO] [INFO] def request_exception_to_json_body(error): [INFO] friendly_message = "A request exception has occurred when contacting an external system" [INFO] if type(error) is HTTPError: [INFO] friendly_message = HTTP_ERROR_MESSAGE [INFO] if type(error) is ConnectionError: [INFO] friendly_message = CONNECTION_ERROR_MESSAGE [INFO] if type(error) is Timeout: [INFO] friendly_message = TIMEOUT_ERROR_MESSAGE [INFO] [INFO] eie_body = { [INFO] "serviceException": { [INFO] "text": friendly_message, [INFO] "errorType": "InterfaceError" [INFO] }, [INFO] "externalApplicationDetails": { [INFO] > "httpMethod": error.request.method, [INFO] "url": error.request.url [INFO] } [INFO] } [INFO] E AttributeError: 'NoneType' object has no attribute 'method' [INFO] [INFO] osdf/operation/error_handling.py:77: AttributeError [INFO] ----------------------------- Captured stderr call ----------------------------- [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.722+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Requesting URL: http://127.0.0.1:5000/simulated/configdb/getCellList/netw2000/2024-03-16 12:19:20 [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.726+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Received response [code: 200, headers: {'Content-Type': 'application/json', 'Content-Length': '67', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, data: {'_content': b'[\n "cell20", \n "cell21", \n "cell22", \n "cell23", \n "cell24"\n]\n', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {'Content-Type': 'application/json', 'Content-Length': '67', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getCellList/netw2000/2024-03-16%2012:19:20', 'encoding': 'utf-8', 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 3091), 'request': , 'connection': }] [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.727+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Requesting URL: http://127.0.0.1:5000/simulated/configdb/getNbrList/cell20/2024-03-16 12:19:20 [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.730+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Received response [code: 200, headers: {'Content-Type': 'application/json', 'Content-Length': '302', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, data: {'_content': b'{\n "cellId": "cell20", \n "nbrList": [\n {\n "ho": true, \n "pciValue": 0, \n "targetCellId": "cell21"\n }, \n {\n "ho": true, \n "pciValue": 1, \n "targetCellId": "cell22"\n }, \n {\n "ho": true, \n "pciValue": 2, \n "targetCellId": "cell23"\n }\n ]\n}\n', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {'Content-Type': 'application/json', 'Content-Length': '302', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getNbrList/cell20/2024-03-16%2012:19:20', 'encoding': 'utf-8', 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 2500), 'request': , 'connection': }] [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.731+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||cell_id cell20 nbr_list [{'ho': True, 'pciValue': 0, 'targetCellId': 'cell21'}, {'ho': True, 'pciValue': 1, 'targetCellId': 'cell22'}, {'ho': True, 'pciValue': 2, 'targetCellId': 'cell23'}] [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.731+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Requesting URL: http://127.0.0.1:5000/simulated/configdb/getNbrList/cell21/2024-03-16 12:19:20 [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.735+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Received response [code: 200, headers: {'Content-Type': 'application/json', 'Content-Length': '130', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, data: {'_content': b'{\n "cellId": "cell21", \n "nbrList": [\n {\n "ho": true, \n "pciValue": 0, \n "targetCellId": "cell20"\n }\n ]\n}\n', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {'Content-Type': 'application/json', 'Content-Length': '130', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getNbrList/cell21/2024-03-16%2012:19:20', 'encoding': 'utf-8', 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 3012), 'request': , 'connection': }] [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.736+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||cell_id cell21 nbr_list [{'ho': True, 'pciValue': 0, 'targetCellId': 'cell20'}] [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.736+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Requesting URL: http://127.0.0.1:5000/simulated/configdb/getNbrList/cell22/2024-03-16 12:19:20 [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.785+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|DEBUG||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Received response [code: 200, headers: {}, data: {'_content': b'', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getNbrList/cell22/2024-03-16%2012:19:20', 'encoding': None, 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 47389), 'request': , 'connection': }] [INFO] 2024-03-16T12:19:20.648+00:00|2024-03-16T12:19:20.788+00:00|yyy-yyy-yyyy||MainThread|prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|OOF_OSDF|SO||||||6ac98920-e38f-11ee-ada4-fa163efe78e0|ERROR||10.30.106.150||prd-ubuntu1804-docker-8c-8g-13618.openstacklocal|||||||errorCode=400,errorDescription=Internal Error,instanceUUID=6ac98920-e38f-11ee-ada4-fa163efe78e0,InvocationID=6ac98921-e38f-11ee-ada4-fa163efe78e0,serviceName=OOF_OSDF,threadID=MainThread,server=prd-ubuntu1804-docker-8c-8g-13618.openstacklocal,serverIPAddress=10.30.106.150,requestID=yyy-yyy-yyyy,partnerName=SO,entryTimestamp=2024-03-16T12:19:20.648|||Error for yyy-yyy-yyyy Traceback (most recent call last): File "/w/workspace/optf-osdf-sonar/.tox/py3/lib/python3.6/site-packages/requests/models.py", line 910, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/w/workspace/optf-osdf-sonar/apps/pci/optimizers/pci_opt_processor.py", line 53, in process_pci_optimation cell_info_list, network_cell_info = config_request(request_json, osdf_config, flat_policies) File "/w/workspace/optf-osdf-sonar/apps/pci/optimizers/config_request.py", line 48, in request 'nbr_list': config_client.get_nbr_list(network_id, cell_id) File "/w/workspace/optf-osdf-sonar/apps/pci/optimizers/config/configdb.py", line 47, in get_nbr_list response = self.rc.request(url=nbr_list_url, raw_response=True).json() File "/w/workspace/optf-osdf-sonar/.tox/py3/lib/python3.6/site-packages/requests/models.py", line 917, in json raise RequestsJSONDecodeError(e.msg, e.doc, e.pos) requests.exceptions.JSONDecodeError: [Errno Expecting value] : 0 [INFO] ------------------------------ Captured log call ------------------------------- [INFO] DEBUG debug:oof_mdc_context.py:67 Requesting URL: http://127.0.0.1:5000/simulated/configdb/getCellList/netw2000/2024-03-16 12:19:20 [INFO] DEBUG debug:oof_mdc_context.py:67 Received response [code: 200, headers: {'Content-Type': 'application/json', 'Content-Length': '67', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, data: {'_content': b'[\n "cell20", \n "cell21", \n "cell22", \n "cell23", \n "cell24"\n]\n', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {'Content-Type': 'application/json', 'Content-Length': '67', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getCellList/netw2000/2024-03-16%2012:19:20', 'encoding': 'utf-8', 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 3091), 'request': , 'connection': }] [INFO] DEBUG debug:oof_mdc_context.py:67 Requesting URL: http://127.0.0.1:5000/simulated/configdb/getNbrList/cell20/2024-03-16 12:19:20 [INFO] DEBUG debug:oof_mdc_context.py:67 Received response [code: 200, headers: {'Content-Type': 'application/json', 'Content-Length': '302', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, data: {'_content': b'{\n "cellId": "cell20", \n "nbrList": [\n {\n "ho": true, \n "pciValue": 0, \n "targetCellId": "cell21"\n }, \n {\n "ho": true, \n "pciValue": 1, \n "targetCellId": "cell22"\n }, \n {\n "ho": true, \n "pciValue": 2, \n "targetCellId": "cell23"\n }\n ]\n}\n', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {'Content-Type': 'application/json', 'Content-Length': '302', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getNbrList/cell20/2024-03-16%2012:19:20', 'encoding': 'utf-8', 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 2500), 'request': , 'connection': }] [INFO] DEBUG debug:oof_mdc_context.py:67 cell_id cell20 nbr_list [{'ho': True, 'pciValue': 0, 'targetCellId': 'cell21'}, {'ho': True, 'pciValue': 1, 'targetCellId': 'cell22'}, {'ho': True, 'pciValue': 2, 'targetCellId': 'cell23'}] [INFO] DEBUG debug:oof_mdc_context.py:67 Requesting URL: http://127.0.0.1:5000/simulated/configdb/getNbrList/cell21/2024-03-16 12:19:20 [INFO] DEBUG debug:oof_mdc_context.py:67 Received response [code: 200, headers: {'Content-Type': 'application/json', 'Content-Length': '130', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, data: {'_content': b'{\n "cellId": "cell21", \n "nbrList": [\n {\n "ho": true, \n "pciValue": 0, \n "targetCellId": "cell20"\n }\n ]\n}\n', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {'Content-Type': 'application/json', 'Content-Length': '130', 'Server': 'Werkzeug/2.0.3 Python/3.6.9', 'Date': 'Sat, 16 Mar 2024 12:19:20 GMT'}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getNbrList/cell21/2024-03-16%2012:19:20', 'encoding': 'utf-8', 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 3012), 'request': , 'connection': }] [INFO] DEBUG debug:oof_mdc_context.py:67 cell_id cell21 nbr_list [{'ho': True, 'pciValue': 0, 'targetCellId': 'cell20'}] [INFO] DEBUG debug:oof_mdc_context.py:67 Requesting URL: http://127.0.0.1:5000/simulated/configdb/getNbrList/cell22/2024-03-16 12:19:20 [INFO] DEBUG debug:oof_mdc_context.py:67 Received response [code: 200, headers: {}, data: {'_content': b'', '_content_consumed': True, '_next': None, 'status_code': 200, 'headers': {}, 'raw': , 'url': 'http://127.0.0.1:5000/simulated/configdb/getNbrList/cell22/2024-03-16%2012:19:20', 'encoding': None, 'history': [], 'reason': 'OK', 'cookies': , 'elapsed': datetime.timedelta(0, 0, 47389), 'request': , 'connection': }] [INFO] ERROR error:oof_mdc_context.py:118 Error for yyy-yyy-yyyy Traceback (most recent call last): File "/w/workspace/optf-osdf-sonar/.tox/py3/lib/python3.6/site-packages/requests/models.py", line 910, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3.6/json/__init__.py", line 354, in loads return _default_decoder.decode(s) File "/usr/lib/python3.6/json/decoder.py", line 339, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/w/workspace/optf-osdf-sonar/apps/pci/optimizers/pci_opt_processor.py", line 53, in process_pci_optimation cell_info_list, network_cell_info = config_request(request_json, osdf_config, flat_policies) File "/w/workspace/optf-osdf-sonar/apps/pci/optimizers/config_request.py", line 48, in request 'nbr_list': config_client.get_nbr_list(network_id, cell_id) File "/w/workspace/optf-osdf-sonar/apps/pci/optimizers/config/configdb.py", line 47, in get_nbr_list response = self.rc.request(url=nbr_list_url, raw_response=True).json() File "/w/workspace/optf-osdf-sonar/.tox/py3/lib/python3.6/site-packages/requests/models.py", line 917, in json raise RequestsJSONDecodeError(e.msg, e.doc, e.pos) requests.exceptions.JSONDecodeError: [Errno Expecting value] : 0 [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] =========================== short test summary info ============================ [INFO] FAILED test/test_process_pci_anr_opt.py::TestProcessPlacementOpt::test_process_pci_anr_opt_solutions [INFO] ================= 1 failed, 119 passed, 817 warnings in 27.61s ================= [INFO] ERROR: InvocationError for command /w/workspace/optf-osdf-sonar/.tox/py3/bin/coverage run --module pytest --junitxml xunit-results.xml (exited with code 1) [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.2.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.6,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.1.0,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.11.0,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.18,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='2735324192' [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: nst_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='2735324192' [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] ERROR: py3: commands failed [INFO] pylint: commands succeeded [INFO] flake8diff: commands succeeded [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:14 min [INFO] Finished at: 2024-03-16T12:20:37Z [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.1.1:exec (tox-test) on project optf-osdf: Result of /bin/sh -c cd /w/workspace/optf-osdf-sonar && tox execution is: '1'. -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.1.1:exec (tox-test) on project optf-osdf: Result of /bin/sh -c cd /w/workspace/optf-osdf-sonar && tox execution is: '1'. at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) Caused by: org.apache.maven.plugin.MojoExecutionException: Result of /bin/sh -c cd /w/workspace/optf-osdf-sonar && tox execution is: '1'. at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:283) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:954) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288) at org.apache.maven.cli.MavenCli.main (MavenCli.java:192) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 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/jenkins13013587156973310291.sh ---> sysstat.sh [optf-osdf-sonar] $ /bin/bash /tmp/jenkins11004183183676663188.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/jenkins3728965667936915861.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-W4vE from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-W4vE/bin to PATH INFO: Running in OpenStack, capturing instance metadata [optf-osdf-sonar] $ /bin/bash /tmp/jenkins1456009781307338133.sh provisioning config files... copy managed file [jenkins-log-archives-settings] to file:/w/workspace/optf-osdf-sonar@tmp/config14515504861905305435tmp 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/jenkins12560270437138840194.sh ---> create-netrc.sh [optf-osdf-sonar] $ /bin/bash /tmp/jenkins3754130205873885079.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-W4vE from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-W4vE/bin to PATH [optf-osdf-sonar] $ /bin/bash /tmp/jenkins11693104955931235220.sh ---> sudo-logs.sh Archiving 'sudo' log.. [optf-osdf-sonar] $ /bin/bash /tmp/jenkins3565578418729117041.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-W4vE 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-W4vE/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v3-standard-8 INFO: Archiving Costs [optf-osdf-sonar] $ /bin/bash -l /tmp/jenkins9413168389284490013.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-W4vE from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-W4vE/bin to PATH INFO: Nexus URL https://nexus.onap.org path production/vex-yul-ecomp-jenkins-1/optf-osdf-sonar/2136 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-13618 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 11G 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 899 28051 0 3216 30812 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:fe:78:e0 brd ff:ff:ff:ff:ff:ff inet 10.30.106.150/23 brd 10.30.107.255 scope global dynamic ens3 valid_lft 86100sec preferred_lft 86100sec inet6 fe80::f816:3eff:fefe:78e0/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1500 qdisc noqueue state DOWN group default link/ether 02:42:7a:54:0b:e3 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 ---> sar -b -r -n DEV: Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-13618) 03/16/24 _x86_64_ (8 CPU) 12:16:23 LINUX RESTART (8 CPU) 12:17:03 tps rtps wtps bread/s bwrtn/s 12:18:01 114.82 43.93 70.89 1970.02 24413.44 12:19:01 151.36 36.18 115.18 880.52 32575.77 12:20:01 81.25 1.80 79.45 80.12 34459.99 12:21:01 89.54 1.90 87.64 128.38 34046.06 Average: 109.20 20.76 88.44 754.73 31431.71 12:17:03 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 12:18:01 30114160 31698420 2825060 8.58 67816 1827472 1435796 4.22 873656 1661688 158392 12:19:01 28991664 31211348 3947556 11.98 92244 2415364 2269720 6.68 1447336 2158756 362972 12:20:01 28754936 31151432 4184284 12.70 99852 2574756 2375952 6.99 1470128 2352268 67188 12:21:01 28690012 31514572 4249208 12.90 114356 2966228 1601008 4.71 1123440 2731300 42364 Average: 29137693 31393943 3801527 11.54 93567 2445955 1920619 5.65 1228640 2226003 157729 12:17:03 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 12:18:01 ens3 150.61 120.40 1163.28 36.53 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:18:01 lo 1.52 1.52 0.16 0.16 0.00 0.00 0.00 0.00 12:19:01 ens3 195.58 142.04 2639.13 26.28 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:19:01 lo 1.13 1.13 0.11 0.11 0.00 0.00 0.00 0.00 12:20:01 ens3 42.79 19.90 10.63 8.07 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:20:01 lo 5.73 5.73 0.62 0.62 0.00 0.00 0.00 0.00 12:21:01 ens3 160.59 79.82 53.86 34.12 0.00 0.00 0.00 0.00 12:21:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:21:01 lo 0.73 0.73 0.07 0.07 0.00 0.00 0.00 0.00 Average: ens3 137.28 90.29 965.09 26.16 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 2.29 2.29 0.24 0.24 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 4.15.0-192-generic (prd-ubuntu1804-docker-8c-8g-13618) 03/16/24 _x86_64_ (8 CPU) 12:16:23 LINUX RESTART (8 CPU) 12:17:03 CPU %user %nice %system %iowait %steal %idle 12:18:01 all 10.72 0.00 0.79 2.18 0.04 86.26 12:18:01 0 3.84 0.00 0.50 0.14 0.02 95.51 12:18:01 1 15.90 0.00 1.45 13.22 0.05 69.38 12:18:01 2 9.26 0.00 0.55 0.19 0.05 89.95 12:18:01 3 9.84 0.00 0.29 0.41 0.02 89.43 12:18:01 4 11.22 0.00 0.60 1.33 0.03 86.81 12:18:01 5 11.71 0.00 1.11 1.02 0.03 86.13 12:18:01 6 10.02 0.00 0.74 0.52 0.10 88.61 12:18:01 7 14.07 0.00 1.07 0.62 0.03 84.21 12:19:01 all 14.62 0.00 0.86 2.35 0.05 82.13 12:19:01 0 27.30 0.00 1.35 1.14 0.07 70.15 12:19:01 1 12.44 0.00 1.34 8.59 0.05 77.58 12:19:01 2 8.25 0.00 0.45 0.62 0.03 90.65 12:19:01 3 7.89 0.00 1.05 5.99 0.03 85.04 12:19:01 4 8.86 0.00 0.43 0.18 0.03 90.49 12:19:01 5 18.69 0.00 0.59 1.02 0.03 79.67 12:19:01 6 6.52 0.00 0.62 0.07 0.07 92.72 12:19:01 7 27.11 0.00 1.05 1.20 0.07 70.57 12:20:01 all 5.58 0.00 0.58 1.90 0.02 91.92 12:20:01 0 33.03 0.00 1.44 0.57 0.07 64.90 12:20:01 1 2.12 0.00 0.52 5.72 0.02 91.62 12:20:01 2 4.14 0.00 0.25 0.03 0.02 95.56 12:20:01 3 0.82 0.00 0.47 0.00 0.02 98.70 12:20:01 4 1.30 0.00 0.38 0.07 0.02 98.23 12:20:01 5 0.97 0.00 0.80 8.31 0.02 89.90 12:20:01 6 0.50 0.00 0.35 0.45 0.02 98.68 12:20:01 7 1.93 0.00 0.40 0.03 0.03 97.60 12:21:01 all 11.86 0.00 0.87 2.43 0.04 84.80 12:21:01 0 1.02 0.00 0.75 0.03 0.03 98.16 12:21:01 1 23.45 0.00 1.78 1.53 0.07 73.16 12:21:01 2 27.41 0.00 0.52 0.15 0.03 71.89 12:21:01 3 1.02 0.00 0.70 5.42 0.02 92.84 12:21:01 4 5.57 0.00 0.80 0.00 0.02 93.61 12:21:01 5 1.52 0.00 0.70 10.06 0.03 87.69 12:21:01 6 26.30 0.00 0.75 2.17 0.10 70.67 12:21:01 7 8.61 0.00 0.95 0.02 0.03 90.38 Average: all 10.70 0.00 0.77 2.21 0.04 86.28 Average: 0 16.35 0.00 1.01 0.47 0.05 82.12 Average: 1 13.46 0.00 1.27 7.21 0.05 78.01 Average: 2 12.29 0.00 0.44 0.25 0.03 86.99 Average: 3 4.85 0.00 0.63 2.98 0.02 91.52 Average: 4 6.70 0.00 0.56 0.39 0.03 92.33 Average: 5 8.18 0.00 0.80 5.14 0.03 85.85 Average: 6 10.84 0.00 0.61 0.80 0.07 87.67 Average: 7 12.91 0.00 0.87 0.47 0.04 85.72