** Also affects: octavia (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: octavia (Ubuntu Resolute)
   Importance: Undecided
       Status: New

** Also affects: octavia (Ubuntu Stonking)
   Importance: Undecided
       Status: New

** Changed in: octavia (Ubuntu Stonking)
       Status: New => Invalid

** Description changed:

+ [Impact]
+ 
+ Python 3.14 changed the default multiprocessing start method on Linux from
+ fork to forkserver. Octavia child processes no longer inherit the parsed
+ configuration from the parent process.
+ 
+ As a result, octavia-health-manager can connect to the default SQLite database
+ instead of the database configured in octavia.conf. The same issue affects
+ octavia-driver-agent and amphora-agent.
+ 
+ [Test Case]
+ 
+ 1. Install the proposed package on a system running Python 3.14.
+ 
+ 2. Create a temporary Octavia configuration:
+ 
+    mkdir -p /tmp/octavia-sru
+    cat >/tmp/octavia-sru/octavia.conf <<EOF
+    [DEFAULT]
+    log_dir = /tmp/octavia-sru
+    transport_url = rabbit://invalid:[email protected]:5672/
+ 
+    [database]
+    connection = sqlite:////tmp/octavia-sru/configured.sqlite
+    EOF
+ 
+ 3. Start the health manager while tracing file access:
+ 
+    strace -ff -o /tmp/octavia-sru/trace -e trace=file \
+        octavia-health-manager \
+        --config-file /tmp/octavia-sru/octavia.conf
+ 
+    Allow the service to start for approximately 10 seconds, then stop
+ it.
+ 
+ 4. Inspect the trace files:
+ 
+    grep -hE 'configured.sqlite|octavia.sqlite|sqlite' \
+        /tmp/octavia-sru/trace*
+ 
+ 5. With the unfixed package, the child processes attempt to access the default
+    Octavia SQLite database rather than the configured database.
+ 
+ 6. With the proposed package, the child processes use:
+ 
+    /tmp/octavia-sru/configured.sqlite
+ 
+    and do not access the default octavia.sqlite database.
+ 
+ 7. Start octavia-driver-agent with the same configuration and verify that its
+    listener processes start without multiprocessing errors.
+ 
+ 8. If an amphora image is rebuilt with the proposed package, start
+    amphora-agent and verify that the agent starts without multiprocessing
+    errors and uses its configured settings.
+ 
+ [Regression Potential]
+ 
+ The change affects process creation in octavia-health-manager,
+ octavia-driver-agent, and amphora-agent. A regression could prevent child
+ processes from starting, affect process shutdown, or cause daemon-specific
+ configuration to be unavailable in child processes.
+ 
+ The patch changes only the multiprocessing context used to create child
+ processes, explicitly selecting fork on Linux. Existing daemon startup,
+ shutdown, and unit tests should be run. Amphora-agent validation requires an
+ amphora image rebuilt with the proposed package.
+ 
+ [Other Info]
+ This is reverting to pre-3.14 default multiprocessing context.
+ This has been fixed across the openstack ecosystem for the hibiscus release 
(stonking)
+ 
+ 
+ --- Original description
  OpenStack 2026.1 or 2026.2
  
  Debian 13
  Python 3.14
  
  CI test:
  https://review.opendev.org/c/openstack/openstack-ansible-os_octavia/+/992498
  
  Details:
  
https://zuul.opendev.org/t/openstack/build/b4e551ae920e4099a68b67dde31a8c9b/log/logs/host/octavia-worker.service.journal-17-27-02.log.txt
  
https://zuul.opendev.org/t/openstack/build/b4e551ae920e4099a68b67dde31a8c9b/log/logs/host/octavia-health-manager.service.journal-17-27-02.log.txt

** Summary changed:

- Octavia fails on deploy Debian 13
+ [SRU] octavia: Fix multiprocessing configuration inheritance with Python 3.14

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2156391

Title:
  [SRU] octavia: Fix multiprocessing configuration inheritance with
  Python 3.14

To manage notifications about this bug go to:
https://bugs.launchpad.net/octavia/+bug/2156391/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to