Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meraki - Enable API call rate limiting for requests #54827

Merged
merged 11 commits into from Aug 27, 2019

Conversation

kbreit
Copy link
Contributor

@kbreit kbreit commented Apr 4, 2019

SUMMARY
  • Detects if error code is 429
  • Pauses for random time between .5 and 5 seconds before retrying
  • If it fails 10 times, give up and tell user
ISSUE TYPE
  • Feature Pull Request
COMPONENT NAME

meraki

@ansibot
Copy link
Contributor

ansibot commented Apr 4, 2019

@ansibot ansibot added WIP This issue/PR is a work in progress. Nevertheless it was shared for getting input from peers. affects_2.8 This issue/PR affects Ansible v2.8 cisco Cisco technologies feature This issue/PR relates to a feature request. meraki Cisco Meraki community needs_triage Needs a first human triage before being processed. networking Network category support:community This issue/PR relates to code supported by the Ansible community. labels Apr 4, 2019
@ansibot ansibot added the stale_ci This PR has been tested by CI more than one week ago. Close and re-open this PR to get it retested. label Apr 12, 2019
@ansibot ansibot removed the stale_ci This PR has been tested by CI more than one week ago. Close and re-open this PR to get it retested. label May 2, 2019
@ansibot ansibot added the stale_ci This PR has been tested by CI more than one week ago. Close and re-open this PR to get it retested. label May 13, 2019
@ansibot
Copy link
Contributor

ansibot commented May 29, 2019

The test ansible-test sanity --test pylint [explain] failed with 2 errors:

lib/ansible/module_utils/network/meraki/meraki.py:329:27: bad-whitespace Exactly one space required before comparison         elif info['status']>= 300:                            ^^
lib/ansible/module_utils/network/meraki/meraki.py:342:91: trailing-whitespace Trailing whitespace

The test ansible-test sanity --test pep8 [explain] failed with 2 errors:

lib/ansible/module_utils/network/meraki/meraki.py:329:28: E225 missing whitespace around operator
lib/ansible/module_utils/network/meraki/meraki.py:342:92: W291 trailing whitespace

click here for bot help

@ansibot ansibot added ci_verified Changes made in this PR are causing tests to fail. and removed ci_verified Changes made in this PR are causing tests to fail. stale_ci This PR has been tested by CI more than one week ago. Close and re-open this PR to get it retested. labels May 29, 2019
@ansibot
Copy link
Contributor

ansibot commented Jun 4, 2019

The test ansible-test sanity --test pylint [explain] failed with 1 error:

lib/ansible/module_utils/network/meraki/meraki.py:333:4: no-self-argument Method should have "self" as first argument

The test ansible-test sanity --test pep8 [explain] failed with 5 errors:

lib/ansible/module_utils/network/meraki/meraki.py:42:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:56:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:60:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:64:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:347:29: E123 closing bracket does not match indentation of opening bracket's line

The test ansible-test sanity --test validate-modules [explain] failed with 56 errors:

lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_vlan.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_vlan.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_vlan.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_vlan.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)

click here for bot help

@ansibot ansibot added the stale_ci This PR has been tested by CI more than one week ago. Close and re-open this PR to get it retested. label Jun 12, 2019
@ansibot ansibot added the needs_rebase https://docs.ansible.com/ansible/devel/dev_guide/developing_rebasing.html label Jun 20, 2019
- Detects if error code is 429
- Pauses for random time between .5 and 5 seconds before retrying
- If it fails 10 times, give up and tell user
- 3 * number of retries
- Fails after the 30 second wait
- Errors aren't tested but code works for regular calls
@kbreit kbreit changed the title [WIP] Meraki - Enable API call rate limiting for requests Meraki - Enable API call rate limiting for requests Aug 21, 2019
@ansibot ansibot removed the WIP This issue/PR is a work in progress. Nevertheless it was shared for getting input from peers. label Aug 21, 2019
@ansibot ansibot added core_review In order to be merged, this PR must follow the core review workflow. support:core This issue/PR relates to code supported by the Ansible Engineering Team. and removed needs_rebase https://docs.ansible.com/ansible/devel/dev_guide/developing_rebasing.html stale_ci This PR has been tested by CI more than one week ago. Close and re-open this PR to get it retested. labels Aug 21, 2019
@ansibot
Copy link
Contributor

ansibot commented Aug 21, 2019

The test ansible-test sanity --test pylint [explain] failed with 3 errors:

lib/ansible/module_utils/network/meraki/meraki.py:360:4: no-self-argument Method should have "self" as first argument
test/units/module_utils/network/meraki/test_meraki.py:92:15: bad-whitespace No space allowed after bracket         resp = { 'body': 'Succeeded' }                ^
test/units/module_utils/network/meraki/test_meraki.py:92:37: bad-whitespace No space allowed before bracket         resp = { 'body': 'Succeeded' }                                      ^

