From 72c9f5359b8d5af48383e396a3d42ac3b2e70d15 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Wed, 19 Dec 2018 09:58:22 -0500 Subject: [PATCH 1/2] Revert "Fix incorrect examples with random filter (#50137)" This reverts commit 9a7dbd52139f22c9c0e5f3f127efb0f8956c6f6a. The correction is incomplete and also based on a 'fix' that was supposed to have been reverted already --- docs/docsite/rst/user_guide/playbooks_filters.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docsite/rst/user_guide/playbooks_filters.rst b/docs/docsite/rst/user_guide/playbooks_filters.rst index 03ccdae7b23aed..d489f11fcba787 100644 --- a/docs/docsite/rst/user_guide/playbooks_filters.rst +++ b/docs/docsite/rst/user_guide/playbooks_filters.rst @@ -395,7 +395,7 @@ To get a random item from a list:: To get a random number between 0 and a specified number:: - "{{ 59 | random }} * * * * root /script/from/cron" + "{{ 60 | random }} * * * * root /script/from/cron" # => '21 * * * * root /script/from/cron' Get a random number from 0 to 100 but in steps of 10:: @@ -412,7 +412,7 @@ Get a random number from 1 to 100 but in steps of 10:: As of Ansible version 2.3, it's also possible to initialize the random number generator from a seed. This way, you can create random-but-idempotent numbers:: - "{{ 59 | random(seed=inventory_hostname) }} * * * * root /script/from/cron" + "{{ 60 | random(seed=inventory_hostname) }} * * * * root /script/from/cron" Shuffle Filter From c86197e0f0449bd51a4d06ecef12fb6744debfe3 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Wed, 19 Dec 2018 09:58:56 -0500 Subject: [PATCH 2/2] Revert "Added `+1` to the `end` in `random` filter so that it was inclusive (#27215)" This reverts commit ea2b89c7ae69424055652db30f49182d4a987bf7. reverted fix as agreed at the time, but missed by maintainers. --- lib/ansible/plugins/filter/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/plugins/filter/core.py b/lib/ansible/plugins/filter/core.py index b9072900f6f928..2a1732c33a4119 100644 --- a/lib/ansible/plugins/filter/core.py +++ b/lib/ansible/plugins/filter/core.py @@ -213,7 +213,7 @@ def rand(environment, end, start=None, step=None, seed=None): start = 0 if not step: step = 1 - return r.randrange(start, end + 1, step) + return r.randrange(start, end, step) elif hasattr(end, '__iter__'): if start or step: raise AnsibleFilterError('start and step can only be used with integer values')