Skip to content

Templating overhaul, implement Data Tagging#84621

Merged
mattclay merged 2 commits into
ansible:develfrom
nitzmahone:data_tagging_219
Apr 14, 2025
Merged

Templating overhaul, implement Data Tagging#84621
mattclay merged 2 commits into
ansible:develfrom
nitzmahone:data_tagging_219

Conversation

@nitzmahone

@nitzmahone nitzmahone commented Jan 28, 2025

Copy link
Copy Markdown
Member

Links to documentation, detailed discussion and instructions for testing can be found on the Ansible forum.

Data Tagging

  • Variables and values can now carry extensible metadata tags, including provenance, template trust status, and deprecation information.
  • Values tagged as Deprecated can issue runtime warnings when accessed.

Development and integration of the Data Tagging features led to the discovery of many latent security and performance issues in other parts of ansible-core, culminating in an overhaul of the templating engine and other areas:

Templating

  • String values now require explicit trust to be rendered as templates.
  • Rewrote Jinja integration.
  • Most nested/recursive templating operations are now fully lazy, vastly improving performance in complex scenarios.

Error handling

  • Standardized error handling and exception capture throughout controller and target Python code.
  • Automatically provide detailed error messages with operation and source context.
  • Removed many bespoke error handlers that actually masked detail.
  • Traceback capture/display is no longer tied to verbosity, and can be optionally triggered at the site of any exception, warning, or error.

Test coverage

  • Increased coverage, quality, and stability of integration and unit tests for numerous core features.
ISSUE TYPE
  • Feature Pull Request
ADDITIONAL INFO

Draft porting guide ansible/ansible-documentation#2429

@ansibot ansibot added feature This issue/PR relates to a feature request. needs_triage Needs a first human triage before being processed. networking Network category labels Jan 28, 2025
@mattclay mattclay removed the needs_triage Needs a first human triage before being processed. label Jan 28, 2025
@ansibot ansibot added the needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. label Jan 28, 2025
@ansibot

This comment was marked as resolved.

@webknjaz webknjaz added the ci_verified Changes made in this PR are causing tests to fail. label Jan 28, 2025
@sivel sivel mentioned this pull request Jan 28, 2025
1 task
@ansibot ansibot removed the ci_verified Changes made in this PR are causing tests to fail. label Jan 28, 2025
@ansibot

This comment was marked as resolved.

@ansible ansible locked and limited conversation to collaborators Jan 28, 2025
@ansibot

This comment was marked as resolved.

@ansibot ansibot added needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. and removed needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Jan 28, 2025
@ansibot

This comment was marked as resolved.

@ansibot ansibot added the ci_verified Changes made in this PR are causing tests to fail. label Jan 31, 2025
@ansibot

This comment was marked as resolved.

@ansibot ansibot removed needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. ci_verified Changes made in this PR are causing tests to fail. labels Jan 31, 2025
@ansibot

This comment was marked as resolved.

@ansibot ansibot added ci_verified Changes made in this PR are causing tests to fail. needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Jan 31, 2025
@ansibot

This comment was marked as resolved.

@ansibot ansibot removed the ci_verified Changes made in this PR are causing tests to fail. label Feb 1, 2025
@ansibot

This comment was marked as resolved.

@ansibot ansibot added needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. and removed needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Feb 1, 2025
Comment thread lib/ansible/config/base.yml Outdated
Comment thread lib/ansible/config/base.yml Outdated
Comment thread lib/ansible/config/base.yml
Comment thread lib/ansible/_internal/_ansiballz.py
Comment thread lib/ansible/_internal/_serialization/_cache_persistence.py Outdated
Comment thread lib/ansible/_internal/_templating/__init__.py Outdated
@ansibot

This comment was marked as resolved.

@mattclay

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

18 similar comments
@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@ansibot

This comment was marked as resolved.

@mattclay

This comment was marked as resolved.

nitzmahone and others added 2 commits April 11, 2025 17:55
Co-authored-by: Matt Davis <mrd@redhat.com>
Co-authored-by: Matt Clay <matt@mystile.com>
@webknjaz

Copy link
Copy Markdown
Member

/azp run

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

feature This issue/PR relates to a feature request.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants