fix: respect user-configured strict option in _set_composite_vars

Previously, `_set_composable_vars` hardcoded `strict=True` for the
`_set_composite_vars` call while correctly passing the user-configured
value to `_add_host_to_composed_groups` and `_add_host_to_keyed_groups`.
This meant `strict: false` had no effect on compose expressions.

Pass `strict=strict` consistently to all three calls, matching the
behavior of Ansible's own `constructed` inventory plugin.

Adds a unit test verifying that compose errors are suppressed when
`strict: false` is configured.

Signed-off-by: Jathavedhan M <jathavedhan.m@ibm.com>
Assisted-by: Claude <noreply@anthropic.com>
This commit is contained in:
Jathavedhan M
2026-04-15 15:35:02 +05:30
parent 39577406c5
commit 04946028b7
2 changed files with 28 additions and 1 deletions

View File

@@ -920,7 +920,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
trust_compose_groups(self.get_option("compose")),
hostvars,
hostname,
strict=True,
strict=strict,
)
self._add_host_to_composed_groups(
trust_compose_groups(self.get_option("groups")),