Use jinja2.pass_context instead of contextfilter
The contextfilter decorator was deprecated in jinja2 3.0.0, and has been dropped in 3.1.0. This results in the following warning, and failed attempts to use filters: [WARNING]: Skipping plugin (filters.py) as it seems to be invalid: module 'jinja2' has no attribute 'contextfilter' This change switches to use the pass_context decorator. The minimum version of Jinja2 is raised to 3 to ensure pass_context is present. Change-Id: I649dd6211d3ae72b9539bc44652ef8cf5d579777
This commit is contained in:
parent
efadc95913
commit
fc2292b230
@ -18,7 +18,7 @@ from kolla_ansible import exception
|
|||||||
from kolla_ansible.helpers import _call_bool_filter
|
from kolla_ansible.helpers import _call_bool_filter
|
||||||
|
|
||||||
|
|
||||||
@jinja2.contextfilter
|
@jinja2.pass_context
|
||||||
def service_enabled(context, service):
|
def service_enabled(context, service):
|
||||||
"""Return whether a service is enabled.
|
"""Return whether a service is enabled.
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ def service_enabled(context, service):
|
|||||||
return _call_bool_filter(context, enabled)
|
return _call_bool_filter(context, enabled)
|
||||||
|
|
||||||
|
|
||||||
@jinja2.contextfilter
|
@jinja2.pass_context
|
||||||
def service_mapped_to_host(context, service):
|
def service_mapped_to_host(context, service):
|
||||||
"""Return whether a service is mapped to this host.
|
"""Return whether a service is mapped to this host.
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ def service_mapped_to_host(context, service):
|
|||||||
service.get("container_name", "<unknown>"))
|
service.get("container_name", "<unknown>"))
|
||||||
|
|
||||||
|
|
||||||
@jinja2.contextfilter
|
@jinja2.pass_context
|
||||||
def service_enabled_and_mapped_to_host(context, service):
|
def service_enabled_and_mapped_to_host(context, service):
|
||||||
"""Return whether a service is enabled and mapped to this host.
|
"""Return whether a service is enabled and mapped to this host.
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ def service_enabled_and_mapped_to_host(context, service):
|
|||||||
service_mapped_to_host(context, service))
|
service_mapped_to_host(context, service))
|
||||||
|
|
||||||
|
|
||||||
@jinja2.contextfilter
|
@jinja2.pass_context
|
||||||
def select_services_enabled_and_mapped_to_host(context, services):
|
def select_services_enabled_and_mapped_to_host(context, services):
|
||||||
"""Select services that are enabled and mapped to this host.
|
"""Select services that are enabled and mapped to this host.
|
||||||
|
|
||||||
|
@ -14,14 +14,14 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
from jinja2.filters import contextfilter
|
from jinja2.filters import pass_context
|
||||||
from jinja2.runtime import Undefined
|
from jinja2.runtime import Undefined
|
||||||
|
|
||||||
from kolla_ansible.exception import FilterError
|
from kolla_ansible.exception import FilterError
|
||||||
from kolla_ansible.helpers import _call_bool_filter
|
from kolla_ansible.helpers import _call_bool_filter
|
||||||
|
|
||||||
|
|
||||||
@contextfilter
|
@pass_context
|
||||||
def kolla_address(context, network_name, hostname=None):
|
def kolla_address(context, network_name, hostname=None):
|
||||||
"""returns IP address on the requested network
|
"""returns IP address on the requested network
|
||||||
|
|
||||||
|
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Fixes an issue seen when using Jinja2 3.1.0.
|
@ -11,7 +11,7 @@ cryptography>=2.1 # BSD/Apache-2.0
|
|||||||
oslo.utils>=3.33.0 # Apache-2.0
|
oslo.utils>=3.33.0 # Apache-2.0
|
||||||
|
|
||||||
# templating
|
# templating
|
||||||
Jinja2>=2.10 # BSD License (3 clause)
|
Jinja2>=3 # BSD License (3 clause)
|
||||||
|
|
||||||
# Ansible's json_query
|
# Ansible's json_query
|
||||||
jmespath>=0.9.3 # MIT
|
jmespath>=0.9.3 # MIT
|
||||||
|
Loading…
Reference in New Issue
Block a user