Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: fivetime/openstack-devstack
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: openstack/devstack
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 4 commits
  • 6 files changed
  • 1 contributor

Commits on Jan 22, 2026

  1. Fix neutron service detection in unstack.sh

    Neutron services (neutron-api, neutron-rpc-server, and
    neutron-periodic-workers) were not being stopped during unstack
    because they were not detected as enabled in ENABLED_SERVICES.
    
    The root cause was that these services were dynamically enabled
    during stack.sh execution via inline enable_service calls in
    start_neutron_service_and_check(), but this logic was not
    replicated in unstack.sh. When unstack.sh called stop_process
    for these services, the is_service_enabled check failed because
    the services were not in ENABLED_SERVICES.
    
    This fix creates a shared enable_neutron_server_services()
    function that encapsulates the service enabling logic, reading
    neutron.conf to determine which services should be enabled
    (including conditional RPC worker enablement based on the
    rpc_workers configuration). This function is now called from
    both the stack.sh path (in start_neutron_service_and_check)
    and the unstack.sh path (after loading plugin settings).
    
    This ensures both stack and unstack use identical logic to
    determine enabled services, allowing stop_process to properly
    detect and stop all neutron server services.
    
    Generated-By: Cursor claude-sonnet-4.5
    Change-Id: I6179f3a861401ff12178aaee8b82ba7bf71dd765
    Signed-off-by: Sean Mooney <[email protected]>
    SeanMooney committed Jan 22, 2026
    Configuration menu
    Copy the full SHA
    efb34ca View commit details
    Browse the repository at this point in the history
  2. Fix missing service stops in unstack.sh

    Several services started by stack.sh were not properly stopped in
    unstack.sh, which could leave processes running and prevent clean
    restacking:
    
    - tcpdump: lib/tcpdump was not sourced, so stop_tcpdump was unavailable.
      Added source and stop call when tcpdump service is enabled.
    
    - s-container-sync: Swift's container-sync daemon was started via
      run_process but not explicitly stopped. Added stop_process call in
      stop_swift function.
    
    - ldap: The stop_ldap function existed but was never called. Added
      stop call in UNSTACK_ALL section, consistent with mysql/rabbit
      handling.
    
    These fixes ensure all services started by stack.sh are properly
    stopped by unstack.sh, allowing clean restacking.
    
    Generated-By: Cursor claude-opus-4.5
    Change-Id: I8bcc6fe82264bb35a616dae39f4216ba6200b547
    Signed-off-by: Sean Mooney <[email protected]>
    SeanMooney committed Jan 22, 2026
    Configuration menu
    Copy the full SHA
    2df8cce View commit details
    Browse the repository at this point in the history
  3. Refactor MySQL auth to support restacking

    This change refactors the MySQL/MariaDB configuration to:
    
    - Allow both unix_socket and mysql_native_password authentication
      using the MariaDB 'IDENTIFIED VIA ... OR ...' syntax. This enables
      restacking without needing to reset authentication in unstack.sh.
    
    - Add use_mariadb_socket_auth helper variable to simplify the complex
      conditional logic (addresses TODO comment).
    
    - Fix missing DATABASE_USER@'%' creation for modern Debian/Ubuntu
      with MariaDB socket auth.
    
    - Fix inconsistent distro checks that were missing trixie.
    
    - Remove dead Oracle Linux code since it's not in SUPPORTED_DISTROS.
      Oracle Linux is still handled as RHEL-like via is_fedora().
    
    Generated-By: Cursor claude-opus-4.5
    Change-Id: I4becbfe6325bcb29deef8e50e9a9f05678f47802
    Signed-off-by: Sean Mooney <[email protected]>
    SeanMooney committed Jan 22, 2026
    Configuration menu
    Copy the full SHA
    5e21304 View commit details
    Browse the repository at this point in the history
  4. Improve OVS/OVN stop robustness for restacking

    The stop_ovn function stops services but leaves behind runtime files
    and stale configuration that can cause restacking failures. This change
    improves robustness by:
    
    - Making _stop_process check is-active in addition to is-enabled, so
      services are stopped even if they are running but not enabled.
    
    - Clearing OVS external-ids before stopping to prevent stale config
      (ovn-remote, ovn-bridge, etc.) from persisting across restacks.
    
    - Cleaning up runtime files (*.sock, *.pid, *.ctl) in both OVS_RUNDIR
      and OVN_RUNDIR after stopping services, as stale sockets can prevent
      ovsdb-server from binding on restart.
    
    - Removing database lock files (.*.db.~lock~) which can block database
      access if services crash or stop uncleanly.
    
    These changes allow stack.sh to run successfully after unstack.sh
    without requiring a full clean.sh.
    
    Generated-By: Cursor claude-opus-4.5
    Change-Id: I8736f19a8892200948ee74854f99fd99eed5110b
    Signed-off-by: Sean Mooney <[email protected]>
    SeanMooney committed Jan 22, 2026
    Configuration menu
    Copy the full SHA
    20ed3c5 View commit details
    Browse the repository at this point in the history
Loading