diff --git a/changelogs/fragments/pause_loop.yml b/changelogs/fragments/pause_loop.yml new file mode 100644 index 000000000..cab304ce7 --- /dev/null +++ b/changelogs/fragments/pause_loop.yml @@ -0,0 +1,4 @@ +--- +minor_changes: + - Added `controller_configuration_loop_delay` and role specific var to give users the option to add a pause during the async loop to slow it down a bit when they are seeing controller API overloaded. +... diff --git a/roles/applications/README.md b/roles/applications/README.md index 26dbd6544..0148ce19a 100644 --- a/roles/applications/README.md +++ b/roles/applications/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_applications_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_applications_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_applications_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/applications/defaults/main.yml b/roles/applications/defaults/main.yml index f578abea8..073efbeb7 100644 --- a/roles/applications/defaults/main.yml +++ b/roles/applications/defaults/main.yml @@ -4,6 +4,7 @@ controller_applications: [] controller_configuration_applications_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_applications_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_applications_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_applications_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_applications_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/applications/tasks/main.yml b/roles/applications/tasks/main.yml index 9c5bb2021..fef5950c7 100644 --- a/roles/applications/tasks/main.yml +++ b/roles/applications/tasks/main.yml @@ -24,6 +24,7 @@ loop_control: loop_var: "__application_item" label: "{{ __operation.verb }} Controller Application {{ __application_item.name }}" + pause: "{{ controller_configuration_applications_loop_delay }}" no_log: "{{ controller_configuration_applications_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/bulk_host_create/README.md b/roles/bulk_host_create/README.md index a2746ed12..2425f622f 100644 --- a/roles/bulk_host_create/README.md +++ b/roles/bulk_host_create/README.md @@ -49,6 +49,8 @@ This also speeds up the overall role. |`controller_configuration_bulk_hosts_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_bulk_hosts_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_bulk_hosts_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/bulk_host_create/defaults/main.yml b/roles/bulk_host_create/defaults/main.yml index dcdea0ba4..8bed33b42 100644 --- a/roles/bulk_host_create/defaults/main.yml +++ b/roles/bulk_host_create/defaults/main.yml @@ -2,5 +2,6 @@ controller_configuration_bulk_hosts_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_bulk_hosts_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_bulk_hosts_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_bulk_hosts_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null ... diff --git a/roles/bulk_host_create/tasks/main.yml b/roles/bulk_host_create/tasks/main.yml index adb980940..ec4707a50 100644 --- a/roles/bulk_host_create/tasks/main.yml +++ b/roles/bulk_host_create/tasks/main.yml @@ -16,6 +16,7 @@ loop: "{{ controller_bulk_hosts }}" loop_control: loop_var: __controller_bulk_hosts_item + pause: "{{ controller_configuration_bulk_hosts_loop_delay }}" no_log: "{{ controller_configuration_bulk_hosts_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/bulk_job_launch/README.md b/roles/bulk_job_launch/README.md index 390503614..b781e442c 100644 --- a/roles/bulk_job_launch/README.md +++ b/roles/bulk_job_launch/README.md @@ -50,6 +50,8 @@ This also speeds up the overall role. |`controller_configuration_bulk_job_launch_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_bulk_job_launch_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_bulk_job_launch_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| ## Data Structure diff --git a/roles/bulk_job_launch/defaults/main.yml b/roles/bulk_job_launch/defaults/main.yml index 745cc4f7d..618e9b564 100644 --- a/roles/bulk_job_launch/defaults/main.yml +++ b/roles/bulk_job_launch/defaults/main.yml @@ -2,4 +2,5 @@ controller_configuration_bulk_job_launch_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_bulk_job_launch_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_bulk_job_launch_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_bulk_job_launch_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" ... diff --git a/roles/bulk_job_launch/tasks/main.yml b/roles/bulk_job_launch/tasks/main.yml index 3fb6237af..7207e909c 100644 --- a/roles/bulk_job_launch/tasks/main.yml +++ b/roles/bulk_job_launch/tasks/main.yml @@ -27,6 +27,7 @@ loop_control: loop_var: "__bulk_job_launch_item" label: "{{ (__bulk_job_launch_item.organization | default('')) }}/{{ __bulk_job_launch_item.name }}" + pause: "{{ controller_configuration_bulk_job_launch_loop_delay }}" no_log: "{{ controller_configuration_bulk_job_launch_secure_logging }}" register: bulk_launched_controller_jobs when: controller_bulk_launch_jobs is defined diff --git a/roles/credential_input_sources/README.md b/roles/credential_input_sources/README.md index 010f874ab..ad0975121 100644 --- a/roles/credential_input_sources/README.md +++ b/roles/credential_input_sources/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_credential_input_sources_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_credential_input_sources_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_credential_input_sources_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/credential_input_sources/defaults/main.yml b/roles/credential_input_sources/defaults/main.yml index b9ec68ea2..a05fa2057 100644 --- a/roles/credential_input_sources/defaults/main.yml +++ b/roles/credential_input_sources/defaults/main.yml @@ -4,6 +4,7 @@ controller_credential_input_sources: [] controller_configuration_credential_input_sources_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_credential_input_sources_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_credential_input_sources_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_credential_input_sources_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_credential_input_sources_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/credential_input_sources/tasks/main.yml b/roles/credential_input_sources/tasks/main.yml index 671cace6d..857dbeb08 100644 --- a/roles/credential_input_sources/tasks/main.yml +++ b/roles/credential_input_sources/tasks/main.yml @@ -20,6 +20,7 @@ loop_control: loop_var: "__cred_input_src_item" label: "{{ __operation.verb }} Controller Credential Input Source for Credential {{ __cred_input_src_item.target_credential }}" + pause: "{{ controller_configuration_credential_input_sources_loop_delay }}" no_log: "{{ controller_configuration_credential_input_sources_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/credential_types/README.md b/roles/credential_types/README.md index 13626600d..ddc80b713 100644 --- a/roles/credential_types/README.md +++ b/roles/credential_types/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_credential_types_async_retries`|`controller_configuration_async_retries`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_credential_types_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_credential_types_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/credential_types/defaults/main.yml b/roles/credential_types/defaults/main.yml index 2ab36b6a4..baab1021a 100644 --- a/roles/credential_types/defaults/main.yml +++ b/roles/credential_types/defaults/main.yml @@ -4,6 +4,7 @@ controller_credential_types: [] controller_configuration_credential_types_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_credential_types_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_credential_types_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_credential_types_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_credential_types_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/credential_types/tasks/main.yml b/roles/credential_types/tasks/main.yml index 09cf94aa9..686249da4 100644 --- a/roles/credential_types/tasks/main.yml +++ b/roles/credential_types/tasks/main.yml @@ -21,6 +21,7 @@ loop_control: loop_var: __controller_credential_type_item label: "{{ __operation.verb }} Credential Type {{ __controller_credential_type_item.name }}" + pause: "{{ controller_configuration_credential_types_loop_delay }}" no_log: "{{ controller_configuration_credential_types_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/credentials/README.md b/roles/credentials/README.md index 9cdfc40a9..1972161e3 100644 --- a/roles/credentials/README.md +++ b/roles/credentials/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_credentials_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_credentials_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_credentials_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/credentials/defaults/main.yml b/roles/credentials/defaults/main.yml index adbac1567..34ba6a682 100644 --- a/roles/credentials/defaults/main.yml +++ b/roles/credentials/defaults/main.yml @@ -4,6 +4,7 @@ controller_credentials: [] controller_configuration_credentials_secure_logging: "{{ controller_configuration_secure_logging | default(true) }}" controller_configuration_credentials_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_credentials_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_credentials_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_credentials_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/credentials/tasks/main.yml b/roles/credentials/tasks/main.yml index 9be6b3b1f..fd9ac9f40 100644 --- a/roles/credentials/tasks/main.yml +++ b/roles/credentials/tasks/main.yml @@ -24,6 +24,7 @@ loop_control: loop_var: __controller_credentials_item label: "{{ __operation.verb }} Credential {{ __controller_credentials_item.name }}" + pause: "{{ controller_configuration_credentials_loop_delay }}" no_log: "{{ controller_configuration_credentials_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/execution_environments/README.md b/roles/execution_environments/README.md index 555c9cf3b..83e4c334c 100644 --- a/roles/execution_environments/README.md +++ b/roles/execution_environments/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_execution_environments_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_execution_environments_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_execution_environments_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/execution_environments/defaults/main.yml b/roles/execution_environments/defaults/main.yml index 90c9a8e76..a299af938 100644 --- a/roles/execution_environments/defaults/main.yml +++ b/roles/execution_environments/defaults/main.yml @@ -3,6 +3,7 @@ controller_configuration_execution_environments_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_execution_environments_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_execution_environments_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_execution_environments_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_execution_environments_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/execution_environments/tasks/main.yml b/roles/execution_environments/tasks/main.yml index c4415ef0d..85f931344 100644 --- a/roles/execution_environments/tasks/main.yml +++ b/roles/execution_environments/tasks/main.yml @@ -23,6 +23,7 @@ loop_control: loop_var: "__execution_environments_item" label: "{{ __operation.verb }} Controller Execution Environment {{ __execution_environments_item }}" + pause: "{{ controller_configuration_execution_environments_loop_delay }}" no_log: "{{ controller_configuration_execution_environments_secure_logging }}" when: controller_execution_environments is defined async: "{{ ansible_check_mode | ternary(0, 1000) }}" diff --git a/roles/groups/README.md b/roles/groups/README.md index a10d586af..eef81a9b5 100644 --- a/roles/groups/README.md +++ b/roles/groups/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_groups_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_groups_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_group_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ### Formating Variables diff --git a/roles/groups/defaults/main.yml b/roles/groups/defaults/main.yml index 2e26ec5fb..edf5a8618 100644 --- a/roles/groups/defaults/main.yml +++ b/roles/groups/defaults/main.yml @@ -4,6 +4,7 @@ controller_groups: [] controller_configuration_group_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_group_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_group_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_group_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_groups_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/groups/tasks/main.yml b/roles/groups/tasks/main.yml index e6c981608..7de39e4d0 100644 --- a/roles/groups/tasks/main.yml +++ b/roles/groups/tasks/main.yml @@ -26,6 +26,7 @@ loop_control: loop_var: __controller_groups_item label: "{{ __operation.verb }} Controller Group {{ __controller_groups_item.name }}" + pause: "{{ controller_configuration_group_loop_delay }}" no_log: "{{ controller_configuration_group_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/hosts/README.md b/roles/hosts/README.md index 39d2ab002..8a287afb9 100644 --- a/roles/hosts/README.md +++ b/roles/hosts/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_host_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_host_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_hosts_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ### Formating Variables diff --git a/roles/hosts/defaults/main.yml b/roles/hosts/defaults/main.yml index 944825675..5318abd32 100644 --- a/roles/hosts/defaults/main.yml +++ b/roles/hosts/defaults/main.yml @@ -4,6 +4,7 @@ controller_hosts: [] controller_configuration_hosts_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_hosts_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_hosts_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_hosts_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_host_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/hosts/tasks/main.yml b/roles/hosts/tasks/main.yml index dcfa1587c..eaa046c8a 100644 --- a/roles/hosts/tasks/main.yml +++ b/roles/hosts/tasks/main.yml @@ -21,6 +21,7 @@ loop_control: loop_var: __controller_host_item label: "{{ __operation.verb }} Controller host {{ __controller_host_item.name }}" + pause: "{{ controller_configuration_hosts_loop_delay }}" no_log: "{{ controller_configuration_hosts_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/instance_groups/README.md b/roles/instance_groups/README.md index 7ddce0a92..1b0170c49 100644 --- a/roles/instance_groups/README.md +++ b/roles/instance_groups/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_instance_groups_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_instance_groups_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_instance_groups_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/instance_groups/defaults/main.yml b/roles/instance_groups/defaults/main.yml index 1212c5cd8..9f0e0af55 100644 --- a/roles/instance_groups/defaults/main.yml +++ b/roles/instance_groups/defaults/main.yml @@ -3,6 +3,7 @@ controller_instance_groups: [] controller_configuration_instance_groups_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_instance_groups_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_instance_groups_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_instance_groups_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_instance_groups_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/instance_groups/tasks/main.yml b/roles/instance_groups/tasks/main.yml index 9c724c922..3093d7d88 100644 --- a/roles/instance_groups/tasks/main.yml +++ b/roles/instance_groups/tasks/main.yml @@ -26,6 +26,7 @@ loop_control: loop_var: __controller_instance_group_item label: "{{ __operation.verb }} Controller Instance Group {{ __controller_instance_group_item.name }}" + pause: "{{ controller_configuration_instance_groups_loop_delay }}" no_log: "{{ controller_configuration_instance_groups_secure_logging }}" when: controller_instance_groups is defined async: "{{ ansible_check_mode | ternary(0, 1000) }}" diff --git a/roles/instances/README.md b/roles/instances/README.md index 72f106361..fae19f474 100644 --- a/roles/instances/README.md +++ b/roles/instances/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_instances_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_instances_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_instances_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/instances/defaults/main.yml b/roles/instances/defaults/main.yml index af667d992..b1b5e9b7e 100644 --- a/roles/instances/defaults/main.yml +++ b/roles/instances/defaults/main.yml @@ -3,6 +3,7 @@ controller_instances: [] controller_configuration_instances_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_instances_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_instances_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_instances_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_instances_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/instances/tasks/main.yml b/roles/instances/tasks/main.yml index e2e9a2bf0..0f424ea45 100644 --- a/roles/instances/tasks/main.yml +++ b/roles/instances/tasks/main.yml @@ -24,6 +24,7 @@ loop_control: loop_var: __controller_instance_item label: "{{ __controller_instance_item.hostname }}" + pause: "{{ controller_configuration_instances_loop_delay }}" no_log: "{{ controller_configuration_instances_secure_logging }}" when: controller_instances is defined async: "{{ ansible_check_mode | ternary(0, 1000) }}" diff --git a/roles/inventories/README.md b/roles/inventories/README.md index 1c529d4d8..cce3680c3 100644 --- a/roles/inventories/README.md +++ b/roles/inventories/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_inventories_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_inventories_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_inventories_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ### Formating Variables diff --git a/roles/inventories/defaults/main.yml b/roles/inventories/defaults/main.yml index 4f8a3f46d..5e7f0a83d 100644 --- a/roles/inventories/defaults/main.yml +++ b/roles/inventories/defaults/main.yml @@ -4,6 +4,7 @@ controller_inventories: [] controller_configuration_inventories_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_inventories_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_inventories_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_inventories_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_inventories_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/inventories/tasks/main.yml b/roles/inventories/tasks/main.yml index fe40d1c44..c2141ebf2 100644 --- a/roles/inventories/tasks/main.yml +++ b/roles/inventories/tasks/main.yml @@ -26,6 +26,7 @@ loop_control: loop_var: __controller_inventory_item label: "{{ __operation.verb }} inventory {{ __controller_inventory_item.name }}" + pause: "{{ controller_configuration_inventories_loop_delay }}" no_log: "{{ controller_configuration_inventories_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/inventory_source_update/README.md b/roles/inventory_source_update/README.md index 2305dc700..8345b223d 100644 --- a/roles/inventory_source_update/README.md +++ b/roles/inventory_source_update/README.md @@ -50,6 +50,8 @@ This also speeds up the overall role. |`controller_configuration_inventory_source_update_async_retries`|`controller_configuration_async_retries`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_inventory_source_update_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_inventory_source_update_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/inventory_source_update/defaults/main.yml b/roles/inventory_source_update/defaults/main.yml index 84e12f551..b04590415 100644 --- a/roles/inventory_source_update/defaults/main.yml +++ b/roles/inventory_source_update/defaults/main.yml @@ -2,5 +2,6 @@ controller_configuration_inventory_source_update_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_inventory_source_update_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_inventory_source_update_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_inventory_source_update_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null ... diff --git a/roles/inventory_source_update/tasks/main.yml b/roles/inventory_source_update/tasks/main.yml index d9ccb5ef6..8a8f84120 100644 --- a/roles/inventory_source_update/tasks/main.yml +++ b/roles/inventory_source_update/tasks/main.yml @@ -21,6 +21,7 @@ loop_control: loop_var: "__inventory_source_update_item" label: "{{ (__inventory_source_update_item.organization | default('')) }}/{{ __inventory_source_update_item.inventory }}/{{ __inventory_source_update_item.name }}" + pause: "{{ controller_configuration_inventory_source_update_loop_delay }}" no_log: "{{ controller_configuration_inventory_source_update_secure_logging }}" when: - controller_inventory_sources is defined diff --git a/roles/inventory_sources/README.md b/roles/inventory_sources/README.md index cb0257be3..75b0060b3 100644 --- a/roles/inventory_sources/README.md +++ b/roles/inventory_sources/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_inventory_sources_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_inventory_sources_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_inventory_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ### Formating Variables diff --git a/roles/inventory_sources/defaults/main.yml b/roles/inventory_sources/defaults/main.yml index d4b05271b..8cd3c8864 100644 --- a/roles/inventory_sources/defaults/main.yml +++ b/roles/inventory_sources/defaults/main.yml @@ -3,6 +3,7 @@ controller_inventory_sources: [] controller_configuration_inventory_sources_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_inventory_sources_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_inventory_sources_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_inventory_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_inventory_sources_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/inventory_sources/tasks/main.yml b/roles/inventory_sources/tasks/main.yml index 4761c1f95..35facfce7 100644 --- a/roles/inventory_sources/tasks/main.yml +++ b/roles/inventory_sources/tasks/main.yml @@ -41,6 +41,7 @@ loop_control: loop_var: __controller_source_item label: "{{ __operation.verb }} an Inventory Source {{ __controller_source_item.name }}" + pause: "{{ controller_configuration_inventory_loop_delay }}" no_log: "{{ controller_configuration_inventory_sources_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/job_templates/README.md b/roles/job_templates/README.md index b30b99f7d..70893eb64 100644 --- a/roles/job_templates/README.md +++ b/roles/job_templates/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_job_templates_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_job_templates_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_job_templates_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/job_templates/defaults/main.yml b/roles/job_templates/defaults/main.yml index 5aaca4515..ce071feba 100644 --- a/roles/job_templates/defaults/main.yml +++ b/roles/job_templates/defaults/main.yml @@ -4,6 +4,7 @@ controller_templates: [] controller_configuration_job_templates_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_job_templates_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_job_templates_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_job_templates_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_job_templates_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/job_templates/tasks/main.yml b/roles/job_templates/tasks/main.yml index 9b5a7acfe..03154cd15 100644 --- a/roles/job_templates/tasks/main.yml +++ b/roles/job_templates/tasks/main.yml @@ -69,6 +69,7 @@ loop_control: loop_var: __controller_template_item label: "{{ __operation.verb }} Controller Job Template {{ __controller_template_item.name }}" + pause: "{{ controller_configuration_job_templates_loop_delay }}" no_log: "{{ controller_configuration_job_templates_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/labels/README.md b/roles/labels/README.md index e8fbb5124..ceaeb8cbe 100644 --- a/roles/labels/README.md +++ b/roles/labels/README.md @@ -48,6 +48,8 @@ This also speeds up the overall role. |`controller_configuration_labels_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_labels_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_labels_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/labels/defaults/main.yml b/roles/labels/defaults/main.yml index a9c861b4c..b1be8a4c7 100644 --- a/roles/labels/defaults/main.yml +++ b/roles/labels/defaults/main.yml @@ -3,5 +3,6 @@ controller_labels: [] controller_configuration_labels_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_labels_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_labels_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_labels_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null ... diff --git a/roles/labels/tasks/main.yml b/roles/labels/tasks/main.yml index 9662f8b5d..a77a97ab8 100644 --- a/roles/labels/tasks/main.yml +++ b/roles/labels/tasks/main.yml @@ -18,6 +18,7 @@ loop_control: loop_var: __controller_label_item label: "{{ __operation.verb }} the label {{ __controller_label_item.name }} to Controller" + pause: "{{ controller_configuration_labels_loop_delay }}" no_log: "{{ controller_configuration_labels_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/notification_templates/README.md b/roles/notification_templates/README.md index 292c62baf..7106a0946 100644 --- a/roles/notification_templates/README.md +++ b/roles/notification_templates/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_notification_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_notification_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_notifications_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/notification_templates/defaults/main.yml b/roles/notification_templates/defaults/main.yml index 40d9fcefb..85add535b 100644 --- a/roles/notification_templates/defaults/main.yml +++ b/roles/notification_templates/defaults/main.yml @@ -4,6 +4,7 @@ controller_notifications: [] controller_configuration_notifications_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_notifications_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_notifications_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_notifications_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_notifications_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/notification_templates/tasks/main.yml b/roles/notification_templates/tasks/main.yml index 7865a269a..4f208ae26 100644 --- a/roles/notification_templates/tasks/main.yml +++ b/roles/notification_templates/tasks/main.yml @@ -23,6 +23,7 @@ loop_control: loop_var: __controller_notification_item label: "{{ __operation.verb }} Controller notification {{ __controller_notification_item.name }}" + pause: "{{ controller_configuration_notifications_loop_delay }}" no_log: "{{ controller_configuration_notifications_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/organizations/README.md b/roles/organizations/README.md index 11e27087f..69d9211de 100644 --- a/roles/organizations/README.md +++ b/roles/organizations/README.md @@ -69,6 +69,8 @@ This also speeds up the overall role. |`controller_configuration_organizations_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_organizations_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_organizations_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Organization Data Structure diff --git a/roles/organizations/defaults/main.yml b/roles/organizations/defaults/main.yml index e572fcc2f..49047d1cd 100644 --- a/roles/organizations/defaults/main.yml +++ b/roles/organizations/defaults/main.yml @@ -3,6 +3,7 @@ controller_organizations: [] controller_configuration_organizations_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_organizations_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_organizations_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_organizations_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_organizations_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" assign_galaxy_credentials_to_org: true diff --git a/roles/organizations/tasks/main.yml b/roles/organizations/tasks/main.yml index 8b400d566..3a3b9f54a 100644 --- a/roles/organizations/tasks/main.yml +++ b/roles/organizations/tasks/main.yml @@ -27,6 +27,7 @@ loop_control: loop_var: __controller_organizations_item label: "{{ __operation.verb }} organization {{ __controller_organizations_item.name }}" + pause: "{{ controller_configuration_organizations_loop_delay }}" no_log: "{{ controller_configuration_organizations_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/project_update/README.md b/roles/project_update/README.md index 2a505242a..879312707 100644 --- a/roles/project_update/README.md +++ b/roles/project_update/README.md @@ -50,6 +50,8 @@ This also speeds up the overall role. |`controller_configuration_project_update_async_retries`|60|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|10|no|This sets the delay between retries for the role globally.| |`controller_configuration_project_update_async_delay`|10|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_project_update_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/project_update/defaults/main.yml b/roles/project_update/defaults/main.yml index a909d681f..f6142a67b 100644 --- a/roles/project_update/defaults/main.yml +++ b/roles/project_update/defaults/main.yml @@ -2,5 +2,6 @@ controller_configuration_project_update_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_project_update_async_retries: "{{ controller_configuration_async_retries | default(60) }}" controller_configuration_project_update_async_delay: "{{ controller_configuration_async_delay | default(10) }}" +controller_configuration_project_update_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null ... diff --git a/roles/project_update/tasks/main.yml b/roles/project_update/tasks/main.yml index 516bde5e8..69bdfcf5e 100644 --- a/roles/project_update/tasks/main.yml +++ b/roles/project_update/tasks/main.yml @@ -20,6 +20,7 @@ loop_control: loop_var: "__project_update_update_item" label: "{{ (__project_update_update_item.organization | default('')) }}/{{ __project_update_update_item.name }}" + pause: "{{ controller_configuration_project_update_loop_delay }}" no_log: "{{ controller_configuration_project_update_secure_logging }}" when: - controller_projects is defined diff --git a/roles/projects/README.md b/roles/projects/README.md index 40357beb9..8dcfa1c10 100644 --- a/roles/projects/README.md +++ b/roles/projects/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_projects_async_retries`|`{{ controller_configuration_async_retries }}`|no|str|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|str|This sets the delay between retries for the role globally.| |`controller_configuration_projects_async_delay`|`controller_configuration_async_delay`|no|str|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|int|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_projects_loop_delay`|`controller_configuration_loop_delay`|no|int|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|bool|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/projects/defaults/main.yml b/roles/projects/defaults/main.yml index d60e66aee..233e9d2b1 100644 --- a/roles/projects/defaults/main.yml +++ b/roles/projects/defaults/main.yml @@ -4,6 +4,7 @@ controller_projects: [] controller_configuration_projects_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_projects_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_projects_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_projects_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_projects_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/projects/tasks/main.yml b/roles/projects/tasks/main.yml index 97f267ca9..66de7c405 100644 --- a/roles/projects/tasks/main.yml +++ b/roles/projects/tasks/main.yml @@ -42,6 +42,7 @@ loop_control: loop_var: __controller_project_item label: "{{ __operation.verb }} Project {{ __controller_project_item.name }}" + pause: "{{ controller_configuration_projects_loop_delay }}" no_log: "{{ controller_configuration_projects_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/roles/README.md b/roles/roles/README.md index 76d5b1540..feaa3d627 100644 --- a/roles/roles/README.md +++ b/roles/roles/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_role_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_role_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_role_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/roles/defaults/main.yml b/roles/roles/defaults/main.yml index 769ef23d3..ccd2a6879 100644 --- a/roles/roles/defaults/main.yml +++ b/roles/roles/defaults/main.yml @@ -4,6 +4,7 @@ controller_roles: [] controller_configuration_role_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_role_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_role_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_role_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_role_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/roles/tasks/main.yml b/roles/roles/tasks/main.yml index 1e9f86268..d47d738b0 100644 --- a/roles/roles/tasks/main.yml +++ b/roles/roles/tasks/main.yml @@ -36,6 +36,7 @@ loop_control: loop_var: __controller_role_item label: "{{ __operation.verb }} Role Based Access Entry on Controller {{ __controller_role_item.1 | default(__controller_role_item.role) }}" + pause: "{{ controller_configuration_role_loop_delay }}" no_log: "{{ controller_configuration_role_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/schedules/README.md b/roles/schedules/README.md index 6ffa5fb76..700b1d735 100644 --- a/roles/schedules/README.md +++ b/roles/schedules/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_schedules_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_schedules_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_schedules_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/schedules/defaults/main.yml b/roles/schedules/defaults/main.yml index 0601fe5a0..b95ffc31d 100644 --- a/roles/schedules/defaults/main.yml +++ b/roles/schedules/defaults/main.yml @@ -4,6 +4,7 @@ controller_schedules: [] controller_configuration_schedules_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_schedules_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_schedules_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_schedules_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_schedules_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/schedules/tasks/main.yml b/roles/schedules/tasks/main.yml index 1a4cfc1f6..f471277d6 100644 --- a/roles/schedules/tasks/main.yml +++ b/roles/schedules/tasks/main.yml @@ -38,6 +38,7 @@ loop_control: loop_var: "__controller_schedule_item" label: "{{ __operation.verb }} Controller Schedule {{ __controller_schedule_item.name }}" + pause: "{{ controller_configuration_schedules_loop_delay }}" no_log: "{{ controller_configuration_schedules_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/settings/README.md b/roles/settings/README.md index 9dfa9d96b..63b004a34 100644 --- a/roles/settings/README.md +++ b/roles/settings/README.md @@ -48,6 +48,8 @@ This also speeds up the overall role. |`controller_configuration_settings_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_settings_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_settings_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/settings/defaults/main.yml b/roles/settings/defaults/main.yml index 2799dae7c..a2a5aa90c 100644 --- a/roles/settings/defaults/main.yml +++ b/roles/settings/defaults/main.yml @@ -4,5 +4,6 @@ controller_settings: [] controller_configuration_settings_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_settings_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_settings_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_settings_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null ... diff --git a/roles/settings/tasks/main.yml b/roles/settings/tasks/main.yml index 6d6277153..5b4a46b4c 100644 --- a/roles/settings/tasks/main.yml +++ b/roles/settings/tasks/main.yml @@ -19,6 +19,7 @@ loop_control: loop_var: __controller_setting_item label: "{{ __controller_setting_item.name | default(__controller_setting_item.settings) }}" + pause: "{{ controller_configuration_settings_loop_delay }}" no_log: "{{ controller_configuration_settings_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/teams/README.md b/roles/teams/README.md index 219ca1422..33eceb8e7 100644 --- a/roles/teams/README.md +++ b/roles/teams/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_teams_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_teams_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_teams_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ### Data structure `controller_teams:` should include following vars diff --git a/roles/teams/defaults/main.yml b/roles/teams/defaults/main.yml index a93aabb48..f3bea7bf0 100644 --- a/roles/teams/defaults/main.yml +++ b/roles/teams/defaults/main.yml @@ -4,6 +4,7 @@ controller_teams: [] controller_configuration_teams_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_teams_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_teams_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_teams_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_teams_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/teams/tasks/main.yml b/roles/teams/tasks/main.yml index da8503786..9c6546925 100644 --- a/roles/teams/tasks/main.yml +++ b/roles/teams/tasks/main.yml @@ -19,6 +19,7 @@ loop_control: loop_var: __controller_team_item label: "{{ __operation.verb }} Ansible Controller Team {{ __controller_team_item.name }}" + pause: "{{ controller_configuration_teams_loop_delay }}" no_log: "{{ controller_configuration_teams_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/users/README.md b/roles/users/README.md index 78b9e4101..5e4d354b0 100644 --- a/roles/users/README.md +++ b/roles/users/README.md @@ -67,6 +67,8 @@ This also speeds up the overall role. |`controller_configuration_users_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_users_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_users_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/users/defaults/main.yml b/roles/users/defaults/main.yml index 04f50dddd..d06c411e7 100644 --- a/roles/users/defaults/main.yml +++ b/roles/users/defaults/main.yml @@ -8,6 +8,7 @@ controller_user_default_password: "change_me" controller_configuration_users_secure_logging: "{{ controller_configuration_secure_logging | default('true') }}" controller_configuration_users_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_users_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_users_loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_users_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/users/tasks/main.yml b/roles/users/tasks/main.yml index c83d8ea3d..f214c453a 100644 --- a/roles/users/tasks/main.yml +++ b/roles/users/tasks/main.yml @@ -28,6 +28,7 @@ loop_control: loop_var: __controller_user_accounts_item label: "{{ __operation.verb }} Controller User {{ __controller_user_accounts_item.user | default(__controller_user_accounts_item.username) }}" + pause: "{{ controller_configuration_users_loop_delay }}" no_log: "{{ controller_configuration_users_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/roles/workflow_job_templates/README.md b/roles/workflow_job_templates/README.md index 3c19a9bd5..0922e9405 100644 --- a/roles/workflow_job_templates/README.md +++ b/roles/workflow_job_templates/README.md @@ -66,6 +66,8 @@ This also speeds up the overall role. |`controller_configuration_workflow_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_workflow_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_workflow__loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure diff --git a/roles/workflow_job_templates/defaults/main.yml b/roles/workflow_job_templates/defaults/main.yml index 127f51609..df6c1ed34 100644 --- a/roles/workflow_job_templates/defaults/main.yml +++ b/roles/workflow_job_templates/defaults/main.yml @@ -4,6 +4,7 @@ controller_workflows: [] workflow_job_templates_secure_logging: "{{ controller_configuration_secure_logging | default('false') }}" controller_configuration_workflow_async_retries: "{{ controller_configuration_async_retries | default(30) }}" controller_configuration_workflow_async_delay: "{{ controller_configuration_async_delay | default(1) }}" +controller_configuration_workflow__loop_delay: "{{ controller_configuration_loop_delay | default(0) }}" controller_configuration_async_dir: null controller_configuration_workflows_enforce_defaults: "{{ controller_configuration_enforce_defaults | default(false) }}" ... diff --git a/roles/workflow_job_templates/tasks/add_workflows_schema.yml b/roles/workflow_job_templates/tasks/add_workflows_schema.yml index 549b499ed..0a22c16a8 100644 --- a/roles/workflow_job_templates/tasks/add_workflows_schema.yml +++ b/roles/workflow_job_templates/tasks/add_workflows_schema.yml @@ -40,6 +40,7 @@ loop_control: loop_var: __workflow_loop_node_item label: "{{ __workflow_loop_item.name }}/{{ __workflow_loop_node_item.identifier }}" + pause: "{{ controller_configuration_workflow__loop_delay }}" no_log: "{{ workflow_job_templates_secure_logging }}" async: "{{ ansible_check_mode | ternary(0, 1000) }}" poll: 0 diff --git a/tests/templated_role_example/README.md b/tests/templated_role_example/README.md index 96bfe4674..153baaaf0 100644 --- a/tests/templated_role_example/README.md +++ b/tests/templated_role_example/README.md @@ -51,6 +51,8 @@ This also speeds up the overall role. |`controller_configuration_*******_async_retries`|`{{ controller_configuration_async_retries }}`|no|This variable sets the number of retries to attempt for the role.| |`controller_configuration_async_delay`|1|no|This sets the delay between retries for the role globally.| |`controller_configuration_*******_async_delay`|`controller_configuration_async_delay`|no|This sets the delay between retries for the role.| +|`controller_configuration_loop_delay`|0|no|This sets the pause between each item in the loop for the roles globally. To help when API is getting overloaded.| +|`controller_configuration_*******_loop_delay`|`controller_configuration_loop_delay`|no|This sets the pause between each item in the loop for the role. To help when API is getting overloaded.| |`controller_configuration_async_dir`|`null`|no|Sets the directory to write the results file for async tasks. The default value is set to `null` which uses the Ansible Default of `/root/.ansible_async/`.| ## Data Structure