agent/linux: remove eventlet usage from of_monitor

Code is tested via some functional tests

Related-to: bug/2087939
Change-Id: I77d1954bf406ea8d2f8886608b9edc890b758786
Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@industrialdiscipline.com>
This commit is contained in:
Sahid Orentino Ferdjaoui
2025-02-04 11:05:29 +01:00
parent 86f94de99a
commit 9c08eb73ff

View File

@@ -13,9 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
import queue
import re
import threading
import eventlet
from neutron.agent.common import async_process
@@ -52,9 +53,11 @@ class OFMonitor(async_process.AsyncProcess):
if start:
self.start()
self._queue = eventlet.queue.Queue()
eventlet.spawn(self._read_and_enqueue, self.iter_stdout)
eventlet.spawn(self._read_and_enqueue, self.iter_stderr)
self._queue = queue.Queue()
threading.Thread(
target=self._read_and_enqueue, args=(self.iter_stdout,)).start()
threading.Thread(
target=self._read_and_enqueue, args=(self.iter_stderr,)).start()
def _read_and_enqueue(self, iter):
for event_line in iter(block=True):