Signal interruption cannot be setup on Windows

Bug #1788022 reported by Claudiu Belu on 2018-08-20
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo.service
High
Claudiu Belu

Bug Description

oslo.service can setup signal interruption, but this is not supported on Windows due to missing attributes in the select module, as it can be seen in the logs below.

This issue causes nova-compute to fail to start when using python 3.5 or newer on Windows.

Logs: http://paste.openstack.org/show/728436/

Fix proposed to branch: master
Review: https://review.openstack.org/593897

Changed in oslo.service:
assignee: nobody → Claudiu Belu (cbelu)
status: New → In Progress
Ben Nemec (bnemec) on 2018-08-21
Changed in oslo.service:
importance: Undecided → High
Zane Bitter (zaneb) wrote :

<scratches head> since when do we support Windows?

https://git.openstack.org/cgit/openstack/oslo.service/tree/setup.cfg#n14

Claudiu Belu (cbelu) wrote :

oslo.service is not 100% Windows friendly, but some of its consumers do support Windows (nova-compute, neutron-openvswitch-agent, cinder-volume, cinder-backup, etc.). And since they are setting up signal handling, this causes these services to crash on Windows (see logs).

Reviewed: https://review.openstack.org/593897
Committed: https://git.openstack.org/cgit/openstack/oslo.service/commit/?id=2ee3894f49f315e35abff968f54ae72e5480e892
Submitter: Zuul
Branch: master

commit 2ee3894f49f315e35abff968f54ae72e5480e892
Author: Claudiu Belu <email address hidden>
Date: Sun Aug 19 03:35:58 2018 -0700

    Skips signal handling on Windows

    Setting up signal handling fails on Windows due to missing select
    module attributes. This patch skips the setup on Windows.

    Change-Id: I75db453ec907efb01e1bb411690dadd92a48314d
    Closes-Bug: #1788022

Changed in oslo.service:
status: In Progress → Fix Released

Reviewed: https://review.openstack.org/596837
Committed: https://git.openstack.org/cgit/openstack/oslo.service/commit/?id=c8c8946d3281ef65de70b03dd198b6be6257fa7f
Submitter: Zuul
Branch: stable/rocky

commit c8c8946d3281ef65de70b03dd198b6be6257fa7f
Author: Claudiu Belu <email address hidden>
Date: Sun Aug 19 03:35:58 2018 -0700

    Skips signal handling on Windows

    Setting up signal handling fails on Windows due to missing select
    module attributes. This patch skips the setup on Windows.

    Change-Id: I75db453ec907efb01e1bb411690dadd92a48314d
    Closes-Bug: #1788022
    (cherry picked from commit 2ee3894f49f315e35abff968f54ae72e5480e892)

tags: added: in-stable-rocky

This issue was fixed in the openstack/oslo.service 1.32.0 release.

This issue was fixed in the openstack/oslo.service 1.31.4 release.

Reviewed: https://review.openstack.org/624006
Committed: https://git.openstack.org/cgit/openstack/oslo.service/commit/?id=159ef2e1d26f25a5d7a0514d5155f3c74c4a8a86
Submitter: Zuul
Branch: master

commit 159ef2e1d26f25a5d7a0514d5155f3c74c4a8a86
Author: Zane Bitter <email address hidden>
Date: Mon Dec 10 19:42:30 2018 +1300

    Restore correct signal handling in Python3

    The patch 2ee3894f49f315e35abff968f54ae72e5480e892 broke the original
    fix cad75e4e139f734a5138d37ceafa6be169ff4e47 that ensured eventlet could
    be interrupted while sleeping after PEP475 was implemented in Python
    3.5. Eventlet monkey-patches the signal module with its own version, so
    we have to look up the original module to determine whether the
    underlying OS actually supports the poll() function.

    Change-Id: Ia712c9a83d8081bf0b5e6fe36f169f9028aae3dc
    Closes-Bug: #1803731
    Related-Bug: #1788022
    Related-Bug: #1705047

Reviewed: https://review.openstack.org/626398
Committed: https://git.openstack.org/cgit/openstack/oslo.service/commit/?id=d1295d45eedbae7f524026af207c8196a8925fa9
Submitter: Zuul
Branch: stable/rocky

commit d1295d45eedbae7f524026af207c8196a8925fa9
Author: Zane Bitter <email address hidden>
Date: Mon Dec 10 19:42:30 2018 +1300

    Restore correct signal handling in Python3

    The patch c8c8946d3281ef65de70b03dd198b6be6257fa7f broke the original
    fix cad75e4e139f734a5138d37ceafa6be169ff4e47 that ensured eventlet could
    be interrupted while sleeping after PEP475 was implemented in Python
    3.5. Eventlet monkey-patches the signal module with its own version, so
    we have to look up the original module to determine whether the
    underlying OS actually supports the poll() function.

    Change-Id: Ia712c9a83d8081bf0b5e6fe36f169f9028aae3dc
    Closes-Bug: #1803731
    Related-Bug: #1788022
    Related-Bug: #1705047
    (cherry picked from commit 159ef2e1d26f25a5d7a0514d5155f3c74c4a8a86)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers