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

Rewrite Signal Handling and service shutdown

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • openstack-ironic
    • None
    • 5
    • False
    • Hide

      None

      Show
      None
    • False
    • Impediment
    • rhos-ops-day1day2-hardprov
    • HardProv Sprint 7, HardProv Sprint 8
    • 2

      Goal: 

      • As a developer, it is well understood I must remove eventlet. In this process, it has been discovered that we must explicitly choose not to use eventlet as well. As a result, we found more work, our signal handling cannot be setup in threads as the code did with Eventlet.
      • As a User, I expect the service to shutdown when requested and the USR1 and USR2 signaling continue to be honored if possible.

      Additional Context

      Originally, with eventlet, ironic didn't actually use threads under the hood. At least, real threads. The way it functionally worked was it invoked signaling which could be then called from functionally anywhere in the code context some amount of base context due to the instantiation of the classes which originally registered it. Which is fine for eventlet usage, but a huge constraint with real threads and python, is only the parent process is permitted to invoke signal mappings for future calls upon received signals.

      So functionally, what we need to do is re-implement the existing signal handling in a more sane way which allows it to be used in a threaded world.

      Acceptance Criteria:

      • A change or "fix" has been proposed which effectuates signal handling for conductor process shutdown as we expect.
      • Change preferably supports SIGUSR1 and SIGUSR2 with appropriate handling.

              jkreger@redhat.com Julia Kreger
              jkreger@redhat.com Julia Kreger
              rhos-dfg-hardprov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: