Uploaded image for project: 'Optimization Framework'
  1. Optimization Framework
  2. OPTFRA-1108

Logging format causes stack trace errors

XMLWordPrintable

       

      Example of the log output on errors from cond-data container.

      Arguments: ([{'candidate_id': 'cdad9f49-4201-4e3a-aac1-b0f27902c299', 'inventory_provider': 'aai', 'inventory_type': 'nssi', 'uniqueness': 'true', 'cost': 1.0, 'instance_id': '1a636c4d-5e76-427e-bfd6-241a947224b0', 'instance_name': 'nssi_test_0211', 'domain': 'cn', 'profile_id': 'cdad9f49-4201-4e3a-aac1-b0f27902c299', 'latency': 20, 'max_number_of_ues': 0, 'coverage_area_ta_list': 'Chennai', 'ue_mobility_level': 'stationary', 'resource_sharing_level': '0', 'exp_data_rate_ul': 100, 'exp_data_rate_dl': 100, 'activity_factor': 0, 'e2e_latency': 0, 'jitter': 0, 'survival_time': 0, 'exp_data_rate': 0, 'payload_size': 0, 'traffic_density': 0, 'conn_density': 0, 'reliability': 99.999, 'creation_cost': 0.1}],)
      --- Logging error ---
      Traceback (most recent call last):
        File "/usr/local/lib/python3.9/logging/__init__.py", line 1079, in emit
          msg = self.format(record)
        File "/usr/local/lib/python3.9/logging/__init__.py", line 923, in format
          return fmt.format(record)
        File "/usr/local/lib/python3.9/logging/__init__.py", line 659, in format
          record.message = record.getMessage()
        File "/usr/local/lib/python3.9/logging/__init__.py", line 363, in getMessage
          msg = msg % self.args
      TypeError: not all arguments converted during string formatting
      Call stack:
        File "/usr/local/lib/python3.9/threading.py", line 912, in _bootstrap
          self._bootstrap_inner()
        File "/usr/local/lib/python3.9/threading.py", line 954, in _bootstrap_inner
          self.run()
        File "/usr/local/lib/python3.9/site-packages/futurist/_thread.py", line 107, in run
          work.run()
        File "/usr/local/lib/python3.9/site-packages/futurist/_utils.py", line 45, in run
          result = self.fn(*self.args, **self.kwargs)
        File "/opt/has/conductor/conductor/common/music/messaging/component.py", line 334, in __check_for_messages
          self._do()
        File "/opt/has/conductor/conductor/common/music/messaging/component.py", line 413, in _do
          result = method(msg.ctxt, msg.args)
        File "/opt/has/conductor/conductor/data/service.py", line 519, in resolve_demands
          results = self.ip_ext_manager.map_method(
        File "/usr/local/lib/python3.9/site-packages/stevedore/extension.py", line 320, in map_method
          return self.map(self._call_extension_method,
        File "/usr/local/lib/python3.9/site-packages/stevedore/extension.py", line 294, in map
          self._invoke_one_plugin(response.append, func, e, args, kwds)
        File "/usr/local/lib/python3.9/site-packages/stevedore/extension.py", line 325, in _invoke_one_plugin
          response_callback(func(e, *args, **kwds))
        File "/usr/local/lib/python3.9/site-packages/stevedore/extension.py", line 299, in _call_extension_method
          return getattr(extension.obj, method_name)(*args, **kwds)
        File "/opt/has/conductor/conductor/data/plugins/inventory_provider/aai.py", line 1665, in resolve_demands
          resolved_demands[name].extend(self.filter_nxi_candidates(aai_response, second_level_match,
        File "/opt/has/conductor/conductor/data/plugins/inventory_provider/aai.py", line 1930, in filter_nxi_candidates
          capacity_filtered_candidates = DCAE().capacity_filter(candidates)
        File "/opt/has/conductor/conductor/data/plugins/inventory_provider/dcae.py", line 194, in capacity_filter
          LOG.debug("updated candidate list ", updated_candidateList)
      Message: 'updated candidate list ' 

       

      Steps to reproduce:

      1. Configure docker environment: https://docs.onap.org/projects/onap-optf-has/en/latest/sections/installation.html#installing-the-components-and-simulators
      2. curl -X POST -H "Content-Type: application/json" -d @csit/tests/has/data/nssi_selection_template.json http://localhost:8091/v1/plans
      3. Check cond-data container logs

       

      Proposed Solution:

      Convert all dcae logging statements to utilize .format() to properly format the output strings for the logger.

       

            krishnaa96 krishnaa96
            lincoln lincoln
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: