Triggered by Gerrit: https://gerrit.onap.org/r/c/optf/osdf/+/137418 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu1804-builder-4c-4g-21704 (ubuntu1804-builder-4c-4g) in workspace /w/workspace/optf-osdf-master-osdf-verify-python [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-zeNBa1SMbmfA/agent.1678 SSH_AGENT_PID=1679 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/optf-osdf-master-osdf-verify-python@tmp/private_key_6116967054633318090.key (/w/workspace/optf-osdf-master-osdf-verify-python@tmp/private_key_6116967054633318090.key) [ssh-agent] Using credentials onap-jobbuiler (Gerrit user) 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 > git init /w/workspace/optf-osdf-master-osdf-verify-python # timeout=10 Fetching upstream changes from git://cloud.onap.org/mirror/optf/osdf.git > 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.git +refs/heads/*:refs/remotes/origin/* # timeout=30 > git config remote.origin.url git://cloud.onap.org/mirror/optf/osdf.git # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://cloud.onap.org/mirror/optf/osdf.git # timeout=10 Fetching upstream changes from git://cloud.onap.org/mirror/optf/osdf.git 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.git refs/changes/18/137418/2 # timeout=30 > git rev-parse 95c9fc3d84ec1fafed3ab5ddfa1c580fc1227e02^{commit} # timeout=10 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script Checking out Revision 95c9fc3d84ec1fafed3ab5ddfa1c580fc1227e02 (refs/changes/18/137418/2) > git config core.sparsecheckout # timeout=10 > git checkout -f 95c9fc3d84ec1fafed3ab5ddfa1c580fc1227e02 # timeout=30 Commit message: "update link to upper-constraints.txt" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk 937e29371725448ddbe41a245c88bbfa5ad07729 # timeout=10 [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins6365482267760413584.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-ULYP 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-ULYP/bin to PATH Generating Requirements File Python 3.10.6 pip 24.0 from /tmp/venv-ULYP/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.80 botocore==1.34.80 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.3 future==1.0.0 gitdb==4.0.11 GitPython==3.1.43 google-auth==2.29.0 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.2.1 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.1 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.6.0 pyasn1_modules==0.4.0 pycparser==2.22 pygerrit2==2.0.15 PyGithub==2.3.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.6.0 python-swiftclient==4.5.0 PyYAML==6.0.1 referencing==0.34.0 requests==2.31.0 requests-oauthlib==2.0.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.11.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 provisioning config files... copy managed file [global-settings] to file:/w/workspace/optf-osdf-master-osdf-verify-python@tmp/config10775994940314421310tmp copy managed file [optf-osdf-settings] to file:/w/workspace/optf-osdf-master-osdf-verify-python@tmp/config640461837863141400tmp [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins5520062442164881418.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-master-osdf-verify-python/.python-version) lf-activate-venv(): INFO: Creating python3.8 venv at /tmp/venv-WfwF lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv lf-activate-venv(): INFO: Installing: tox virtualenv argparse webtest lf-activate-venv(): INFO: Adding /tmp/venv-WfwF/bin to PATH ---> Setting up pyenv Requirement already satisfied: pip in /tmp/venv-WfwF/lib/python3.8/site-packages (24.0) Python 3.8.13 beautifulsoup4==4.12.3 cachetools==5.3.3 chardet==5.2.0 colorama==0.4.6 distlib==0.3.8 filelock==3.13.3 packaging==24.0 platformdirs==4.2.0 pluggy==1.4.0 pyproject-api==1.6.1 soupsieve==2.5 tomli==2.0.1 tox==4.14.2 virtualenv==20.25.1 waitress==3.0.0 WebOb==1.8.7 WebTest==3.0.0 4.14.2 from /tmp/venv-WfwF/lib/python3.8/site-packages/tox/__init__.py py3: install_deps> python -I -m pip install -r /w/workspace/optf-osdf-master-osdf-verify-python/requirements.txt -r /w/workspace/optf-osdf-master-osdf-verify-python/test/test-requirements.txt -r /w/workspace/optf-osdf-master-osdf-verify-python/requirements-osdf.txt -r /w/workspace/optf-osdf-master-osdf-verify-python/requirements-opteng.txt py3: freeze> python -m pip freeze --all py3: astroid==3.1.0,attrs==23.2.0,blinker==1.7.0,boto3==1.34.80,botocore==1.34.80,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,click==8.1.7,coverage==7.4.4,cryptography==3.3.2,dill==0.3.8,docopt==0.6.2,docutils==0.20.1,exceptiongroup==1.2.0,Flask==3.0.3,Flask-HTTPAuth==4.8.0,idna==3.6,importlib_metadata==7.1.0,importlib_resources==6.4.0,iniconfig==2.0.0,isort==5.13.2,itsdangerous==2.1.2,Jinja2==3.1.3,jmespath==1.0.1,joblib==1.4.0,jsonschema==4.21.1,jsonschema-specifications==2023.12.1,lxml==5.2.1,MarkupSafe==2.1.5,mccabe==0.7.0,mock==5.1.0,moto==5.0.5,mysql-connector-python==8.0.31,numpy==1.24.4,onappylog==1.0.9,onapsmsclient==0.0.4,packaging==24.0,pathtools==0.1.2,pip==24.0,pkgutil_resolve_name==1.3.10,platformdirs==4.2.0,pluggy==1.4.0,protobuf==3.20.1,pycparser==2.22,pycryptodome==3.20.0,pylint==3.1.0,pymzn==0.18.3,pytest==8.1.1,pytest-tap==3.4,python-consul==1.1.0,python-dateutil==2.9.0.post0,PyYAML==5.4.1,referencing==0.34.0,requests==2.31.0,requests-mock==1.12.1,responses==0.25.0,rpds-py==0.18.0,s3transfer==0.10.1,schematics==2.1.1,scikit-learn==1.3.2,scipy==1.10.1,setuptools==69.1.0,six==1.16.0,tap.py==3.1,threadpoolctl==3.4.0,tomli==2.0.1,tomlkit==0.12.4,tornado==6.4,typing_extensions==4.11.0,urllib3==1.26.18,watchdog==4.0.0,Werkzeug==3.0.2,wheel==0.42.0,xmltodict==0.13.0,zipp==3.18.1 py3: commands[0]> /bin/cp config/slicing_config.yaml test/config/ py3: commands[1]> /bin/bash test/functest/scripts/start-simulators.sh simulator pid py3: commands[2]> coverage run --module pytest --junitxml xunit-results.xml ============================= test session starts ============================== platform linux -- Python 3.8.13, pytest-8.1.1, pluggy-1.4.0 cachedir: .tox/py3/.pytest_cache rootdir: /w/workspace/optf-osdf-master-osdf-verify-python plugins: tap-3.4, requests-mock-1.12.1 collected 120 items test/adapters/dcae/test_des.py . [ 0%] test/adapters/test_message_router.py ..... [ 5%] test/adapters/test_sms.py . [ 5%] test/apps/nxi_termination/test_fetch_aai_data.py . [ 6%] test/apps/nxi_termination/test_remote_opt_processor_termination.py . [ 7%] test/apps/pci_optimization/test_ml_model.py . [ 8%] test/apps/slice_selection/test_remote_opt_processor.py .. [ 10%] test/conductor/test_conductor_calls.py .. [ 11%] test/conductor/test_conductor_translation.py ... [ 14%] test/configdb/test_configdb_calls.py . [ 15%] test/local_data/test_local_policies.py ... [ 17%] test/logging/test_osdf_logging.py .............................. [ 42%] test/mainapp/test_osdfapp.py ..... [ 46%] test/operation/test_responses.py ... [ 49%] test/osdf/utils/test_interfaces.py .... [ 52%] test/osdf/utils/test_programming_utils.py ... [ 55%] test/policy/test_policy_interface.py . [ 55%] test/test_ConductorApiBuilder.py .. [ 57%] test/test_PolicyCalls.py ..... [ 61%] test/test_aaf_authentication.py ....... [ 67%] test/test_api_data_utils.py . [ 68%] test/test_api_validation.py ............ [ 78%] test/test_getPolicy.py . [ 79%] test/test_get_opt_query_data.py .. [ 80%] test/test_inter_domain_route_opt.py . [ 81%] test/test_model_api.py ...... [ 86%] test/test_optim_engine.py ........ [ 93%] test/test_process_fixed_pci.py . [ 94%] test/test_process_pci_anr_opt.py . [ 95%] test/test_process_pci_opt.py . [ 95%] test/test_process_placement_opt.py ... [ 98%] test/test_simple_route_opt.py . [ 99%] test/test_so_response_gen.py . [100%] =============================== warnings summary =============================== test/adapters/test_message_router.py::TestMessageRouter::test_mr_http_request_mocked /w/workspace/optf-osdf-master-osdf-verify-python/osdf/utils/data_types.py:24: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working return isinstance(obj, collections.Sequence) and not isinstance(obj, (str, bytes)) test/apps/nxi_termination/test_fetch_aai_data.py::TestRemoteOptProcessor::test_get_aai_data /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_fetch_aai_data.py:56: DeprecationWarning: Please use assertEqual instead. self.assertEquals(response_json, get_aai_data(request_json,osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:74: DeprecationWarning: Please use assertEqual instead. self.assertEquals(success_output_json, process_nxi_termination_opt(request_json, osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:80: DeprecationWarning: Please use assertEqual instead. self.assertEquals(nxi_failure_output_json1, process_nxi_termination_opt(request_json, osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:89: DeprecationWarning: Please use assertEqual instead. self.assertEquals(success_output_json, process_nxi_termination_opt(request_json, osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:96: DeprecationWarning: Please use assertEqual instead. self.assertEquals(success_output_json, process_nxi_termination_opt(nssi_request_json, osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:103: DeprecationWarning: Please use assertEqual instead. self.assertEquals(nssi_failure_output_json, process_nxi_termination_opt(nssi_request_json, osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:112: DeprecationWarning: Please use assertEqual instead. self.assertEquals(success_output_json, process_nxi_termination_opt(nssi_request_json, osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:119: DeprecationWarning: Please use assertEqual instead. self.assertEquals(nxi_failure_output_json2, process_nxi_termination_opt(nssi_request_json, osdf_config)) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:125: DeprecationWarning: Please use assertEqual instead. self.assertEquals("failure", process_nxi_termination_opt(nssi_request_json, osdf_config).get('requestStatus')) test/apps/nxi_termination/test_remote_opt_processor_termination.py::TestRemoteOptProcessor::test_process_nxi_termination_opt /w/workspace/optf-osdf-master-osdf-verify-python/test/apps/nxi_termination/test_remote_opt_processor_termination.py:131: DeprecationWarning: Please use assertEqual instead. self.assertEquals("failure", process_nxi_termination_opt(nssi_request_json, osdf_config).get('requestStatus')) test/logging/test_osdf_logging.py::TestOSDFLogging::test_warn_audit_error test/logging/test_osdf_logging.py::TestOSDFLogging::test_warn_audit_error /w/workspace/optf-osdf-master-osdf-verify-python/osdf/logging/osdf_logging.py:321: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead log_method(msg) test/osdf/utils/test_programming_utils.py::TestProgrammingUtils::test_namedtuple_with_defaults_dict /w/workspace/optf-osdf-master-osdf-verify-python/osdf/utils/programming_utils.py:53: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working if isinstance(default_values, collections.Mapping): test/test_api_validation.py: 240 warnings test/test_model_api.py: 8 warnings test/test_optim_engine.py: 56 warnings /w/workspace/optf-osdf-master-osdf-verify-python/.tox/py3/lib/python3.8/site-packages/schematics/transforms.py:103: SchematicsDeprecationWarning: Call to deprecated function _valid_input_keys. all_fields = schema._valid_input_keys test/test_api_validation.py: 398 warnings test/test_model_api.py: 9 warnings test/test_optim_engine.py: 94 warnings /w/workspace/optf-osdf-master-osdf-verify-python/.tox/py3/lib/python3.8/site-packages/schematics/validate.py:91: SchematicsDeprecationWarning: Call to deprecated function _validator_functions. atom.name in schema._validator_functions -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html - generated xml file: /w/workspace/optf-osdf-master-osdf-verify-python/xunit-results.xml - ====================== 120 passed, 819 warnings in 27.67s ====================== py3: commands[3]> coverage xml '--omit=.tox/py3/*,test/*' Wrote XML report to coverage.xml py3: commands[4]> coverage report -m '--omit=.tox/py3/*,test/*' Name Stmts Miss Branch BrPart Cover Missing --------------------------------------------------------------------------------------------------------------- apps/__init__.py 0 0 0 0 100% apps/license/__init__.py 0 0 0 0 100% apps/license/optimizers/__init__.py 0 0 0 0 100% apps/license/optimizers/simple_license_allocation.py 10 1 2 1 83% 37 apps/nxi_termination/__init__.py 0 0 0 0 100% apps/nxi_termination/models/api/nxi_termination_request.py 21 0 0 0 100% apps/nxi_termination/optimizers/__init__.py 0 0 0 0 100% apps/nxi_termination/optimizers/remote_opt_processor.py 64 12 28 6 78% 48->61, 51, 56->59, 61->77, 74->77, 82-84, 96-101, 105-107 apps/nxi_termination/optimizers/response_processor.py 2 0 0 0 100% apps/pci/__init__.py 0 0 0 0 100% apps/pci/optimizers/__init__.py 2 0 0 0 100% apps/pci/optimizers/config/__init__.py 0 0 0 0 100% apps/pci/optimizers/config/config_client.py 13 1 2 1 87% 35 apps/pci/optimizers/config/configdb.py 23 0 2 0 100% apps/pci/optimizers/config/cps.py 29 19 6 0 34% 31-37, 41-49, 52-72 apps/pci/optimizers/config_request.py 16 0 2 0 100% apps/pci/optimizers/pci_opt_processor.py 70 19 10 2 71% 57-67, 73-74, 100-101, 105-107, 127-131 apps/pci/optimizers/solver/__init__.py 0 0 0 0 100% apps/pci/optimizers/solver/ml_model.py 38 0 8 0 100% apps/pci/optimizers/solver/optimizer.py 111 4 48 3 96% 50, 82, 91, 135 apps/pci/optimizers/solver/pci_utils.py 24 3 16 3 85% 31, 38, 47 apps/placement/__init__.py 0 0 0 0 100% apps/placement/models/__init__.py 0 0 0 0 100% apps/placement/models/api/__init__.py 0 0 0 0 100% apps/placement/models/api/placementRequest.py 59 0 0 0 100% apps/placement/models/api/placementResponse.py 31 0 0 0 100% apps/placement/optimizers/__init__.py 0 0 0 0 100% apps/placement/optimizers/conductor/__init__.py 0 0 0 0 100% apps/placement/optimizers/conductor/remote_opt_processor.py 82 21 20 4 75% 65-66, 72-73, 82->86, 107-109, 152, 154-172, 177-178 apps/route/__init__.py 0 0 0 0 100% apps/route/optimizers/__init__.py 0 0 0 0 100% apps/route/optimizers/inter_domain_route_opt.py 195 6 54 11 93% 78-80, 126->125, 147-149, 175->168, 228->227, 230->227, 232->224, 303->exit, 326->exit, 345->exit, 365->exit, 368->exit, 369->368 apps/route/optimizers/simple_route_opt.py 161 8 38 8 92% 54, 61-63, 67->65, 129->157, 136->131, 155, 187->192, 195->200, 249-251, 265->exit apps/slice_selection/__init__.py 0 0 0 0 100% apps/slice_selection/models/api/__init__.py 0 0 0 0 100% apps/slice_selection/models/api/nsi_selection_request.py 32 0 0 0 100% apps/slice_selection/models/api/nssi_selection_request.py 17 0 0 0 100% apps/slice_selection/optimizers/__init__.py 0 0 0 0 100% apps/slice_selection/optimizers/conductor/__init__.py 0 0 0 0 100% apps/slice_selection/optimizers/conductor/remote_opt_processor.py 82 4 18 2 94% 46, 70-71, 102, 130->132 apps/slice_selection/optimizers/conductor/response_processor.py 33 0 14 1 98% 63->exit osdf/__init__.py 7 0 0 0 100% osdf/adapters/__init__.py 0 0 0 0 100% osdf/adapters/aaf/__init__.py 0 0 0 0 100% osdf/adapters/aaf/aaf_authentication.py 58 0 12 1 99% 81->87 osdf/adapters/aaf/sms.py 93 41 14 3 55% 52-53, 81, 86-118, 122-126, 146 osdf/adapters/aai/fetch_aai_data.py 36 14 4 0 60% 58-59, 75-89 osdf/adapters/conductor/__init__.py 0 0 0 0 100% osdf/adapters/conductor/api_builder.py 45 0 8 1 98% 47->46 osdf/adapters/conductor/conductor.py 64 11 16 6 76% 42-46, 70->78, 72, 79, 90-91, 109, 119 osdf/adapters/conductor/translation.py 192 31 98 10 80% 51->58, 115, 137, 142-153, 156-159, 207-209, 249-250, 257-258, 264-268, 288, 345->exit, 372-376 osdf/adapters/dcae/__init__.py 0 0 0 0 100% osdf/adapters/dcae/des.py 16 0 0 0 100% osdf/adapters/dcae/message_router.py 41 12 10 2 69% 65-68, 73-76, 93-96, 100 osdf/adapters/local_data/__init__.py 0 0 0 0 100% osdf/adapters/local_data/local_policies.py 18 0 8 0 100% osdf/adapters/policy/__init__.py 0 0 0 0 100% osdf/adapters/policy/interface.py 141 45 60 9 65% 44->46, 47-49, 109, 119, 137, 156, 158, 165, 180-189, 205-210, 219-242 osdf/adapters/policy/utils.py 31 3 16 0 94% 75-77 osdf/apps/__init__.py 2 0 0 0 100% osdf/apps/baseapp.py 134 53 10 1 57% 108-115, 120-121, 125-135, 139-144, 148-151, 155-159, 189, 195-198, 203-218 osdf/config/__init__.py 9 3 2 0 55% 29-31 osdf/config/base.py 17 2 2 1 84% 48-49 osdf/config/consulconfig.py 40 28 4 0 27% 11-18, 22-31, 34-40, 44-52 osdf/config/credentials.py 25 5 12 0 76% 36-45 osdf/config/loader.py 14 3 6 1 70% 35-36, 41 osdf/logging/__init__.py 2 0 0 0 100% osdf/logging/monkey.py 8 0 4 2 83% 31->34, 34->exit osdf/logging/oof_mdc_context.py 67 12 32 5 75% 78->exit, 90-91, 102-103, 114->exit, 129-136, 146, 148->exit, 157 osdf/logging/oof_mdc_formatter.py 14 0 2 0 100% osdf/logging/osdf_logging.py 124 0 8 0 100% osdf/models/api/common.py 21 11 6 0 37% 32-39, 49-54 osdf/operation/__init__.py 0 0 0 0 100% osdf/operation/error_handling.py 45 15 20 7 57% 46-53, 57-59, 65, 67, 69, 84->92, 87->92, 89, 91 osdf/operation/exceptions.py 12 0 0 0 100% osdf/operation/responses.py 21 17 4 0 16% 41-64 osdf/utils/__init__.py 0 0 0 0 100% osdf/utils/api_data_utils.py 23 19 2 0 16% 25-58 osdf/utils/cipherUtils.py 32 21 6 0 29% 30-33, 36-45, 48-52, 55-59 osdf/utils/data_conversion.py 19 8 8 0 41% 33-37, 47, 54, 61 osdf/utils/data_types.py 5 1 0 0 80% 29 osdf/utils/file_utils.py 10 1 4 1 86% 29 osdf/utils/interfaces.py 53 2 17 2 94% 89, 112 osdf/utils/mdc_utils.py 77 24 14 4 65% 37->46, 40-44, 46->exit, 49-50, 82-88, 95-102, 111, 127->129, 136 osdf/utils/programming_utils.py 42 1 22 1 97% 77 runtime/__init__.py 0 0 0 0 100% runtime/model_api.py 143 43 26 11 66% 35-36, 43->49, 56->exit, 76-83, 93-97, 107-111, 115-119, 144-147, 162, 168-169, 172-177, 185, 190-193, 206, 212-217, 221 runtime/models/__init__.py 0 0 0 0 100% runtime/models/api/__init__.py 0 0 0 0 100% runtime/models/api/model_request.py 15 0 0 0 100% runtime/models/api/optim_request.py 21 0 0 0 100% runtime/optim_engine.py 45 2 16 2 93% 44, 76 runtime/solvers/__init__.py 0 0 0 0 100% runtime/solvers/mzn/__init__.py 0 0 0 0 100% runtime/solvers/mzn/mzn_solver.py 49 7 8 3 79% 51, 64-71, 93->exit, 106->115, 111-114 runtime/solvers/py/__init__.py 0 0 0 0 100% runtime/solvers/py/py_solver.py 49 7 17 3 82% 35->38, 50-51, 67-68, 85-92 --------------------------------------------------------------------------------------------------------------- TOTAL 2995 540 766 118 79% py3: commands[5]> /bin/bash test/functest/scripts/stop-simulators.sh py3: commands[6]> /bin/rm test/config/slicing_config.yaml py3: OK ✔ in 1 minute 13.83 seconds pylint: install_deps> python -I -m pip install -r /w/workspace/optf-osdf-master-osdf-verify-python/requirements.txt -r /w/workspace/optf-osdf-master-osdf-verify-python/test/test-requirements.txt -r /w/workspace/optf-osdf-master-osdf-verify-python/requirements-osdf.txt -r /w/workspace/optf-osdf-master-osdf-verify-python/requirements-opteng.txt pylint: freeze> python -m pip freeze --all pylint: astroid==3.1.0,attrs==23.2.0,blinker==1.7.0,boto3==1.34.80,botocore==1.34.80,certifi==2024.2.2,cffi==1.16.0,charset-normalizer==3.3.2,click==8.1.7,coverage==7.4.4,cryptography==3.3.2,dill==0.3.8,docopt==0.6.2,docutils==0.20.1,exceptiongroup==1.2.0,Flask==3.0.3,Flask-HTTPAuth==4.8.0,idna==3.6,importlib_metadata==7.1.0,importlib_resources==6.4.0,iniconfig==2.0.0,isort==5.13.2,itsdangerous==2.1.2,Jinja2==3.1.3,jmespath==1.0.1,joblib==1.4.0,jsonschema==4.21.1,jsonschema-specifications==2023.12.1,lxml==5.2.1,MarkupSafe==2.1.5,mccabe==0.7.0,mock==5.1.0,moto==5.0.5,mysql-connector-python==8.0.31,numpy==1.24.4,onappylog==1.0.9,onapsmsclient==0.0.4,packaging==24.0,pathtools==0.1.2,pip==24.0,pkgutil_resolve_name==1.3.10,platformdirs==4.2.0,pluggy==1.4.0,protobuf==3.20.1,pycparser==2.22,pycryptodome==3.20.0,pylint==3.1.0,pymzn==0.18.3,pytest==8.1.1,pytest-tap==3.4,python-consul==1.1.0,python-dateutil==2.9.0.post0,PyYAML==5.4.1,referencing==0.34.0,requests==2.31.0,requests-mock==1.12.1,responses==0.25.0,rpds-py==0.18.0,s3transfer==0.10.1,schematics==2.1.1,scikit-learn==1.3.2,scipy==1.10.1,setuptools==69.1.0,six==1.16.0,tap.py==3.1,threadpoolctl==3.4.0,tomli==2.0.1,tomlkit==0.12.4,tornado==6.4,typing_extensions==4.11.0,urllib3==1.26.18,watchdog==4.0.0,Werkzeug==3.0.2,wheel==0.42.0,xmltodict==0.13.0,zipp==3.18.1 pylint: commands[0]> bash -c 'pylint --reports=y osdf apps runtime| tee pylint.out' ************* Module osdf.operation.responses osdf/operation/responses.py:24:0: C0301: Line too long (108/100) (line-too-long) osdf/operation/responses.py:32:0: C0301: Line too long (115/100) (line-too-long) osdf/operation/responses.py:39:0: C0301: Line too long (102/100) (line-too-long) osdf/operation/responses.py:41:0: C0301: Line too long (109/100) (line-too-long) osdf/operation/responses.py:42:0: C0301: Line too long (117/100) (line-too-long) osdf/operation/responses.py:48:0: C0303: Trailing whitespace (trailing-whitespace) osdf/operation/responses.py:50:0: C0303: Trailing whitespace (trailing-whitespace) osdf/operation/responses.py:55:0: C0301: Line too long (106/100) (line-too-long) osdf/operation/responses.py:59:0: C0303: Trailing whitespace (trailing-whitespace) osdf/operation/responses.py:60:0: C0301: Line too long (139/100) (line-too-long) osdf/operation/responses.py:62:0: C0303: Trailing whitespace (trailing-whitespace) osdf/operation/responses.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/operation/responses.py:24:0: W0102: Dangerous default value {} as argument (dangerous-default-value) osdf/operation/responses.py:24:0: R0913: Too many arguments (7/5) (too-many-arguments) osdf/operation/responses.py:60:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module osdf.operation.error_handling osdf/operation/error_handling.py:33:0: C0301: Line too long (106/100) (line-too-long) osdf/operation/error_handling.py:57:0: W0311: Bad indentation. Found 8 spaces, expected 4 (bad-indentation) osdf/operation/error_handling.py:58:0: W0311: Bad indentation. Found 8 spaces, expected 4 (bad-indentation) osdf/operation/error_handling.py:59:0: W0311: Bad indentation. Found 8 spaces, expected 4 (bad-indentation) osdf/operation/error_handling.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/operation/error_handling.py:24:0: W0622: Redefining built-in 'ConnectionError' (redefined-builtin) osdf/operation/error_handling.py:45:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/operation/error_handling.py:46:4: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) osdf/operation/error_handling.py:50:9: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) osdf/operation/error_handling.py:56:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/operation/error_handling.py:62:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/operation/error_handling.py:64:7: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) osdf/operation/error_handling.py:66:7: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) osdf/operation/error_handling.py:68:7: C0123: Use isinstance() rather than type() for a typecheck. (unidiomatic-typecheck) ************* Module osdf.operation.exceptions osdf/operation/exceptions.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/operation/exceptions.py:19:0: C0115: Missing class docstring (missing-class-docstring) osdf/operation/exceptions.py:23:0: C0115: Missing class docstring (missing-class-docstring) osdf/operation/exceptions.py:27:0: C0115: Missing class docstring (missing-class-docstring) osdf/operation/exceptions.py:31:0: C0115: Missing class docstring (missing-class-docstring) osdf/operation/exceptions.py:35:0: C0115: Missing class docstring (missing-class-docstring) osdf/operation/exceptions.py:39:0: C0115: Missing class docstring (missing-class-docstring) ************* Module osdf.webapp.appcontroller osdf/webapp/appcontroller.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/webapp/appcontroller.py:42:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/webapp/appcontroller.py:51:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/webapp/appcontroller.py:59:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/webapp/appcontroller.py:61:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) ************* Module osdf.adapters.local_data.local_policies osdf/adapters/local_data/local_policies.py:29:0: C0301: Line too long (113/100) (line-too-long) osdf/adapters/local_data/local_policies.py:35:0: C0301: Line too long (137/100) (line-too-long) osdf/adapters/local_data/local_policies.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/local_data/local_policies.py:35:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/local_data/local_policies.py:39:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/adapters/local_data/local_policies.py:43:17: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/adapters/local_data/local_policies.py:50:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) ************* Module osdf.adapters.aaf.sms osdf/adapters/aaf/sms.py:106:0: C0301: Line too long (102/100) (line-too-long) osdf/adapters/aaf/sms.py:57:8: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/aaf/sms.py:67:18: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) osdf/adapters/aaf/sms.py:85:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/aaf/sms.py:121:0: C0116: Missing function or method docstring (missing-function-docstring) 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) ************* Module osdf.adapters.aaf.aaf_authentication osdf/adapters/aaf/aaf_authentication.py:106:0: C0301: Line too long (117/100) (line-too-long) osdf/adapters/aaf/aaf_authentication.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/aaf/aaf_authentication.py:38:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/aaf/aaf_authentication.py:42:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/aaf/aaf_authentication.py:46:11: W0718: Catching too general exception Exception (broad-exception-caught) osdf/adapters/aaf/aaf_authentication.py:47:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/aaf/aaf_authentication.py:51:0: W0105: String statement has no effect (pointless-string-statement) osdf/adapters/aaf/aaf_authentication.py:58:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/aaf/aaf_authentication.py:73:0: W0105: String statement has no effect (pointless-string-statement) osdf/adapters/aaf/aaf_authentication.py:79:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/aaf/aaf_authentication.py:90:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/aaf/aaf_authentication.py:91:33: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/aaf/aaf_authentication.py:105:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/aaf/aaf_authentication.py:23:0: C0411: standard import "re" should be placed before third party import "flask.request" (wrong-import-order) ************* Module osdf.adapters.policy.interface osdf/adapters/policy/interface.py:60:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/policy/interface.py:83:0: C0301: Line too long (107/100) (line-too-long) osdf/adapters/policy/interface.py:109:0: C0301: Line too long (108/100) (line-too-long) osdf/adapters/policy/interface.py:142:0: C0301: Line too long (103/100) (line-too-long) osdf/adapters/policy/interface.py:165:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/policy/interface.py:183:0: C0301: Line too long (111/100) (line-too-long) osdf/adapters/policy/interface.py:235:0: C0325: Unnecessary parens after '=' keyword (superfluous-parens) osdf/adapters/policy/interface.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/policy/interface.py:39:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/policy/interface.py:49:12: W0707: Consider explicitly re-raising using 'raise BusinessException('Cannot fetch policy {}: '.format(policy_name), err) from err' (raise-missing-from) osdf/adapters/policy/interface.py:49:36: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:53:0: R0914: Too many local variables (17/15) (too-many-locals) osdf/adapters/policy/interface.py:78:8: C0206: Consider iterating with .items() (consider-using-dict-items) osdf/adapters/policy/interface.py:78:12: C0103: Variable name "policyName" doesn't conform to snake_case naming style (invalid-name) osdf/adapters/policy/interface.py:78:26: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary) 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) osdf/adapters/policy/interface.py:109:32: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:112:12: C0103: Variable name "policyName" doesn't conform to snake_case naming style (invalid-name) osdf/adapters/policy/interface.py:119:32: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:137:8: W0719: Raising too general exception: Exception (broad-exception-raised) osdf/adapters/policy/interface.py:137:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:141:25: W0621: Redefining name 'osdf_config' from outer scope (line 28) (redefined-outer-name) 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) osdf/adapters/policy/interface.py:165:36: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:171:38: W0621: Redefining name 'osdf_config' from outer scope (line 28) (redefined-outer-name) osdf/adapters/policy/interface.py:180:14: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:181:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) 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) osdf/adapters/policy/interface.py:183:26: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:183:72: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:186:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:187:26: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:188:23: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:219:4: C0103: Variable name "requestId" doesn't conform to snake_case naming style (invalid-name) osdf/adapters/policy/interface.py:224:52: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/policy/interface.py:233:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/adapters/policy/interface.py:238:27: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) 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) osdf/adapters/policy/interface.py:23:0: C0411: standard import "uuid" should be placed before third party import "requests.RequestException" (wrong-import-order) ************* Module osdf.adapters.policy.utils osdf/adapters/policy/utils.py:28:0: C0301: Line too long (102/100) (line-too-long) osdf/adapters/policy/utils.py:40:0: C0301: Line too long (123/100) (line-too-long) osdf/adapters/policy/utils.py:52:0: C0301: Line too long (120/100) (line-too-long) osdf/adapters/policy/utils.py:60:0: C0301: Line too long (114/100) (line-too-long) osdf/adapters/policy/utils.py:51:13: W0511: TODO: Check logic here... should policy appear only once across all groups? (fixme) osdf/adapters/policy/utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/policy/utils.py:38:26: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) osdf/adapters/policy/utils.py:47:4: C0206: Consider iterating with .items() (consider-using-dict-items) osdf/adapters/policy/utils.py:47:15: C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary) osdf/adapters/policy/utils.py:19:0: W0611: Unused import json (unused-import) ************* Module osdf.adapters.dcae.des osdf/adapters/dcae/des.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/dcae/des.py:25:0: C0115: Missing class docstring (missing-class-docstring) osdf/adapters/dcae/des.py:47:8: W0707: Consider explicitly re-raising using 'raise DESException('Request exception was encountered {}'.format(e)) from e' (raise-missing-from) osdf/adapters/dcae/des.py:47:27: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module osdf.adapters.dcae.message_router osdf/adapters/dcae/message_router.py:35:0: C0301: Line too long (104/100) (line-too-long) osdf/adapters/dcae/message_router.py:39:0: C0301: Line too long (113/100) (line-too-long) osdf/adapters/dcae/message_router.py:40:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/dcae/message_router.py:41:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/dcae/message_router.py:58:0: C0301: Line too long (113/100) (line-too-long) osdf/adapters/dcae/message_router.py:63:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/dcae/message_router.py:77:0: C0301: Line too long (102/100) (line-too-long) osdf/adapters/dcae/message_router.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/dcae/message_router.py:26:0: C0115: Missing class docstring (missing-class-docstring) 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) osdf/adapters/dcae/message_router.py:27:4: R0913: Too many arguments (6/5) (too-many-arguments) osdf/adapters/dcae/message_router.py:67:19: W0718: Catching too general exception Exception (broad-exception-caught) osdf/adapters/dcae/message_router.py:71:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/dcae/message_router.py:75:19: W0718: Catching too general exception Exception (broad-exception-caught) osdf/adapters/dcae/message_router.py:79:4: R0913: Too many arguments (6/5) (too-many-arguments) 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) osdf/adapters/dcae/message_router.py:93:34: E1101: Instance of 'LookupDict' has no 'ok' member (no-member) osdf/adapters/dcae/message_router.py:96:16: W0719: Raising too general exception: Exception (broad-exception-raised) osdf/adapters/dcae/message_router.py:96:32: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/dcae/message_router.py:100:12: W0707: Consider explicitly re-raising using 'raise Exception('Request Exception occurred {}'.format(str(ex))) from ex' (raise-missing-from) osdf/adapters/dcae/message_router.py:100:12: W0719: Raising too general exception: Exception (broad-exception-raised) osdf/adapters/dcae/message_router.py:100:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/dcae/message_router.py:79:40: W0613: Unused argument 'inputjson' (unused-argument) ************* Module osdf.adapters.conductor.api_builder osdf/adapters/conductor/api_builder.py:37:0: C0301: Line too long (108/100) (line-too-long) osdf/adapters/conductor/api_builder.py:106:0: C0301: Line too long (112/100) (line-too-long) osdf/adapters/conductor/api_builder.py:122:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/api_builder.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/conductor/api_builder.py:38:13: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) osdf/adapters/conductor/api_builder.py:52:0: R0913: Too many arguments (8/5) (too-many-arguments) osdf/adapters/conductor/api_builder.py:52:0: R0914: Too many local variables (32/15) (too-many-locals) osdf/adapters/conductor/api_builder.py:69:21: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) osdf/adapters/conductor/api_builder.py:69:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/adapters/conductor/api_builder.py:21:0: C0411: standard import "json" should be placed before third party import "jinja2.Template" (wrong-import-order) ************* Module osdf.adapters.conductor.__init__ osdf/adapters/conductor/__init__.py:17:0: C0304: Final newline missing (missing-final-newline) ************* Module osdf.adapters.conductor.conductor osdf/adapters/conductor/conductor.py:76:0: C0301: Line too long (105/100) (line-too-long) osdf/adapters/conductor/conductor.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/conductor/conductor.py:30:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/conductor/conductor.py:30:0: R0913: Too many arguments (7/5) (too-many-arguments) osdf/adapters/conductor/conductor.py:30:0: R0914: Too many local variables (32/15) (too-many-locals) osdf/adapters/conductor/conductor.py:38:14: R1735: Consider using '{"transaction_id": transaction_id}' instead of a call to 'dict'. (use-dict-literal) osdf/adapters/conductor/conductor.py:46:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/conductor/conductor.py:59:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/conductor/conductor.py:79:36: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/conductor/conductor.py:83:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/conductor/conductor.py:91:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/conductor/conductor.py:104:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/conductor/conductor.py:112:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/adapters/conductor/conductor.py:22:0: C0411: standard import "time" should be placed before third party import "requests.RequestException" (wrong-import-order) ************* Module osdf.adapters.conductor.translation osdf/adapters/conductor/translation.py:30:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:65:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/conductor/translation.py:84:0: C0301: Line too long (112/100) (line-too-long) osdf/adapters/conductor/translation.py:87:0: C0301: Line too long (105/100) (line-too-long) osdf/adapters/conductor/translation.py:103:0: C0301: Line too long (107/100) (line-too-long) osdf/adapters/conductor/translation.py:108:0: C0301: Line too long (102/100) (line-too-long) osdf/adapters/conductor/translation.py:112:0: C0301: Line too long (111/100) (line-too-long) osdf/adapters/conductor/translation.py:115:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:124:0: C0301: Line too long (112/100) (line-too-long) osdf/adapters/conductor/translation.py:133:0: C0301: Line too long (108/100) (line-too-long) osdf/adapters/conductor/translation.py:134:0: C0301: Line too long (116/100) (line-too-long) osdf/adapters/conductor/translation.py:137:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/conductor/translation.py:138:0: C0301: Line too long (112/100) (line-too-long) osdf/adapters/conductor/translation.py:144:0: C0301: Line too long (103/100) (line-too-long) osdf/adapters/conductor/translation.py:145:0: C0301: Line too long (108/100) (line-too-long) osdf/adapters/conductor/translation.py:150:0: C0301: Line too long (104/100) (line-too-long) osdf/adapters/conductor/translation.py:154:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:168:0: C0301: Line too long (111/100) (line-too-long) osdf/adapters/conductor/translation.py:174:0: C0301: Line too long (107/100) (line-too-long) osdf/adapters/conductor/translation.py:186:0: C0301: Line too long (108/100) (line-too-long) osdf/adapters/conductor/translation.py:191:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/conductor/translation.py:192:0: C0301: Line too long (107/100) (line-too-long) osdf/adapters/conductor/translation.py:193:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:197:0: C0301: Line too long (103/100) (line-too-long) osdf/adapters/conductor/translation.py:206:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:208:0: C0301: Line too long (106/100) (line-too-long) osdf/adapters/conductor/translation.py:219:0: C0301: Line too long (109/100) (line-too-long) osdf/adapters/conductor/translation.py:220:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:230:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:240:0: C0301: Line too long (101/100) (line-too-long) osdf/adapters/conductor/translation.py:250:0: C0301: Line too long (105/100) (line-too-long) osdf/adapters/conductor/translation.py:258:0: C0301: Line too long (105/100) (line-too-long) osdf/adapters/conductor/translation.py:266:0: C0301: Line too long (102/100) (line-too-long) osdf/adapters/conductor/translation.py:277:0: C0301: Line too long (111/100) (line-too-long) osdf/adapters/conductor/translation.py:284:0: C0301: Line too long (108/100) (line-too-long) osdf/adapters/conductor/translation.py:288:0: C0301: Line too long (113/100) (line-too-long) osdf/adapters/conductor/translation.py:312:0: C0301: Line too long (112/100) (line-too-long) osdf/adapters/conductor/translation.py:314:0: C0301: Line too long (115/100) (line-too-long) osdf/adapters/conductor/translation.py:316:0: C0301: Line too long (107/100) (line-too-long) osdf/adapters/conductor/translation.py:317:0: C0301: Line too long (111/100) (line-too-long) osdf/adapters/conductor/translation.py:319:0: C0301: Line too long (105/100) (line-too-long) osdf/adapters/conductor/translation.py:321:0: C0301: Line too long (118/100) (line-too-long) osdf/adapters/conductor/translation.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/adapters/conductor/translation.py:26:39: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) osdf/adapters/conductor/translation.py:26:39: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/adapters/conductor/translation.py:53:16: C0103: Variable name "queryProp" doesn't conform to snake_case naming style (invalid-name) osdf/adapters/conductor/translation.py:61:0: R0914: Too many local variables (16/15) (too-many-locals) osdf/adapters/conductor/translation.py:85:12: W0612: Unused variable 'default' (unused-variable) osdf/adapters/conductor/translation.py:107:14: R1719: The if expression can be replaced with 'test' (simplifiable-if-expression) osdf/adapters/conductor/translation.py:143:40: R1719: The if expression can be replaced with 'test' (simplifiable-if-expression) 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) 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) osdf/adapters/conductor/translation.py:246:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/conductor/translation.py:254:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/conductor/translation.py:284:25: R1718: Consider using a set comprehension (consider-using-set-comprehension) osdf/adapters/conductor/translation.py:285:8: R1724: Unnecessary "elif" after "continue", remove the leading "el" from "elif" (no-else-continue) osdf/adapters/conductor/translation.py:289:8: R1737: Use 'yield from' directly instead of yielding each element one by one (use-yield-from) osdf/adapters/conductor/translation.py:297:15: R1735: Consider using '{"inventory_provider": policy_property['inventoryProvider'], "inventory_type": policy_property['inventoryType'], ... }' instead of a call to 'dict'. (use-dict-literal) osdf/adapters/conductor/translation.py:307:39: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) osdf/adapters/conductor/translation.py:328:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/conductor/translation.py:330:31: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) osdf/adapters/conductor/translation.py:371:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/adapters/conductor/translation.py:371:21: W0622: Redefining built-in 'property' (redefined-builtin) osdf/adapters/conductor/translation.py:372:39: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) ************* Module osdf.utils.data_types osdf/utils/data_types.py:30:0: C0305: Trailing newlines (trailing-newlines) osdf/utils/data_types.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module osdf.utils.interfaces osdf/utils/interfaces.py:30:0: C0301: Line too long (112/100) (line-too-long) osdf/utils/interfaces.py:58:0: C0301: Line too long (101/100) (line-too-long) osdf/utils/interfaces.py:81:0: C0301: Line too long (111/100) (line-too-long) osdf/utils/interfaces.py:89:0: C0301: Line too long (105/100) (line-too-long) osdf/utils/interfaces.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/utils/interfaces.py:45:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/utils/interfaces.py:51:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/utils/interfaces.py:55:0: R0205: Class 'RestClient' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) osdf/utils/interfaces.py:55:0: R0902: Too many instance attributes (8/7) (too-many-instance-attributes) osdf/utils/interfaces.py:58:4: R0913: Too many arguments (10/5) (too-many-arguments) osdf/utils/interfaces.py:69:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/utils/interfaces.py:72:4: R0913: Too many arguments (8/5) (too-many-arguments) osdf/utils/interfaces.py:87:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/utils/interfaces.py:89:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/utils/interfaces.py:107:12: W0719: Raising too general exception: BaseException (broad-exception-raised) osdf/utils/interfaces.py:109:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) ************* Module osdf.utils.cipherUtils osdf/utils/cipherUtils.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/utils/cipherUtils.py:1:0: C0103: Module name "cipherUtils" doesn't conform to snake_case naming style (invalid-name) osdf/utils/cipherUtils.py:25:0: C0115: Missing class docstring (missing-class-docstring) osdf/utils/cipherUtils.py:25:0: R0205: Class 'AESCipher' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) osdf/utils/cipherUtils.py:29:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/utils/cipherUtils.py:36:8: R1720: Unnecessary "else" after "raise", remove the "else" and de-indent the code inside it (no-else-raise) osdf/utils/cipherUtils.py:37:12: W0719: Raising too general exception: Exception (broad-exception-raised) osdf/utils/cipherUtils.py:47:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/utils/cipherUtils.py:54:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/utils/cipherUtils.py:21:0: C0411: third party import "Crypto.Util.Padding.unpad" should be placed before first party import "osdf.config.base.osdf_config" (wrong-import-order) osdf/utils/cipherUtils.py:22:0: C0411: third party import "Crypto.Util.Padding.pad" should be placed before first party import "osdf.config.base.osdf_config" (wrong-import-order) osdf/utils/cipherUtils.py:21:0: C0412: Imports from package Crypto are not grouped (ungrouped-imports) ************* Module osdf.utils.data_conversion osdf/utils/data_conversion.py:31:0: C0301: Line too long (107/100) (line-too-long) osdf/utils/data_conversion.py:45:0: C0301: Line too long (108/100) (line-too-long) osdf/utils/data_conversion.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module osdf.utils.file_utils osdf/utils/file_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/utils/file_utils.py:27:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/utils/file_utils.py:30:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module osdf.utils.api_data_utils osdf/utils/api_data_utils.py:26:35: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:29:29: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:31:75: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:33:0: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:38:0: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:39:0: C0301: Line too long (137/100) (line-too-long) osdf/utils/api_data_utils.py:40:0: C0301: Line too long (108/100) (line-too-long) osdf/utils/api_data_utils.py:41:0: C0301: Line too long (156/100) (line-too-long) osdf/utils/api_data_utils.py:42:0: C0301: Line too long (107/100) (line-too-long) osdf/utils/api_data_utils.py:47:0: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:48:0: C0301: Line too long (178/100) (line-too-long) osdf/utils/api_data_utils.py:49:0: C0301: Line too long (107/100) (line-too-long) osdf/utils/api_data_utils.py:50:0: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:57:0: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:58:28: C0303: Trailing whitespace (trailing-whitespace) osdf/utils/api_data_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/utils/api_data_utils.py:24:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/utils/api_data_utils.py:39:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/utils/api_data_utils.py:41:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/utils/api_data_utils.py:48:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module osdf.utils.programming_utils osdf/utils/programming_utils.py:25:0: C0301: Line too long (104/100) (line-too-long) osdf/utils/programming_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/utils/programming_utils.py:51:4: C0103: Variable name "T" doesn't conform to snake_case naming style (invalid-name) osdf/utils/programming_utils.py:72:4: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) ************* Module osdf.utils.mdc_utils osdf/utils/mdc_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/utils/mdc_utils.py:40:15: W0718: Catching too general exception Exception (broad-exception-caught) osdf/utils/mdc_utils.py:43:19: W0718: Catching too general exception Exception (broad-exception-caught) osdf/utils/mdc_utils.py:49:15: W0718: Catching too general exception Exception (broad-exception-caught) ************* Module osdf.config.__init__ osdf/config/__init__.py:32:0: C0305: Trailing newlines (trailing-newlines) ************* Module osdf.config osdf/config/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/config/__init__.py:25:0: C0115: Missing class docstring (missing-class-docstring) osdf/config/__init__.py:28:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/config/__init__.py:30:46: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) osdf/config/__init__.py:30:46: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/config/__init__.py:25:0: R0903: Too few public methods (1/2) (too-few-public-methods) osdf/config/__init__.py:20:0: C0411: standard import "json" should be placed before third party import "yaml" (wrong-import-order) ************* Module osdf.config.loader osdf/config/loader.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/config/loader.py:31:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/config/loader.py:40:0: C0116: Missing function or method docstring (missing-function-docstring) ************* Module osdf.config.consulconfig osdf/config/consulconfig.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/config/consulconfig.py:9:0: C0115: Missing class docstring (missing-class-docstring) osdf/config/consulconfig.py:9:0: R0205: Class 'Config' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) osdf/config/consulconfig.py:21:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/config/consulconfig.py:30:19: W0718: Catching too general exception Exception (broad-exception-caught) osdf/config/consulconfig.py:31:32: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/config/consulconfig.py:33:4: C0116: Missing function or method docstring (missing-function-docstring) osdf/config/consulconfig.py:39:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/config/consulconfig.py:43:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/config/consulconfig.py:3:0: C0411: standard import "json" should be placed before third party imports "consul.base.Timeout", "consul.tornado.Consul" (wrong-import-order) osdf/config/consulconfig.py:5:0: C0411: third party import "tornado.gen.coroutine" should be placed before first party import "osdf.logging.osdf_logging.debug_log" (wrong-import-order) osdf/config/consulconfig.py:6:0: C0411: third party import "tornado.ioloop.IOLoop" should be placed before first party import "osdf.logging.osdf_logging.debug_log" (wrong-import-order) ************* Module osdf.config.base osdf/config/base.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/config/base.py:32:0: C0103: Constant name "slicing_spec" doesn't conform to UPPER_CASE naming style (invalid-name) osdf/config/base.py:25:0: C0411: standard import "threading.Thread" should be placed before first party imports "osdf.config.consulconfig.call_consul_kv", "osdf.config.credentials", "osdf.config.loader", "osdf.utils.programming_utils.DotDict" (wrong-import-order) ************* Module osdf.config.credentials osdf/config/credentials.py:43:0: C0301: Line too long (104/100) (line-too-long) osdf/config/credentials.py:49:0: C0301: Line too long (108/100) (line-too-long) osdf/config/credentials.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/config/credentials.py:27:8: W0621: Redefining name 'dmaap_creds' from outer scope (line 24) (redefined-outer-name) osdf/config/credentials.py:28:4: W0702: No exception type(s) specified (bare-except) osdf/config/credentials.py:35:24: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) osdf/config/credentials.py:35:24: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/config/credentials.py:43:15: R1735: Consider using '{"url": x.get('dmaapUrl'), "userid": x.get('dmaapUserName'), "passwd": x.get('dmaapPassword'), ... }' instead of a call to 'dict'. (use-dict-literal) osdf/config/credentials.py:50:21: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) ************* Module osdf.logging osdf/logging/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module osdf.logging.oof_mdc_formatter osdf/logging/oof_mdc_formatter.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/logging/oof_mdc_formatter.py:30:4: R0913: Too many arguments (6/5) (too-many-arguments) osdf/logging/oof_mdc_formatter.py:51:15: R1725: Consider using Python 3 style super() without arguments (super-with-arguments) ************* Module osdf.logging.monkey osdf/logging/monkey.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module osdf.logging.oof_mdc_context osdf/logging/oof_mdc_context.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/logging/oof_mdc_context.py:33:0: C0103: Function name "findCaller" doesn't conform to snake_case naming style (invalid-name) osdf/logging/oof_mdc_context.py:33:15: W0613: Unused argument 'self' (unused-argument) osdf/logging/oof_mdc_context.py:33:39: W0613: Unused argument 'stacklevel' (unused-argument) osdf/logging/oof_mdc_context.py:55:8: W0212: Access to a protected member _log of a client class (protected-access) osdf/logging/oof_mdc_context.py:67:8: W0212: Access to a protected member _log of a client class (protected-access) osdf/logging/oof_mdc_context.py:79:8: W0212: Access to a protected member _log of a client class (protected-access) osdf/logging/oof_mdc_context.py:103:8: W0212: Access to a protected member _log of a client class (protected-access) osdf/logging/oof_mdc_context.py:118:8: W0212: Access to a protected member _log of a client class (protected-access) 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) osdf/logging/oof_mdc_context.py:136:8: W0212: Access to a protected member _log of a client class (protected-access) ************* Module osdf.logging.osdf_logging osdf/logging/osdf_logging.py:64:0: C0301: Line too long (112/100) (line-too-long) osdf/logging/osdf_logging.py:70:0: C0301: Line too long (116/100) (line-too-long) osdf/logging/osdf_logging.py:1:0: C0114: Missing module docstring (missing-module-docstring) osdf/logging/osdf_logging.py:44:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/logging/osdf_logging.py:45:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) osdf/logging/osdf_logging.py:53:0: R0903: Too few public methods (1/2) (too-few-public-methods) osdf/logging/osdf_logging.py:83:0: C0115: Missing class docstring (missing-class-docstring) osdf/logging/osdf_logging.py:83:0: R0205: Class 'OOFOSDFLogMessageFormatter' inherits from object, can be safely removed from bases in python3 (useless-object-inheritance) osdf/logging/osdf_logging.py:90:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:98:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:106:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:114:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:122:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:130:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:137:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:145:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:152:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:159:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:167:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:175:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:183:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:191:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:198:14: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:206:14: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:214:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:221:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:228:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:236:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:244:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:252:14: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:260:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:268:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:276:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:284:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:292:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:299:15: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/logging/osdf_logging.py:83:0: R0904: Too many public methods (28/20) (too-many-public-methods) ************* Module osdf.apps.__init__ osdf/apps/__init__.py:2:0: C0304: Final newline missing (missing-final-newline) ************* Module osdf.apps osdf/apps/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module osdf.apps.baseapp osdf/apps/baseapp.py:75:0: C0301: Line too long (122/100) (line-too-long) osdf/apps/baseapp.py:78:0: C0301: Line too long (106/100) (line-too-long) osdf/apps/baseapp.py:87:0: C0301: Line too long (103/100) (line-too-long) osdf/apps/baseapp.py:90:0: C0301: Line too long (106/100) (line-too-long) osdf/apps/baseapp.py:135:0: C0301: Line too long (103/100) (line-too-long) osdf/apps/baseapp.py:167:0: C0301: Line too long (106/100) (line-too-long) osdf/apps/baseapp.py:178:0: C0301: Line too long (111/100) (line-too-long) osdf/apps/baseapp.py:179:0: C0301: Line too long (108/100) (line-too-long) osdf/apps/baseapp.py:180:0: C0301: Line too long (113/100) (line-too-long) osdf/apps/baseapp.py:196:0: C0301: Line too long (102/100) (line-too-long) osdf/apps/baseapp.py:24:0: W4901: Deprecated module 'optparse' (deprecated-module) osdf/apps/baseapp.py:38:0: R0402: Use 'from osdf.adapters.aaf import sms' instead (consider-using-from-import) osdf/apps/baseapp.py:65:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:78:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:90:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:107:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:119:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:124:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:129:11: W0718: Catching too general exception Exception (broad-exception-caught) osdf/apps/baseapp.py:133:15: W0718: Catching too general exception Exception (broad-exception-caught) osdf/apps/baseapp.py:135:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:138:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:138:26: W0621: Redefining name 'request' from outer scope (line 32) (redefined-outer-name) osdf/apps/baseapp.py:147:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:154:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:167:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:163:21: W0613: Unused argument 'error' (unused-argument) osdf/apps/baseapp.py:173:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:174:29: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:174:43: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:189:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) osdf/apps/baseapp.py:186:10: W0612: Unused variable 'args' (unused-variable) osdf/apps/baseapp.py:194:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:201:0: C0116: Missing function or method docstring (missing-function-docstring) osdf/apps/baseapp.py:202:4: W0601: Global variable 'sys_conf' undefined at the module level (global-variable-undefined) osdf/apps/baseapp.py:207:22: R1735: Consider using '{"host": local_host, "threaded": True, "use_reloader": False}' instead of a call to 'dict'. (use-dict-literal) ************* Module apps.nst.optimizers.nst_select_processor apps/nst/optimizers/nst_select_processor.py:49:0: C0301: Line too long (116/100) (line-too-long) apps/nst/optimizers/nst_select_processor.py:71:0: C0301: Line too long (101/100) (line-too-long) apps/nst/optimizers/nst_select_processor.py:36:0: C0115: Missing class docstring (missing-class-docstring) apps/nst/optimizers/nst_select_processor.py:58:15: W0718: Catching too general exception Exception (broad-exception-caught) apps/nst/optimizers/nst_select_processor.py:59:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nst/optimizers/nst_select_processor.py:67:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nst/optimizers/nst_select_processor.py:105:4: C0116: Missing function or method docstring (missing-function-docstring) apps/nst/optimizers/nst_select_processor.py:108:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nst/optimizers/nst_select_processor.py:111:4: C0116: Missing function or method docstring (missing-function-docstring) apps/nst/optimizers/nst_select_processor.py:131:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nst/optimizers/nst_select_processor.py:133:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nst/optimizers/nst_select_processor.py:149:4: C0116: Missing function or method docstring (missing-function-docstring) 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) apps/nst/optimizers/nst_select_processor.py:27:0: C0411: third party import "requests.RequestException" should be placed before first party imports "osdf.adapters.conductor.conductor", "osdf.adapters.policy.interface.get_policies", "osdf.logging.osdf_logging.debug_log", "osdf.logging.osdf_logging.error_log", "osdf.utils.interfaces.get_rest_client" (wrong-import-order) apps/nst/optimizers/nst_select_processor.py:28:0: C0411: standard import "threading.Thread" should be placed before third party import "requests.RequestException" and first party imports "osdf.adapters.conductor.conductor", "osdf.adapters.policy.interface.get_policies", "osdf.logging.osdf_logging.debug_log", "osdf.logging.osdf_logging.error_log", "osdf.utils.interfaces.get_rest_client" (wrong-import-order) apps/nst/optimizers/nst_select_processor.py:29:0: C0411: standard import "traceback" should be placed before third party import "requests.RequestException" and first party imports "osdf.adapters.conductor.conductor", "osdf.adapters.policy.interface.get_policies", "osdf.logging.osdf_logging.debug_log", "osdf.logging.osdf_logging.error_log", "osdf.utils.interfaces.get_rest_client" (wrong-import-order) ************* Module apps.nsst.optimizers.nsst_select_processor apps/nsst/optimizers/nsst_select_processor.py:49:0: C0301: Line too long (116/100) (line-too-long) apps/nsst/optimizers/nsst_select_processor.py:71:0: C0301: Line too long (101/100) (line-too-long) apps/nsst/optimizers/nsst_select_processor.py:36:0: C0115: Missing class docstring (missing-class-docstring) apps/nsst/optimizers/nsst_select_processor.py:58:15: W0718: Catching too general exception Exception (broad-exception-caught) apps/nsst/optimizers/nsst_select_processor.py:59:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nsst/optimizers/nsst_select_processor.py:67:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nsst/optimizers/nsst_select_processor.py:105:4: C0116: Missing function or method docstring (missing-function-docstring) apps/nsst/optimizers/nsst_select_processor.py:108:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nsst/optimizers/nsst_select_processor.py:111:4: C0116: Missing function or method docstring (missing-function-docstring) apps/nsst/optimizers/nsst_select_processor.py:131:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nsst/optimizers/nsst_select_processor.py:133:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nsst/optimizers/nsst_select_processor.py:149:4: C0116: Missing function or method docstring (missing-function-docstring) 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) apps/nsst/optimizers/nsst_select_processor.py:27:0: C0411: third party import "requests.RequestException" should be placed before first party imports "osdf.adapters.conductor.conductor", "osdf.adapters.policy.interface.get_policies", "osdf.logging.osdf_logging.debug_log", "osdf.logging.osdf_logging.error_log", "osdf.utils.interfaces.get_rest_client" (wrong-import-order) apps/nsst/optimizers/nsst_select_processor.py:28:0: C0411: standard import "threading.Thread" should be placed before third party import "requests.RequestException" and first party imports "osdf.adapters.conductor.conductor", "osdf.adapters.policy.interface.get_policies", "osdf.logging.osdf_logging.debug_log", "osdf.logging.osdf_logging.error_log", "osdf.utils.interfaces.get_rest_client" (wrong-import-order) apps/nsst/optimizers/nsst_select_processor.py:29:0: C0411: standard import "traceback" should be placed before third party import "requests.RequestException" and first party imports "osdf.adapters.conductor.conductor", "osdf.adapters.policy.interface.get_policies", "osdf.logging.osdf_logging.debug_log", "osdf.logging.osdf_logging.error_log", "osdf.utils.interfaces.get_rest_client" (wrong-import-order) ************* Module apps.slice_selection.optimizers.conductor.remote_opt_processor apps/slice_selection/optimizers/conductor/remote_opt_processor.py:71:0: C0301: Line too long (110/100) (line-too-long) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:72:0: C0301: Line too long (111/100) (line-too-long) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:110:0: C0301: Line too long (110/100) (line-too-long) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:131:0: C0301: Line too long (113/100) (line-too-long) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:36:0: C0115: Missing class docstring (missing-class-docstring) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:62:15: W0718: Catching too general exception Exception (broad-exception-caught) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:63:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:71:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:74:4: C0116: Missing function or method docstring (missing-function-docstring) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:103:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:106:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:112:4: C0116: Missing function or method docstring (missing-function-docstring) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:125:4: C0116: Missing function or method docstring (missing-function-docstring) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:133:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:24:0: C0411: standard import "threading.Thread" should be placed before third party import "requests.RequestException" (wrong-import-order) apps/slice_selection/optimizers/conductor/remote_opt_processor.py:25:0: C0411: standard import "traceback" should be placed before third party import "requests.RequestException" (wrong-import-order) ************* Module apps.slice_selection.optimizers.conductor.response_processor apps/slice_selection/optimizers/conductor/response_processor.py:43:0: C0301: Line too long (116/100) (line-too-long) apps/slice_selection/optimizers/conductor/response_processor.py:26:0: C0115: Missing class docstring (missing-class-docstring) 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) apps/slice_selection/optimizers/conductor/response_processor.py:47:4: C0116: Missing function or method docstring (missing-function-docstring) apps/slice_selection/optimizers/conductor/response_processor.py:48:8: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) 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) apps/slice_selection/optimizers/conductor/response_processor.py:74:4: C0116: Missing function or method docstring (missing-function-docstring) apps/slice_selection/optimizers/conductor/response_processor.py:83:4: C0116: Missing function or method docstring (missing-function-docstring) ************* Module apps.nxi_termination.optimizers.remote_opt_processor apps/nxi_termination/optimizers/remote_opt_processor.py:52:0: C0301: Line too long (110/100) (line-too-long) apps/nxi_termination/optimizers/remote_opt_processor.py:57:0: C0301: Line too long (117/100) (line-too-long) apps/nxi_termination/optimizers/remote_opt_processor.py:70:0: C0301: Line too long (103/100) (line-too-long) apps/nxi_termination/optimizers/remote_opt_processor.py:72:0: C0301: Line too long (106/100) (line-too-long) apps/nxi_termination/optimizers/remote_opt_processor.py:99:0: C0301: Line too long (114/100) (line-too-long) apps/nxi_termination/optimizers/remote_opt_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/nxi_termination/optimizers/remote_opt_processor.py:28:0: R0914: Too many local variables (17/15) (too-many-locals) apps/nxi_termination/optimizers/remote_opt_processor.py:68:20: W0622: Redefining built-in 'property' (redefined-builtin) apps/nxi_termination/optimizers/remote_opt_processor.py:82:11: W0718: Catching too general exception Exception (broad-exception-caught) apps/nxi_termination/optimizers/remote_opt_processor.py:50:16: R1724: Unnecessary "elif" after "continue", remove the leading "el" from "elif" (no-else-continue) apps/nxi_termination/optimizers/remote_opt_processor.py:57:46: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nxi_termination/optimizers/remote_opt_processor.py:65:32: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nxi_termination/optimizers/remote_opt_processor.py:83:17: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nxi_termination/optimizers/remote_opt_processor.py:28:0: R0912: Too many branches (14/12) (too-many-branches) apps/nxi_termination/optimizers/remote_opt_processor.py:87:0: C0116: Missing function or method docstring (missing-function-docstring) apps/nxi_termination/optimizers/remote_opt_processor.py:88:10: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) apps/nxi_termination/optimizers/remote_opt_processor.py:95:0: C0116: Missing function or method docstring (missing-function-docstring) apps/nxi_termination/optimizers/remote_opt_processor.py:98:20: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/nxi_termination/optimizers/remote_opt_processor.py:104:0: C0116: Missing function or method docstring (missing-function-docstring) ************* Module apps.nxi_termination.optimizers.response_processor apps/nxi_termination/optimizers/response_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module apps.placement.optimizers.conductor.remote_opt_processor apps/placement/optimizers/conductor/remote_opt_processor.py:49:0: C0301: Line too long (109/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:56:0: C0301: Line too long (102/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:64:0: C0301: Line too long (106/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:66:0: C0301: Line too long (111/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:71:0: C0301: Line too long (102/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:73:0: C0301: Line too long (107/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:103:0: C0301: Line too long (106/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:104:0: C0301: Line too long (111/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:109:0: C0301: Line too long (102/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:111:0: C0301: Line too long (103/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:115:0: C0301: Line too long (102/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:147:0: C0301: Line too long (106/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:171:0: C0301: Line too long (119/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:178:0: C0301: Line too long (115/100) (line-too-long) apps/placement/optimizers/conductor/remote_opt_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/placement/optimizers/conductor/remote_opt_processor.py:66:40: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/placement/optimizers/conductor/remote_opt_processor.py:73:36: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/placement/optimizers/conductor/remote_opt_processor.py:108:21: R1732: Consider using 'with' for resource-allocating operations (consider-using-with) apps/placement/optimizers/conductor/remote_opt_processor.py:108:21: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) apps/placement/optimizers/conductor/remote_opt_processor.py:114:0: R0914: Too many local variables (16/15) (too-many-locals) apps/placement/optimizers/conductor/remote_opt_processor.py:163:11: W0718: Catching too general exception Exception (broad-exception-caught) apps/placement/optimizers/conductor/remote_opt_processor.py:164:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/placement/optimizers/conductor/remote_opt_processor.py:169:12: E0601: Using variable 'rc' before assignment (used-before-assignment) apps/placement/optimizers/conductor/remote_opt_processor.py:171:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/placement/optimizers/conductor/remote_opt_processor.py:178:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/placement/optimizers/conductor/remote_opt_processor.py:21:0: C0411: standard import "json" should be placed before third party import "jinja2.Template" (wrong-import-order) apps/placement/optimizers/conductor/remote_opt_processor.py:23:0: C0411: standard import "traceback" should be placed before third party imports "jinja2.Template", "requests.RequestException" (wrong-import-order) ************* Module apps.placement.models.api.placementRequest apps/placement/models/api/placementRequest.py:105:0: C0304: Final newline missing (missing-final-newline) apps/placement/models/api/placementRequest.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/placement/models/api/placementRequest.py:1:0: C0103: Module name "placementRequest" doesn't conform to snake_case naming style (invalid-name) apps/placement/models/api/placementRequest.py:54:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementRequest.py:59:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementRequest.py:66:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementRequest.py:70:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementRequest.py:80:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementRequest.py:20:0: C0411: third party import "schematics.types.BaseType" should be placed before first party import "osdf.models.api.common.OSDFModel" (wrong-import-order) apps/placement/models/api/placementRequest.py:21:0: C0411: third party import "schematics.types.compound.ModelType" should be placed before first party import "osdf.models.api.common.OSDFModel" (wrong-import-order) apps/placement/models/api/placementRequest.py:20:0: W0611: Unused BooleanType imported from schematics.types (unused-import) ************* Module apps.placement.models.api.placementResponse apps/placement/models/api/placementResponse.py:24:1: W0511: TODO: update osdf.models (fixme) apps/placement/models/api/placementResponse.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/placement/models/api/placementResponse.py:1:0: C0103: Module name "placementResponse" doesn't conform to snake_case naming style (invalid-name) apps/placement/models/api/placementResponse.py:26:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementResponse.py:42:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementResponse.py:47:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementResponse.py:54:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementResponse.py:59:0: C0115: Missing class docstring (missing-class-docstring) apps/placement/models/api/placementResponse.py:20:0: C0411: third party import "schematics.types.BaseType" should be placed before first party import "osdf.models.api.common.OSDFModel" (wrong-import-order) apps/placement/models/api/placementResponse.py:21:0: C0411: third party import "schematics.types.compound.ModelType" should be placed before first party import "osdf.models.api.common.OSDFModel" (wrong-import-order) apps/placement/models/api/placementResponse.py:21:0: W0611: Unused DictType imported from schematics.types.compound (unused-import) ************* Module apps.route.optimizers.inter_domain_route_opt apps/route/optimizers/inter_domain_route_opt.py:250:0: C0301: Line too long (139/100) (line-too-long) apps/route/optimizers/inter_domain_route_opt.py:367:0: C0301: Line too long (147/100) (line-too-long) apps/route/optimizers/inter_domain_route_opt.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/route/optimizers/inter_domain_route_opt.py:48:4: R0914: Too many local variables (16/15) (too-many-locals) apps/route/optimizers/inter_domain_route_opt.py:238:4: R0914: Too many local variables (26/15) (too-many-locals) apps/route/optimizers/inter_domain_route_opt.py:258:12: W0612: Unused variable 'k' (unused-variable) apps/route/optimizers/inter_domain_route_opt.py:301:19: W3101: Missing timeout argument for method 'requests.get' can cause your program to hang indefinitely (missing-timeout) 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) apps/route/optimizers/inter_domain_route_opt.py:322:19: W3101: Missing timeout argument for method 'requests.put' can cause your program to hang indefinitely (missing-timeout) 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) apps/route/optimizers/inter_domain_route_opt.py:341:19: W3101: Missing timeout argument for method 'requests.get' can cause your program to hang indefinitely (missing-timeout) 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) apps/route/optimizers/inter_domain_route_opt.py:362:19: W3101: Missing timeout argument for method 'requests.get' can cause your program to hang indefinitely (missing-timeout) 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) apps/route/optimizers/inter_domain_route_opt.py:27:0: C0411: third party import "pymzn" should be placed before first party import "osdf.logging.osdf_logging.audit_log" (wrong-import-order) apps/route/optimizers/inter_domain_route_opt.py:28:0: C0411: third party import "sklearn.preprocessing" should be placed before first party import "osdf.logging.osdf_logging.audit_log" (wrong-import-order) ************* Module apps.route.optimizers.simple_route_opt apps/route/optimizers/simple_route_opt.py:37:43: C0303: Trailing whitespace (trailing-whitespace) apps/route/optimizers/simple_route_opt.py:68:0: C0301: Line too long (118/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:69:0: C0301: Line too long (105/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:84:0: C0301: Line too long (102/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:144:0: C0301: Line too long (102/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:236:0: C0301: Line too long (147/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:237:0: C0301: Line too long (123/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:240:0: C0301: Line too long (115/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:264:0: C0301: Line too long (115/100) (line-too-long) apps/route/optimizers/simple_route_opt.py:266:0: C0304: Final newline missing (missing-final-newline) apps/route/optimizers/simple_route_opt.py:38:5: W0511: TODO: read the port from the configuration and add to DNS (fixme) apps/route/optimizers/simple_route_opt.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/route/optimizers/simple_route_opt.py:57:4: C0116: Missing function or method docstring (missing-function-docstring) apps/route/optimizers/simple_route_opt.py:57:73: C0103: Argument name "mappingTable" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:64:8: C0103: Variable name "listOfLinks" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:76:4: C0116: Missing function or method docstring (missing-function-docstring) apps/route/optimizers/simple_route_opt.py:79:4: C0116: Missing function or method docstring (missing-function-docstring) apps/route/optimizers/simple_route_opt.py:79:82: C0103: Argument name "mappingTable" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:79:4: R0913: Too many arguments (6/5) (too-many-arguments) apps/route/optimizers/simple_route_opt.py:89:4: C0116: Missing function or method docstring (missing-function-docstring) 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) apps/route/optimizers/simple_route_opt.py:93:23: C0103: Variable name "eachItem" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:104:4: C0116: Missing function or method docstring (missing-function-docstring) apps/route/optimizers/simple_route_opt.py:107:8: C0103: Variable name "parseTemplate" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:109:12: C0103: Variable name "eachItem" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:115:4: C0116: Missing function or method docstring (missing-function-docstring) apps/route/optimizers/simple_route_opt.py:115:4: R0914: Too many local variables (30/15) (too-many-locals) apps/route/optimizers/simple_route_opt.py:116:8: C0103: Variable name "Edge_Start" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:117:8: C0103: Variable name "Edge_End" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:125:8: C0103: Variable name "mappingTable" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:141:24: C0103: Variable name "relationshipStartNode" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:144:24: C0103: Variable name "relationshipStartNodeID" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:149:24: C0103: Variable name "relationshipEndtNode" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:150:24: C0103: Variable name "relationshipEndNodeID" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:166:8: C0200: Consider using enumerate instead of iterating with range and len (consider-using-enumerate) apps/route/optimizers/simple_route_opt.py:171:8: C0200: Consider using enumerate instead of iterating with range and len (consider-using-enumerate) apps/route/optimizers/simple_route_opt.py:115:4: R0915: Too many statements (70/50) (too-many-statements) apps/route/optimizers/simple_route_opt.py:179:12: W0612: Unused variable 'k' (unused-variable) apps/route/optimizers/simple_route_opt.py:217:4: C0116: Missing function or method docstring (missing-function-docstring) apps/route/optimizers/simple_route_opt.py:218:8: C0103: Variable name "nodeSet" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:219:8: C0200: Consider using enumerate instead of iterating with range and len (consider-using-enumerate) apps/route/optimizers/simple_route_opt.py:231:12: C0103: Variable name "routeInfo" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:232:12: C0103: Variable name "routeRequest" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:236:60: C0103: Variable name "mappingTable" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:240:12: C0103: Variable name "routeSolutions" doesn't conform to snake_case naming style (invalid-name) apps/route/optimizers/simple_route_opt.py:264:19: W3101: Missing timeout argument for method 'requests.get' can cause your program to hang indefinitely (missing-timeout) 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) apps/route/optimizers/simple_route_opt.py:20:0: C0411: standard import "json" should be placed before third party import "requests" (wrong-import-order) apps/route/optimizers/simple_route_opt.py:25:0: C0411: third party import "pymzn" should be placed before first party imports "osdf.utils.mdc_utils.mdc_from_json", "osdf.logging.osdf_logging.MH" (wrong-import-order) apps/route/optimizers/simple_route_opt.py:26:0: C0411: third party import "sklearn.preprocessing" should be placed before first party imports "osdf.utils.mdc_utils.mdc_from_json", "osdf.logging.osdf_logging.MH" (wrong-import-order) apps/route/optimizers/simple_route_opt.py:28:0: C0411: standard import "os" should be placed before third party imports "requests", "requests.auth.HTTPBasicAuth", "pymzn", "sklearn.preprocessing" and first party imports "osdf.utils.mdc_utils.mdc_from_json", "osdf.logging.osdf_logging.MH" (wrong-import-order) apps/route/optimizers/simple_route_opt.py:20:0: W0611: Unused import json (unused-import) apps/route/optimizers/simple_route_opt.py:23:0: W0611: Unused mdc_from_json imported from osdf.utils.mdc_utils (unused-import) apps/route/optimizers/simple_route_opt.py:24:0: W0611: Unused MH imported from osdf.logging.osdf_logging (unused-import) apps/route/optimizers/simple_route_opt.py:24:0: W0611: Unused error_log imported from osdf.logging.osdf_logging (unused-import) apps/route/optimizers/simple_route_opt.py:24:0: W0611: Unused debug_log imported from osdf.logging.osdf_logging (unused-import) ************* Module apps.pci.optimizers apps/pci/optimizers/__init__.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module apps.pci.optimizers.config_request apps/pci/optimizers/config_request.py:23:0: C0301: Line too long (104/100) (line-too-long) apps/pci/optimizers/config_request.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/config_request.py:22:37: W0613: Unused argument 'flat_policies' (unused-argument) ************* Module apps.pci.optimizers.pci_opt_processor apps/pci/optimizers/pci_opt_processor.py:36:0: C0301: Line too long (111/100) (line-too-long) apps/pci/optimizers/pci_opt_processor.py:42:0: C0301: Line too long (112/100) (line-too-long) apps/pci/optimizers/pci_opt_processor.py:66:0: C0301: Line too long (119/100) (line-too-long) apps/pci/optimizers/pci_opt_processor.py:74:0: C0301: Line too long (115/100) (line-too-long) apps/pci/optimizers/pci_opt_processor.py:78:0: C0301: Line too long (111/100) (line-too-long) apps/pci/optimizers/pci_opt_processor.py:104:0: C0301: Line too long (101/100) (line-too-long) apps/pci/optimizers/pci_opt_processor.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/pci_opt_processor.py:35:0: W0105: String statement has no effect (pointless-string-statement) apps/pci/optimizers/pci_opt_processor.py:58:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/pci_opt_processor.py:63:12: E0601: Using variable 'rc' before assignment (used-before-assignment) apps/pci/optimizers/pci_opt_processor.py:66:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/pci_opt_processor.py:71:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/pci_opt_processor.py:74:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/pci_opt_processor.py:77:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/pci_opt_processor.py:92:0: C0116: Missing function or method docstring (missing-function-docstring) 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) apps/pci/optimizers/pci_opt_processor.py:106:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/pci_opt_processor.py:111:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/pci_opt_processor.py:124:0: C0116: Missing function or method docstring (missing-function-docstring) ************* Module apps.pci.optimizers.solver.optimizer apps/pci/optimizers/solver/optimizer.py:39:0: C0301: Line too long (101/100) (line-too-long) apps/pci/optimizers/solver/optimizer.py:45:0: C0301: Line too long (108/100) (line-too-long) apps/pci/optimizers/solver/optimizer.py:97:0: C0301: Line too long (112/100) (line-too-long) apps/pci/optimizers/solver/optimizer.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/solver/optimizer.py:31:18: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) apps/pci/optimizers/solver/optimizer.py:32:18: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) apps/pci/optimizers/solver/optimizer.py:35:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:36:4: W0603: Using the global statement (global-statement) apps/pci/optimizers/solver/optimizer.py:55:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:62:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:63:20: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) apps/pci/optimizers/solver/optimizer.py:71:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:79:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:97:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:97:0: R0913: Too many arguments (7/5) (too-many-arguments) apps/pci/optimizers/solver/optimizer.py:115:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:123:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:127:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:134:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:138:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:145:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:153:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:163:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/optimizer.py:170:0: C0116: Missing function or method docstring (missing-function-docstring) ************* Module apps.pci.optimizers.solver.ml_model apps/pci/optimizers/solver/ml_model.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/solver/ml_model.py:28:0: C0115: Missing class docstring (missing-class-docstring) 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) apps/pci/optimizers/solver/ml_model.py:40:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/ml_model.py:54:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/ml_model.py:61:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module apps.pci.optimizers.solver.pci_utils apps/pci/optimizers/solver/pci_utils.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/solver/pci_utils.py:19:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/pci_utils.py:20:21: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) apps/pci/optimizers/solver/pci_utils.py:21:22: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) apps/pci/optimizers/solver/pci_utils.py:27:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/pci_utils.py:34:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/pci_utils.py:34:35: W0622: Redefining built-in 'id' (redefined-builtin) apps/pci/optimizers/solver/pci_utils.py:41:0: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/solver/pci_utils.py:41:37: W0622: Redefining built-in 'id' (redefined-builtin) ************* Module apps.pci.optimizers.config.configdb apps/pci/optimizers/config/configdb.py:35:0: C0301: Line too long (112/100) (line-too-long) apps/pci/optimizers/config/configdb.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/config/configdb.py:29:0: C0115: Missing class docstring (missing-class-docstring) apps/pci/optimizers/config/configdb.py:34:18: R1735: Consider using '{"transaction_id": str(uuid.uuid4())}' instead of a call to 'dict'. (use-dict-literal) apps/pci/optimizers/config/configdb.py:37:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/config/configdb.py:39:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/config/configdb.py:43:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/config/configdb.py:45:23: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/config/configdb.py:49:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/config/configdb.py:43:27: W0613: Unused argument 'network_id' (unused-argument) ************* Module apps.pci.optimizers.config.cps apps/pci/optimizers/config/cps.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/config/cps.py:28:0: C0115: Missing class docstring (missing-class-docstring) apps/pci/optimizers/config/cps.py:40:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/config/cps.py:41:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/config/cps.py:48:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/config/cps.py:51:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/config/cps.py:52:23: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/config/cps.py:60:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) apps/pci/optimizers/config/cps.py:70:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module apps.pci.optimizers.config.config_client apps/pci/optimizers/config/config_client.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/optimizers/config/config_client.py:20:0: C0115: Missing class docstring (missing-class-docstring) 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) apps/pci/optimizers/config/config_client.py:25:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/config/config_client.py:25:31: W0622: Redefining built-in 'type' (redefined-builtin) apps/pci/optimizers/config/config_client.py:33:4: C0116: Missing function or method docstring (missing-function-docstring) apps/pci/optimizers/config/config_client.py:33:20: W0622: Redefining built-in 'type' (redefined-builtin) apps/pci/optimizers/config/config_client.py:35:29: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module apps.pci.models.api.pciOptimizationResponse apps/pci/models/api/pciOptimizationResponse.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/models/api/pciOptimizationResponse.py:1:0: C0103: Module name "pciOptimizationResponse" doesn't conform to snake_case naming style (invalid-name) apps/pci/models/api/pciOptimizationResponse.py:25:0: C0115: Missing class docstring (missing-class-docstring) apps/pci/models/api/pciOptimizationResponse.py:30:0: C0115: Missing class docstring (missing-class-docstring) apps/pci/models/api/pciOptimizationResponse.py:35:0: C0115: Missing class docstring (missing-class-docstring) apps/pci/models/api/pciOptimizationResponse.py:41:0: C0115: Missing class docstring (missing-class-docstring) ************* Module apps.pci.models.api.pciOptimizationRequest apps/pci/models/api/pciOptimizationRequest.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/pci/models/api/pciOptimizationRequest.py:1:0: C0103: Module name "pciOptimizationRequest" doesn't conform to snake_case naming style (invalid-name) apps/pci/models/api/pciOptimizationRequest.py:38:0: C0115: Missing class docstring (missing-class-docstring) ************* Module apps.license.optimizers.simple_license_allocation apps/license/optimizers/simple_license_allocation.py:23:0: C0301: Line too long (120/100) (line-too-long) apps/license/optimizers/simple_license_allocation.py:31:0: C0301: Line too long (115/100) (line-too-long) apps/license/optimizers/simple_license_allocation.py:36:0: C0301: Line too long (104/100) (line-too-long) apps/license/optimizers/simple_license_allocation.py:1:0: C0114: Missing module docstring (missing-module-docstring) apps/license/optimizers/simple_license_allocation.py:29:4: W0612: Unused variable 'req_id' (unused-variable) apps/license/optimizers/simple_license_allocation.py:32:4: W0612: Unused variable 'service_name' (unused-variable) ************* Module runtime.optim_engine runtime/optim_engine.py:34:0: C0301: Line too long (107/100) (line-too-long) runtime/optim_engine.py:76:0: C0301: Line too long (101/100) (line-too-long) runtime/optim_engine.py:1:0: C0114: Missing module docstring (missing-module-docstring) runtime/optim_engine.py:29:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/optim_engine.py:41:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/optim_engine.py:48:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/optim_engine.py:56:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/optim_engine.py:61:4: R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return) runtime/optim_engine.py:65:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/optim_engine.py:68:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/optim_engine.py:76:36: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module runtime.model_api runtime/model_api.py:45:0: C0301: Line too long (107/100) (line-too-long) runtime/model_api.py:48:0: C0301: Line too long (106/100) (line-too-long) runtime/model_api.py:76:0: C0301: Line too long (116/100) (line-too-long) runtime/model_api.py:78:0: C0301: Line too long (116/100) (line-too-long) runtime/model_api.py:82:0: C0301: Line too long (101/100) (line-too-long) runtime/model_api.py:86:0: C0301: Line too long (117/100) (line-too-long) runtime/model_api.py:88:0: C0301: Line too long (116/100) (line-too-long) runtime/model_api.py:95:0: C0301: Line too long (101/100) (line-too-long) runtime/model_api.py:109:0: C0301: Line too long (113/100) (line-too-long) runtime/model_api.py:145:0: C0301: Line too long (104/100) (line-too-long) runtime/model_api.py:175:0: C0301: Line too long (101/100) (line-too-long) runtime/model_api.py:202:0: C0301: Line too long (101/100) (line-too-long) runtime/model_api.py:1:0: C0114: Missing module docstring (missing-module-docstring) runtime/model_api.py:34:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:63:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:69:16: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:75:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) runtime/model_api.py:82:32: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:84:16: W0101: Unreachable code (unreachable) runtime/model_api.py:93:16: W0101: Unreachable code (unreachable) runtime/model_api.py:95:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:97:12: W0707: Consider explicitly re-raising using 'raise BusinessException(err) from err' (raise-missing-from) runtime/model_api.py:100:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:103:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) runtime/model_api.py:109:29: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:114:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:122:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:129:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:132:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:141:33: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:145:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:147:12: W0707: Consider explicitly re-raising using 'raise BusinessException(err) from err' (raise-missing-from) runtime/model_api.py:150:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:174:15: W0718: Catching too general exception Exception (broad-exception-caught) runtime/model_api.py:153:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:154:16: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) runtime/model_api.py:161:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) runtime/model_api.py:165:16: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) runtime/model_api.py:175:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:180:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:183:4: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) runtime/model_api.py:191:29: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:196:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/model_api.py:214:15: W0718: Catching too general exception Exception (broad-exception-caught) runtime/model_api.py:199:28: W1310: Using formatting for a string that does not have any interpolated variables (format-string-without-interpolation) runtime/model_api.py:199:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:205:12: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) runtime/model_api.py:209:16: R1705: Unnecessary "else" after "return", remove the "else" and de-indent the code inside it (no-else-return) runtime/model_api.py:215:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/model_api.py:220:0: C0116: Missing function or method docstring (missing-function-docstring) ************* Module runtime.solvers.py.__init__ runtime/solvers/py/__init__.py:17:0: C0304: Final newline missing (missing-final-newline) ************* Module runtime.solvers.py.py_solver runtime/solvers/py/py_solver.py:1:0: C0114: Missing module docstring (missing-module-docstring) runtime/solvers/py/py_solver.py:28:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/solvers/py/py_solver.py:29:14: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:30:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) runtime/solvers/py/py_solver.py:34:21: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:37:21: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:38:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) runtime/solvers/py/py_solver.py:41:18: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:56:11: W0718: Catching too general exception Exception (broad-exception-caught) runtime/solvers/py/py_solver.py:46:12: W1510: 'subprocess.run' used without explicitly defining the value for 'check'. (subprocess-run-check) runtime/solvers/py/py_solver.py:48:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:50:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:52:13: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) runtime/solvers/py/py_solver.py:57:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:56:4: W0612: Unused variable 'e' (unused-variable) runtime/solvers/py/py_solver.py:63:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/solvers/py/py_solver.py:67:15: W0718: Catching too general exception Exception (broad-exception-caught) runtime/solvers/py/py_solver.py:68:28: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/py/py_solver.py:67:8: W0612: Unused variable 'e' (unused-variable) runtime/solvers/py/py_solver.py:71:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/solvers/py/py_solver.py:85:11: W0718: Catching too general exception Exception (broad-exception-caught) runtime/solvers/py/py_solver.py:90:29: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) ************* Module runtime.solvers.mzn.mzn_solver runtime/solvers/mzn/mzn_solver.py:55:0: C0301: Line too long (110/100) (line-too-long) runtime/solvers/mzn/mzn_solver.py:1:0: C0114: Missing module docstring (missing-module-docstring) runtime/solvers/mzn/mzn_solver.py:50:0: C0116: Missing function or method docstring (missing-function-docstring) runtime/solvers/mzn/mzn_solver.py:72:11: W0718: Catching too general exception Exception (broad-exception-caught) runtime/solvers/mzn/mzn_solver.py:77:29: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/mzn/mzn_solver.py:88:15: R1735: Consider using '{}' instead of a call to 'dict'. (use-dict-literal) runtime/solvers/mzn/mzn_solver.py:109:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/mzn/mzn_solver.py:113:24: C0209: Formatting a regular string which could be an f-string (consider-using-f-string) runtime/solvers/mzn/mzn_solver.py:122:9: W1514: Using open without explicitly specifying an encoding (unspecified-encoding) ************* Module runtime.models.api.optim_response runtime/models/api/optim_response.py:1:0: C0114: Missing module docstring (missing-module-docstring) runtime/models/api/optim_response.py:25:0: C0115: Missing class docstring (missing-class-docstring) ************* Module runtime.models.api.model_request runtime/models/api/model_request.py:1:0: C0114: Missing module docstring (missing-module-docstring) ************* Module runtime.models.api.model_response runtime/models/api/model_response.py:1:0: C0114: Missing module docstring (missing-module-docstring) runtime/models/api/model_response.py:24:0: C0115: Missing class docstring (missing-class-docstring) ************* Module runtime.models.api.optim_request runtime/models/api/optim_request.py:1:0: C0114: Missing module docstring (missing-module-docstring) runtime/models/api/optim_request.py:24:0: W0105: String statement has no effect (pointless-string-statement) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.nsst.optimizers.nsst_select_processor:[78:129] ==apps.nst.optimizers.nst_select_processor:[78:129] conductor_response = self.get_conductor(req_info, requirements, policies, model_name) return conductor_response def get_nsst_selection_response(self, solutions): """Get NST selection response from final solution :param solutions: final solutions :return: NST selection response to send back as dictionary """ return {'requestId': self.request_info['requestId'], 'transactionId': self.request_info['transactionId'], 'requestStatus': 'completed', 'statusMessage': '', 'solutions': solutions} def error_response(self, error_message): """Form response message from the error message :param error_message: error message while processing the request :return: response json as dictionary """ return {'requestId': self.request_info['requestId'], 'transactionId': self.request_info['transactionId'], 'requestStatus': 'error', 'statusMessage': error_message} def get_app_policies(self, model_name, app_name): policy_request_json = self.request_json.copy() policy_request_json['serviceInfo'] = {'serviceName': model_name} debug_log.debug("policy_request_json {}".format(str(policy_request_json))) return get_policies(policy_request_json, app_name) # app_name: nsst_selection def get_conductor(self, req_info, request_parameters, policies, model_name): demands = [ { "resourceModuleName": model_name, "resourceModelInfo": {} } ] try: template_fields = { 'location_enabled': False, 'version': '2020-08-13' } resp = conductor.request(req_info, demands, request_parameters, {}, template_fields, self.osdf_config, policies) except RequestException as e: resp = e.response.json() error = resp['plans'][0]['message'] if "Unable to find any" in error: (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.nst.optimizers.nst_select_processor:[111:128] ==apps.slice_selection.optimizers.conductor.remote_opt_processor:[83:100] demands = [ { "resourceModuleName": model_name, "resourceModelInfo": {} } ] try: template_fields = { 'location_enabled': False, 'version': '2020-08-13' } resp = conductor.request(req_info, demands, request_parameters, {}, template_fields, self.osdf_config, policies) except RequestException as e: resp = e.response.json() error = resp['plans'][0]['message'] (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.nsst.optimizers.nsst_select_processor:[57:75] ==apps.nst.optimizers.nst_select_processor:[57:75] except Exception as err: error_log.error("Error for {} {}".format(self.request_info.get('requestId'), traceback.format_exc())) error_message = str(err) solution = self.error_response(error_message) try: rest_client.request(json=solution, noresponse=True) except RequestException: error_log.error("Error sending asynchronous notification for {} {}". format(self.request_info['requestId'], traceback.format_exc())) def get_nsst_solution(self): """the file is in the same folder for now will move it to the conf folder of the has once its integrated there... """ req_info = self.request_json['requestInfo'] (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==runtime.solvers.mzn.mzn_solver:[69:85] ==runtime.solvers.py.py_solver:[82:92] } return 200, json.dumps(response) except Exception as e: response = { 'transactionId': req_info['transactionId'], 'requestID': req_info['requestID'], 'requestStatus': 'failed', 'statusMessage': 'Failed due to {}'.format(e) } return 400, json.dumps(response) def mzn_solver(mzn_content, opt_info): """Calls the minizinc optimizer. """ (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.pci.models.api.pciOptimizationRequest:[24:37] ==apps.placement.models.api.placementRequest:[23:36] class RequestInfo(OSDFModel): """Info for northbound request from client such as SO""" transactionId = StringType(required=True) requestId = StringType(required=True) callbackUrl = URLType(required=True) callbackHeader = DictType(BaseType) sourceId = StringType(required=True) requestType = StringType(required=True) numSolutions = IntType() optimizers = ListType(StringType(required=True)) timeout = IntType() (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.pci.optimizers.pci_opt_processor:[56:64] ==apps.placement.optimizers.conductor.remote_opt_processor:[162:170] except Exception as err: error_log.error("Error for {} {}".format(req_id, traceback.format_exc())) try: body = build_json_error_body(err) metrics_log.info(MH.sending_response(req_id, "ERROR")) rc.request(json=body, noresponse=True) except RequestException: (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.route.optimizers.inter_domain_route_opt:[39:54] ==apps.route.optimizers.simple_route_opt:[38:51] aai_headers = { "X-TransactionId": "9999", "X-FromAppId": "OOF", "Accept": "application/json", "Content-Type": "application/json", } def get_route(self, request, osdf_config): """ This method processes the mdons route request and returns an optimised path for the given two ports """ (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.nsst.optimizers.nsst_select_processor:[130:143] ==apps.nst.optimizers.nst_select_processor:[130:143] error_log.error('Error from conductor {}'.format(error)) return self.error_response(error) debug_log.debug("Response from conductor in get_conductor method {}".format(str(resp))) recommendations = resp["plans"][0].get("recommendations") return self.process_response(recommendations, model_name) def process_response(self, recommendations, model_name): """Process conductor response to form the response for the API request :param recommendations: recommendations from conductor :return: response json as a dictionary """ if not recommendations: (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.pci.models.api.pciOptimizationResponse:[41:46] ==apps.placement.models.api.placementResponse:[59:64] transactionId = StringType(required=True) requestId = StringType(required=True) requestStatus = StringType(required=True) statusMessage = StringType() solutions = ModelType(Solution, required=True) (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.nst.optimizers.nst_select_processor:[87:99] ==apps.slice_selection.optimizers.conductor.response_processor:[103:108] return {'requestId': self.request_info['requestId'], 'transactionId': self.request_info['transactionId'], 'requestStatus': 'completed', 'statusMessage': '', 'solutions': solutions} def error_response(self, error_message): """Form response message from the error message :param error_message: error message while processing the request :return: response json as dictionary """ (duplicate-code) runtime/models/api/optim_request.py:1:0: R0801: Similar lines in 2 files ==apps.nsst.optimizers.nsst_select_processor:[38:45] ==apps.nst.optimizers.nst_select_processor:[38:45] super().__init__() self.osdf_config = osdf_config self.request_json = request_json self.request_info = self.request_json['requestInfo'] self.request_info['numSolutions'] = 1 def run(self): (duplicate-code) Report ====== 3060 statements analysed. Statistics by type ------------------ +---------+-------+-----------+-----------+------------+---------+ |type |number |old number |difference |%documented |%badname | +=========+=======+===========+===========+============+=========+ |module |106 |NC |NC |44.34 |4.72 | +---------+-------+-----------+-----------+------------+---------+ |class |61 |NC |NC |39.34 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |method |116 |NC |NC |69.83 |0.00 | +---------+-------+-----------+-----------+------------+---------+ |function |185 |NC |NC |57.30 |0.54 | +---------+-------+-----------+-----------+------------+---------+ External dependencies --------------------- :: Crypto \-Cipher | \-AES (osdf.utils.cipherUtils) \-Util \-Padding (osdf.utils.cipherUtils) apps \-license \-optimizers \-simple_license_allocation (apps.placement.optimizers.conductor.remote_opt_processor) consul \-base (osdf.config.consulconfig) \-tornado (osdf.config.consulconfig) dateutil \-parser (osdf.utils.data_conversion) \-tz (osdf.utils.data_conversion) 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) flask_httpauth (osdf.webapp.appcontroller) jinja2 (apps.nxi_termination.optimizers.remote_opt_processor,apps.placement.optimizers.conductor.remote_opt_processor,osdf,osdf.adapters.conductor.api_builder) mysql \-connector (runtime.model_api) onaplogging \-colorFormatter (osdf.logging.oof_mdc_formatter) \-logWatchDog (osdf.logging.monkey) \-marker (osdf.logging.oof_mdc_context) \-mdcContext (apps.pci.optimizers.pci_opt_processor,osdf.apps.baseapp,osdf.logging.oof_mdc_context,osdf.utils.mdc_utils) \-mdcformatter (osdf.logging.oof_mdc_formatter) onapsmsclient (osdf.adapters.aaf.sms) osdf (osdf.config.credentials,osdf.operation.error_handling,osdf.operation.responses,osdf.webapp.appcontroller) \-adapters | \-aaf | | \-aaf_authentication (osdf.webapp.appcontroller) | | \-sms (osdf.apps.baseapp) | \-aai | | \-fetch_aai_data (apps.nxi_termination.optimizers.remote_opt_processor) | \-conductor | | \-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) | \-dcae | | \-des (apps.pci.optimizers.solver.ml_model) | \-local_data | | \-local_policies (osdf.adapters.policy.interface) | \-policy | \-interface (apps.nsst.optimizers.nsst_select_processor,apps.nst.optimizers.nst_select_processor,apps.slice_selection.optimizers.conductor.remote_opt_processor) | \-utils (osdf.adapters.conductor.api_builder) \-config | \-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) | \-credentials (osdf.adapters.aaf.sms) | \-loader (osdf.adapters.aaf.sms) \-logging | \-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) \-models | \-api | \-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) \-operation | \-error_handling (apps.pci.optimizers.pci_opt_processor,apps.placement.optimizers.conductor.remote_opt_processor,osdf.apps.baseapp) | \-exceptions (osdf.adapters.conductor.conductor,osdf.adapters.dcae.message_router,osdf.adapters.policy.interface,osdf.apps.baseapp,runtime.model_api,runtime.optim_engine) | \-responses (osdf.apps.baseapp) \-utils \-cipherUtils (osdf.adapters.aaf.sms) \-data_conversion (runtime.model_api,runtime.optim_engine) \-data_types (osdf.adapters.dcae.message_router) \-file_utils (runtime.solvers.mzn.mzn_solver,runtime.solvers.py.py_solver) \-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) \-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) \-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) pymzn (apps.pci.optimizers.solver.optimizer,apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt,runtime.solvers.mzn.mzn_solver) 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) \-auth (apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt) schematics \-exceptions (osdf.apps.baseapp,osdf.operation.error_handling) \-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) \-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) sklearn \-preprocessing (apps.route.optimizers.inter_domain_route_opt,apps.route.optimizers.simple_route_opt) tornado \-gen (osdf.config.consulconfig) \-ioloop (osdf.config.consulconfig) urllib3 (apps.route.optimizers.inter_domain_route_opt) 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) 7082 lines have been analyzed Raw metrics ----------- +----------+-------+------+---------+-----------+ |type |number |% |previous |difference | +==========+=======+======+=========+===========+ |code |3586 |50.64 |NC |NC | +----------+-------+------+---------+-----------+ |docstring |1075 |15.18 |NC |NC | +----------+-------+------+---------+-----------+ |comment |1411 |19.92 |NC |NC | +----------+-------+------+---------+-----------+ |empty |1010 |14.26 |NC |NC | +----------+-------+------+---------+-----------+ Duplication ----------- +-------------------------+------+---------+-----------+ | |now |previous |difference | +=========================+======+=========+===========+ |nb duplicated lines |0 |NC |NC | +-------------------------+------+---------+-----------+ |percent duplicated lines |0.000 |NC |NC | +-------------------------+------+---------+-----------+ Messages by category -------------------- +-----------+-------+---------+-----------+ |type |number |previous |difference | +===========+=======+=========+===========+ |convention |612 |NC |NC | +-----------+-------+---------+-----------+ |refactor |109 |NC |NC | +-----------+-------+---------+-----------+ |warning |111 |NC |NC | +-----------+-------+---------+-----------+ |error |3 |NC |NC | +-----------+-------+---------+-----------+ Messages -------- +------------------------------------+------------+ |message id |occurrences | +====================================+============+ |line-too-long |169 | +------------------------------------+------------+ |consider-using-f-string |138 | +------------------------------------+------------+ |missing-function-docstring |114 | +------------------------------------+------------+ |missing-module-docstring |59 | +------------------------------------+------------+ |missing-class-docstring |37 | +------------------------------------+------------+ |wrong-import-order |31 | +------------------------------------+------------+ |invalid-name |30 | +------------------------------------+------------+ |use-dict-literal |20 | +------------------------------------+------------+ |broad-exception-caught |20 | +------------------------------------+------------+ |no-else-return |19 | +------------------------------------+------------+ |unspecified-encoding |17 | +------------------------------------+------------+ |trailing-whitespace |14 | +------------------------------------+------------+ |duplicate-code |11 | +------------------------------------+------------+ |too-many-arguments |10 | +------------------------------------+------------+ |too-many-locals |9 | +------------------------------------+------------+ |useless-object-inheritance |8 | +------------------------------------+------------+ |unused-variable |8 | +------------------------------------+------------+ |unused-import |8 | +------------------------------------+------------+ |inconsistent-return-statements |8 | +------------------------------------+------------+ |redefined-builtin |7 | +------------------------------------+------------+ |unused-argument |6 | +------------------------------------+------------+ |protected-access |6 | +------------------------------------+------------+ |raise-missing-from |5 | +------------------------------------+------------+ |missing-timeout |5 | +------------------------------------+------------+ |missing-final-newline |5 | +------------------------------------+------------+ |consider-using-with |5 | +------------------------------------+------------+ |broad-exception-raised |5 | +------------------------------------+------------+ |unidiomatic-typecheck |4 | +------------------------------------+------------+ |redefined-outer-name |4 | +------------------------------------+------------+ |pointless-string-statement |4 | +------------------------------------+------------+ |no-else-raise |4 | +------------------------------------+------------+ |no-else-continue |3 | +------------------------------------+------------+ |fixme |3 | +------------------------------------+------------+ |consider-using-enumerate |3 | +------------------------------------+------------+ |bad-indentation |3 | +------------------------------------+------------+ |used-before-assignment |2 | +------------------------------------+------------+ |unreachable |2 | +------------------------------------+------------+ |trailing-newlines |2 | +------------------------------------+------------+ |too-few-public-methods |2 | +------------------------------------+------------+ |simplifiable-if-expression |2 | +------------------------------------+------------+ |consider-using-dict-items |2 | +------------------------------------+------------+ |consider-iterating-dictionary |2 | +------------------------------------+------------+ |use-yield-from |1 | +------------------------------------+------------+ |ungrouped-imports |1 | +------------------------------------+------------+ |too-many-statements |1 | +------------------------------------+------------+ |too-many-public-methods |1 | +------------------------------------+------------+ |too-many-instance-attributes |1 | +------------------------------------+------------+ |too-many-branches |1 | +------------------------------------+------------+ |superfluous-parens |1 | +------------------------------------+------------+ |super-with-arguments |1 | +------------------------------------+------------+ |subprocess-run-check |1 | +------------------------------------+------------+ |no-member |1 | +------------------------------------+------------+ |modified-iterating-list |1 | +------------------------------------+------------+ |global-variable-undefined |1 | +------------------------------------+------------+ |global-statement |1 | +------------------------------------+------------+ |format-string-without-interpolation |1 | +------------------------------------+------------+ |deprecated-module |1 | +------------------------------------+------------+ |dangerous-default-value |1 | +------------------------------------+------------+ |consider-using-set-comprehension |1 | +------------------------------------+------------+ |consider-using-from-import |1 | +------------------------------------+------------+ |bare-except |1 | +------------------------------------+------------+ ----------------------------------- Your code has been rated at 7.23/10 pylint: OK ✔ in 45.06 seconds flake8diff: install_deps> python -I -m pip install 'hacking>=2.0.0' flake8diff: freeze> python -m pip freeze --all flake8diff: flake8==6.1.0,hacking==6.1.0,mccabe==0.7.0,pip==24.0,pycodestyle==2.11.1,pyflakes==3.1.0,setuptools==69.1.0,wheel==0.42.0 flake8diff: 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' py3: OK (73.83=setup[33.92]+cmd[0.01,10.03,28.42,0.75,0.67,0.02,0.01] seconds) pylint: OK (45.05=setup[27.05]+cmd[18.00] seconds) flake8diff: OK (5.40=setup[5.40]+cmd[0.01] seconds) congratulations :) (124.36 seconds) $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 1679 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins6330777491568619332.sh ---> sysstat.sh [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins5642279185401799898.sh ---> package-listing.sh ++ facter osfamily ++ tr '[:upper:]' '[:lower:]' + OS_FAMILY=debian + workspace=/w/workspace/optf-osdf-master-osdf-verify-python + 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-master-osdf-verify-python ']' + 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-master-osdf-verify-python ']' + mkdir -p /w/workspace/optf-osdf-master-osdf-verify-python/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/optf-osdf-master-osdf-verify-python/archives/ [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins15679260394870695066.sh ---> capture-instance-metadata.sh Setup pyenv: system * 3.8.13 (set by /w/workspace/optf-osdf-master-osdf-verify-python/.python-version) 3.9.13 3.10.6 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ULYP from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-ULYP/bin to PATH INFO: Running in OpenStack, capturing instance metadata [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins15946818754847685137.sh provisioning config files... copy managed file [jenkins-log-archives-settings] to file:/w/workspace/optf-osdf-master-osdf-verify-python@tmp/config9989641524243317858tmp 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-master-osdf-verify-python] $ /bin/bash /tmp/jenkins769462923673954990.sh ---> create-netrc.sh [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins10589749188985157346.sh ---> python-tools-install.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-master-osdf-verify-python/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ULYP from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-ULYP/bin to PATH [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins7205339202198362354.sh ---> sudo-logs.sh Archiving 'sudo' log.. [optf-osdf-master-osdf-verify-python] $ /bin/bash /tmp/jenkins3872598314257940733.sh ---> job-cost.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-master-osdf-verify-python/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ULYP 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-ULYP/bin to PATH INFO: No Stack... INFO: Retrieving Pricing Info for: v3-standard-4 INFO: Archiving Costs [optf-osdf-master-osdf-verify-python] $ /bin/bash -l /tmp/jenkins16990767223147042924.sh ---> logs-deploy.sh Setup pyenv: system 3.8.13 3.9.13 * 3.10.6 (set by /w/workspace/optf-osdf-master-osdf-verify-python/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-ULYP from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing: lftools lf-activate-venv(): INFO: Adding /tmp/venv-ULYP/bin to PATH INFO: Nexus URL https://nexus.onap.org path production/vex-yul-ecomp-jenkins-1/optf-osdf-master-osdf-verify-python/665 INFO: archiving workspace using pattern(s): -p **/target/surefire-reports/*-output.txt Archives upload complete. INFO: archiving logs to Nexus ---> uname -a: Linux prd-ubuntu1804-builder-4c-4g-21704 4.15.0-194-generic #205-Ubuntu SMP Fri Sep 16 19:49:27 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): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 4 NUMA node(s): 1 Vendor ID: AuthenticAMD CPU family: 23 Model: 49 Model name: AMD EPYC-Rome Processor Stepping: 0 CPU MHz: 2800.000 BogoMIPS: 5600.00 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-3 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: 4 ---> df -h: Filesystem Size Used Avail Use% Mounted on udev 7.9G 0 7.9G 0% /dev tmpfs 1.6G 676K 1.6G 1% /run /dev/vda1 78G 9.3G 69G 12% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/vda15 105M 4.4M 100M 5% /boot/efi tmpfs 1.6G 0 1.6G 0% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 16040 514 12321 0 3204 15195 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:d0:ac:83 brd ff:ff:ff:ff:ff:ff inet 10.30.106.198/23 brd 10.30.107.255 scope global dynamic ens3 valid_lft 86116sec preferred_lft 86116sec inet6 fe80::f816:3eff:fed0:ac83/64 scope link valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 4.15.0-194-generic (prd-ubuntu1804-builder-4c-4g-21704) 04/09/24 _x86_64_ (4 CPU) 09:03:26 LINUX RESTART (4 CPU) 09:04:01 tps rtps wtps bread/s bwrtn/s 09:05:01 86.85 17.25 69.61 1020.10 9002.77 09:06:01 129.25 20.60 108.65 716.68 17307.12 09:07:01 73.85 0.98 72.87 60.52 19892.02 09:08:01 93.22 2.40 90.82 152.51 20990.37 Average: 95.79 10.31 85.49 487.45 16798.07 09:04:01 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 09:05:01 13987944 15569284 2437024 14.84 63688 1719368 806500 4.62 669216 1554252 158912 09:06:01 13193512 15546160 3231456 19.67 94424 2424488 929540 5.32 709316 2238436 494192 09:07:01 12637276 15545028 3787692 23.06 110260 2921356 850932 4.87 761304 2700388 505768 09:08:01 12604544 15546504 3820424 23.26 114060 2949948 807308 4.62 775120 2718944 24228 Average: 13105819 15551744 3319149 20.21 95608 2503790 848570 4.86 728739 2303005 295775 09:04:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 09:05:01 ens3 61.24 42.19 973.01 10.72 0.00 0.00 0.00 0.00 09:05:01 lo 1.67 1.67 0.19 0.19 0.00 0.00 0.00 0.00 09:06:01 ens3 77.59 45.18 1771.64 6.28 0.00 0.00 0.00 0.00 09:06:01 lo 0.67 0.67 0.07 0.07 0.00 0.00 0.00 0.00 09:07:01 ens3 5.22 5.00 2.70 2.26 0.00 0.00 0.00 0.00 09:07:01 lo 5.33 5.33 0.63 0.63 0.00 0.00 0.00 0.00 09:08:01 ens3 29.18 24.40 23.58 11.37 0.00 0.00 0.00 0.00 09:08:01 lo 1.00 1.00 0.10 0.10 0.00 0.00 0.00 0.00 Average: ens3 43.31 29.19 692.73 7.66 0.00 0.00 0.00 0.00 Average: lo 2.17 2.17 0.25 0.25 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 4.15.0-194-generic (prd-ubuntu1804-builder-4c-4g-21704) 04/09/24 _x86_64_ (4 CPU) 09:03:26 LINUX RESTART (4 CPU) 09:04:01 CPU %user %nice %system %iowait %steal %idle 09:05:01 all 20.06 0.00 1.28 3.70 0.06 74.90 09:05:01 0 18.13 0.00 1.38 4.46 0.10 75.93 09:05:01 1 14.82 0.00 1.52 8.04 0.05 75.58 09:05:01 2 28.29 0.00 1.34 1.59 0.05 68.73 09:05:01 3 19.04 0.00 0.90 0.68 0.05 79.33 09:06:01 all 17.69 0.00 1.62 4.19 0.08 76.42 09:06:01 0 30.10 0.00 2.38 3.24 0.05 64.23 09:06:01 1 5.77 0.00 1.37 11.48 0.13 81.25 09:06:01 2 24.30 0.00 1.69 1.59 0.07 72.35 09:06:01 3 10.58 0.00 1.02 0.48 0.07 87.85 09:07:01 all 13.39 0.00 1.16 3.58 0.08 81.79 09:07:01 0 23.79 0.00 1.13 0.15 0.08 74.84 09:07:01 1 26.42 0.00 2.44 10.46 0.07 60.61 09:07:01 2 2.43 0.00 0.44 0.10 0.05 96.98 09:07:01 3 0.89 0.00 0.58 3.63 0.08 94.82 09:08:01 all 20.55 0.00 1.07 5.33 0.06 73.00 09:08:01 0 0.94 0.00 0.90 9.29 0.05 88.83 09:08:01 1 37.62 0.00 0.90 1.00 0.07 60.41 09:08:01 2 19.58 0.00 1.25 1.67 0.05 77.44 09:08:01 3 24.07 0.00 1.25 9.32 0.07 65.29 Average: all 17.92 0.00 1.28 4.20 0.07 76.53 Average: 0 18.25 0.00 1.45 4.28 0.07 75.95 Average: 1 21.15 0.00 1.56 7.75 0.08 69.46 Average: 2 18.66 0.00 1.18 1.24 0.05 78.87 Average: 3 13.65 0.00 0.94 3.53 0.07 81.82