mirror of
https://github.com/ansible/ansible.git
synced 2026-08-03 08:03:05 +02:00
Support action_plugin in plugin_routing_schema (#82562)
now validation schema matches reality Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com> Co-authored-by: s-hertel <19572925+s-hertel@users.noreply.github.com>
This commit is contained in:
co-authored by
s-hertel
parent
853423c270
commit
b01f1f207c
@@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- >-
|
||||
``ansible-test sanity --test runtime-metadata`` - add ``action_plugin`` as a valid field
|
||||
for modules in the schema (https://github.com/ansible/ansible/pull/82562).
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
plugin_routing:
|
||||
modules:
|
||||
module:
|
||||
action_plugin: ns.col.action
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
plugin_routing:
|
||||
lookup:
|
||||
lookup:
|
||||
action_plugin: invalid
|
||||
@@ -8,6 +8,16 @@ ansible-test sanity --test validate-modules --color --truncate 0 --failure-ok --
|
||||
diff -u "${TEST_DIR}/expected.txt" actual-stdout.txt
|
||||
grep -F -f "${TEST_DIR}/expected.txt" actual-stderr.txt
|
||||
|
||||
cd ../col
|
||||
ansible-test sanity --test runtime-metadata
|
||||
|
||||
cd ../failure
|
||||
if ansible-test sanity --test runtime-metadata 2>&1 | tee out.txt; then
|
||||
echo "runtime-metadata in failure should be invalid"
|
||||
exit 1
|
||||
fi
|
||||
grep out.txt -e 'extra keys not allowed'
|
||||
|
||||
cd ../ps_only
|
||||
|
||||
if ! command -V pwsh; then
|
||||
|
||||
@@ -197,21 +197,26 @@ def validate_metadata_file(path, is_ansible, check_deprecation_dates=False):
|
||||
avoid_additional_data
|
||||
)
|
||||
|
||||
plugin_routing_schema = Any(
|
||||
Schema({
|
||||
plugins_routing_common_schema = Schema({
|
||||
('deprecation'): Any(deprecation_schema),
|
||||
('tombstone'): Any(tombstoning_schema),
|
||||
('redirect'): fqcr,
|
||||
}, extra=PREVENT_EXTRA),
|
||||
}, extra=PREVENT_EXTRA)
|
||||
|
||||
plugin_routing_schema = Any(plugins_routing_common_schema)
|
||||
|
||||
# Adjusted schema for modules only
|
||||
plugin_routing_schema_modules = Any(
|
||||
plugins_routing_common_schema.extend({
|
||||
('action_plugin'): fqcr}
|
||||
)
|
||||
)
|
||||
|
||||
# Adjusted schema for module_utils
|
||||
plugin_routing_schema_mu = Any(
|
||||
Schema({
|
||||
('deprecation'): Any(deprecation_schema),
|
||||
('tombstone'): Any(tombstoning_schema),
|
||||
('redirect'): Any(*string_types),
|
||||
}, extra=PREVENT_EXTRA),
|
||||
plugins_routing_common_schema.extend({
|
||||
('redirect'): Any(*string_types)}
|
||||
),
|
||||
)
|
||||
|
||||
list_dict_plugin_routing_schema = [{str_type: plugin_routing_schema}
|
||||
@@ -220,6 +225,9 @@ def validate_metadata_file(path, is_ansible, check_deprecation_dates=False):
|
||||
list_dict_plugin_routing_schema_mu = [{str_type: plugin_routing_schema_mu}
|
||||
for str_type in string_types]
|
||||
|
||||
list_dict_plugin_routing_schema_modules = [{str_type: plugin_routing_schema_modules}
|
||||
for str_type in string_types]
|
||||
|
||||
plugin_schema = Schema({
|
||||
('action'): Any(None, *list_dict_plugin_routing_schema),
|
||||
('become'): Any(None, *list_dict_plugin_routing_schema),
|
||||
@@ -233,7 +241,7 @@ def validate_metadata_file(path, is_ansible, check_deprecation_dates=False):
|
||||
('inventory'): Any(None, *list_dict_plugin_routing_schema),
|
||||
('lookup'): Any(None, *list_dict_plugin_routing_schema),
|
||||
('module_utils'): Any(None, *list_dict_plugin_routing_schema_mu),
|
||||
('modules'): Any(None, *list_dict_plugin_routing_schema),
|
||||
('modules'): Any(None, *list_dict_plugin_routing_schema_modules),
|
||||
('netconf'): Any(None, *list_dict_plugin_routing_schema),
|
||||
('shell'): Any(None, *list_dict_plugin_routing_schema),
|
||||
('strategy'): Any(None, *list_dict_plugin_routing_schema),
|
||||
|
||||
Reference in New Issue
Block a user