The test ansible-test sanity --test pep8 [explain] failed with 7 errors:

lib/ansible/module_utils/network/meraki/meraki.py:44:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:59:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:63:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:67:1: E302 expected 2 blank lines, found 1
lib/ansible/module_utils/network/meraki/meraki.py:377:29: E123 closing bracket does not match indentation of opening bracket's line
test/units/module_utils/network/meraki/test_meraki.py:92:17: E201 whitespace after '{'
test/units/module_utils/network/meraki/test_meraki.py:92:37: E202 whitespace before '}'

The test ansible-test sanity --test validate-modules [explain] failed with 88 errors:

lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_admin.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_config_template.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E337 Argument 'internal_error_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_content_filtering.py:0:0: E337 Argument 'rate_limit_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E337 Argument 'internal_error_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_device.py:0:0: E337 Argument 'rate_limit_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_firewalled_services.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_firewalled_services.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_firewalled_services.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_firewalled_services.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_firewalled_services.py:0:0: E337 Argument 'internal_error_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_firewalled_services.py:0:0: E337 Argument 'rate_limit_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_malware.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_malware.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_malware.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_malware.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E337 Argument 'internal_error_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_mr_l3_firewall.py:0:0: E337 Argument 'rate_limit_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mx_l3_firewall.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_mx_l7_firewall.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_nat.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_nat.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_nat.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_nat.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_network.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_organization.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_snmp.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E337 Argument 'internal_error_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_ssid.py:0:0: E337 Argument 'rate_limit_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E337 Argument 'internal_error_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_static_route.py:0:0: E337 Argument 'rate_limit_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_switchport.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_syslog.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_vlan.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_vlan.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_webhook.py:0:0: E322 Argument 'internal_error_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_webhook.py:0:0: E322 Argument 'rate_limit_retry_time' is listed in the argument_spec, but not documented in the module documentation
lib/ansible/modules/network/meraki/meraki_webhook.py:0:0: E324 Argument 'internal_error_retry_time' in argument_spec defines default as (60) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_webhook.py:0:0: E324 Argument 'rate_limit_retry_time' in argument_spec defines default as (165) but documentation defines default as (None)
lib/ansible/modules/network/meraki/meraki_webhook.py:0:0: E337 Argument 'internal_error_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type
lib/ansible/modules/network/meraki/meraki_webhook.py:0:0: E337 Argument 'rate_limit_retry_time' in argument_spec defines type as 'int' but documentation doesn't define type

click here for bot help

@ansibot ansibot added needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. and removed core_review In order to be merged, this PR must follow the core review workflow. labels Aug 21, 2019
@ansibot ansibot added core_review In order to be merged, this PR must follow the core review workflow. and removed needs_revision This PR fails CI tests or a maintainer has requested a review/revision of the PR. labels Aug 22, 2019
@Qalthos Qalthos merged commit 4891563 into ansible:devel Aug 27, 2019
@sivel sivel removed the needs_triage Needs a first human triage before being processed. label Aug 28, 2019
adharshsrivatsr pushed a commit to adharshsrivatsr/ansible that referenced this pull request Sep 3, 2019
* Initial commit for rate limiting
- Detects if error code is 429
- Pauses for random time between .5 and 5 seconds before retrying
- If it fails 10 times, give up and tell user

* Redo structure of request() to support rate limiting

* Hold down timer is now a sliding scale
- 3 * number of retries
- Fails after the 30 second wait

* Whitespace fixes

* Redo implementation using decorators
- Errors aren't tested but code works for regular calls

* Unit tests work for error handling

* Add integration tests for successful retries

* Add condition for 502 errors and retry

* Move _error_report out of the class

* PEP8 fixes

* Add changelog entry
anas-shami pushed a commit to anas-shami/ansible that referenced this pull request Sep 23, 2019
* Initial commit for rate limiting
- Detects if error code is 429
- Pauses for random time between .5 and 5 seconds before retrying
- If it fails 10 times, give up and tell user

* Redo structure of request() to support rate limiting

* Hold down timer is now a sliding scale
- 3 * number of retries
- Fails after the 30 second wait

* Whitespace fixes

* Redo implementation using decorators
- Errors aren't tested but code works for regular calls

* Unit tests work for error handling

* Add integration tests for successful retries

* Add condition for 502 errors and retry

* Move _error_report out of the class

* PEP8 fixes

* Add changelog entry
@ansible ansible locked and limited conversation to collaborators Oct 1, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
affects_2.8 This issue/PR affects Ansible v2.8 cisco Cisco technologies core_review In order to be merged, this PR must follow the core review workflow. feature This issue/PR relates to a feature request. has_issue meraki Cisco Meraki community networking Network category support:community This issue/PR relates to code supported by the Ansible community. support:core This issue/PR relates to code supported by the Ansible Engineering Team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants