From 383364e671fb82e3c0ddca37a4690a1a33be3b54 Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz Date: Mon, 28 Jun 2021 10:36:39 +0200 Subject: [PATCH] Update code to Jinja 3.0 style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Xena cycle uses Jinja 3.0 so let update Kolla's code for it. From Jinja2 documentation: jinja2.contextfunction(f: F) → F Pass the context as the first argument to the decorated function. Deprecated since version 3.0: Will be removed in Jinja 3.1. Use pass_context() instead. jinja2.contextfilter(f) Pass the context as the first argument to the decorated function. Deprecated since version 3.0: Will be removed in Jinja 3.1. Use pass_context() instead. Also bumped version in requirements.txt to same as in openstack/requirements Change-Id: I51fbb7b9ff7c29cb355437efa4576be9bc035699 --- kolla/template/filters.py | 4 ++-- kolla/template/methods.py | 4 ++-- requirements.txt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kolla/template/filters.py b/kolla/template/filters.py index 49708ee3fc..3f2ede9566 100644 --- a/kolla/template/filters.py +++ b/kolla/template/filters.py @@ -12,11 +12,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -from jinja2 import contextfilter +from jinja2 import pass_context from jinja2 import Undefined -@contextfilter +@pass_context def customizable(context, val_list, call_type): # NOTE(mgoddard): Don't try to customise undefined values. There are cases # where this might happen, for example using a generic template overrides diff --git a/kolla/template/methods.py b/kolla/template/methods.py index 19fcf4e22f..69434ef504 100644 --- a/kolla/template/methods.py +++ b/kolla/template/methods.py @@ -15,7 +15,7 @@ import os import yaml -from jinja2 import contextfunction +from jinja2 import pass_context def debian_package_install(packages, clean_package_cache=True): @@ -71,7 +71,7 @@ def debian_package_install(packages, clean_package_cache=True): return ' && '.join(cmds) -@contextfunction +@pass_context def handle_repos(context, reponames, mode): """NOTE(hrw): we need to handle CentOS, Debian and Ubuntu with one macro. diff --git a/requirements.txt b/requirements.txt index 9d5bd1cf3c..7d1c0d9dbb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 docker>=2.4.2 # Apache-2.0 -Jinja2>=2.8 # BSD License (3 clause) +Jinja2>=3.0.1 # BSD License (3 clause) GitPython>=1.0.1 # BSD License (3 clause) oslo.config>=5.1.0 # Apache-2.0