Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-18333

Remove eventlet dependency from Barbican and migrate to threading executor

XMLWordPrintable

    • DFG Security: Test Sprint 7, DFG Security: Test Sprint 9, DFG Security: Test Sprint 10
    • 3

      Description

      Remove eventlet dependency from Barbican codebase and migrate to using threading-based execution instead of eventlet.

      Implementation Details

      This change removes eventlet dependency from Barbican and migrates to using threading-based execution:

      • Remove eventlet from requirements.txt
      • Remove eventlet imports and monkey_patch calls from:
      • barbican/cmd/worker.py
      • barbican/cmd/keystone_listener.py
      • barbican/cmd/retry_scheduler.py
      • barbican/tests/queue/test_retry_scheduler.py
      • Replace 'eventlet' executor with 'threading' executor in:
      • get_server() function for RPC server
      • get_notification_server() function for notification server

      Testing

      • Tested with tox environment to ensure functionality is preserved
      • Queue module imports successfully
      • All components work correctly with threading executor

      Upstream Review

      The implementation has been submitted for upstream review: https://review.opendev.org/c/openstack/barbican/+/955301

      Related Work

      This aligns with the OpenStack community goal for eventlet removal:

      The threading executor provides the same functionality as eventlet for oslo.messaging but without the eventlet dependency. This change modernizes the codebase and removes the need for monkey patching.

              ggrasza@redhat.com Grzegorz Grasza
              ggrasza@redhat.com Grzegorz Grasza
              rhos-dfg-security
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: