Skip to content

Commit

Permalink
Database connectivity workaround for Magnum (#1917)
Browse files Browse the repository at this point in the history
  • Loading branch information
mnaser committed Sep 25, 2024
1 parent 75bfc0d commit 8c96d30
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
3 changes: 3 additions & 0 deletions images/magnum/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ FROM registry.atmosphere.dev/library/openstack-venv-builder:${RELEASE} AS build
ARG MAGNUM_GIT_REF=c613ea4e419edc0086116da07e93cf19206746e1
ADD --keep-git-dir=true https://opendev.org/openstack/magnum.git#${MAGNUM_GIT_REF} /src/magnum
RUN git -C /src/magnum fetch --unshallow
COPY patches/magnum /patches/magnum
RUN git -C /src/magnum apply --verbose /patches/magnum/*
RUN --mount=type=cache,mode=0755,target=/root/.cache/pip,sharing=private <<EOF bash -xe
sed -i s/^oslo.db===.*$/oslo.db==14.1.0/ /upper-constraints.txt
pip3 install \
--constraint /upper-constraints.txt \
/src/magnum \
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
From 4f309a12433956d09af30eec5a80129dfd069e36 Mon Sep 17 00:00:00 2001
From: Mohammed Naser <[email protected]>
Date: Tue, 24 Sep 2024 20:12:33 +0000
Subject: [PATCH] Revert "Remove use of autocommit"

This reverts commit d544698fae220549f68afa218dd252366fe90b27.

Reason for revert: Broken networking.

Change-Id: I002d4825308afb462e698ff69c69977f6da3d9a8
---

diff --git a/magnum/db/sqlalchemy/api.py b/magnum/db/sqlalchemy/api.py
index 0ec4380..f6f3087 100644
--- a/magnum/db/sqlalchemy/api.py
+++ b/magnum/db/sqlalchemy/api.py
@@ -47,7 +47,9 @@
def _create_facade_lazily():
global _FACADE
if _FACADE is None:
- _FACADE = db_session.EngineFacade.from_config(CONF)
+ # FIXME(karolinku): autocommit=True it's not compatible with
+ # SQLAlchemy 2.0, and will be removed in future
+ _FACADE = db_session.EngineFacade.from_config(CONF, autocommit=True)
if profiler_sqlalchemy:
if CONF.profiler.enabled and CONF.profiler.trace_sqlalchemy:
profiler_sqlalchemy.add_tracing(sa, _FACADE.get_engine(), "db")
diff --git a/magnum/db/sqlalchemy/models.py b/magnum/db/sqlalchemy/models.py
index 92b474d..0b7ae94 100644
--- a/magnum/db/sqlalchemy/models.py
+++ b/magnum/db/sqlalchemy/models.py
@@ -93,8 +93,7 @@
if session is None:
session = db_api.get_session()

- with session.begin():
- super(MagnumBase, self).save(session)
+ super(MagnumBase, self).save(session)


Base = declarative_base(cls=MagnumBase)

0 comments on commit 8c96d30

Please sign in to comment.