Merge pull request #55 from noelmcloughlin/retries

feat(internet): add retries for internet dependent states
This commit is contained in:
Javier Bértoli 2019-07-01 20:33:31 -03:00 committed by GitHub
commit 8941b20835
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 24 additions and 5 deletions

View file

@ -45,11 +45,7 @@ packages-archive-wanted-download-{{ package }}:
cmd.run: cmd.run:
- name: curl -s -L -o {{ packages.tmpdir }}/{{ archivename }} {{ archive.dl.source }} - name: curl -s -L -o {{ packages.tmpdir }}/{{ archivename }} {{ archive.dl.source }}
- unless: test -f {{ packages.tmpdir }}/{{ archivename }} - unless: test -f {{ packages.tmpdir }}/{{ archivename }}
- retry: - retry: {{ packages.retry_options|json }}
attempts: 2
until: True
interval: 60
splay: 10
{%- if 'hashsum' in archive.dl and archive.dl.hashsum %} {%- if 'hashsum' in archive.dl and archive.dl.hashsum %}
{# see https://github.com/saltstack/salt/pull/41914 #} {# see https://github.com/saltstack/salt/pull/41914 #}
@ -96,6 +92,7 @@ packages-archive-wanted-download-{{ package }}:
{%- else %} {%- else %}
- skip_verify: True - skip_verify: True
{%- endif %} {%- endif %}
- retry: {{ packages.retry_options|json }}
{% endif %} {% endif %}
{%- endfor %} {%- endfor %}

View file

@ -48,3 +48,9 @@ packages:
unwanted: [] unwanted: []
required: required:
archives: {} #note: dict archives: {} #note: dict
retry_options:
# https://docs.saltstack.com/en/latest/ref/states/requisites.html#retrying-states
attempts: 3
until: True
interval: 60
splay: 10

View file

@ -18,6 +18,7 @@ include:
gem_req_pkgs: gem_req_pkgs:
pkg.installed: pkg.installed:
- pkgs: {{ req_pkgs | json }} - pkgs: {{ req_pkgs | json }}
- retry: {{ packages.retry_options|json }}
### GEMS to install ### GEMS to install
# (requires the ruby/rubygem deb/rpm installed, either by the system or listed in # (requires the ruby/rubygem deb/rpm installed, either by the system or listed in
@ -32,6 +33,7 @@ gem_req_pkgs:
- sls: {{ dep }} - sls: {{ dep }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
- retry: {{ packages.retry_options|json }}
{% endfor %} {% endfor %}
{% for ugm in unwanted_gems %} {% for ugm in unwanted_gems %}

View file

@ -66,6 +66,7 @@ wanted_npms:
- sls: {{ dep }} - sls: {{ dep }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
- retry: {{ packages.retry_options|json }}
{% for upn in unwanted_npms %} {% for upn in unwanted_npms %}
{{ upn }}: {{ upn }}:

View file

@ -54,6 +54,7 @@ packages pips install {{ pn }}:
{% if pip_config %} {% if pip_config %}
- file: pip_config - file: pip_config
{% endif %} {% endif %}
- retry: {{ packages.retry_options|json }}
{% endfor %} {% endfor %}
{% for upn in unwanted_pips %} {% for upn in unwanted_pips %}

View file

@ -26,6 +26,7 @@ pkg_req_pkgs:
- sls: {{ dep }} - sls: {{ dep }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
- retry: {{ packages.retry_options|json }}
{% if held_packages != {} %} {% if held_packages != {} %}
held_pkgs: held_pkgs:
@ -47,6 +48,7 @@ held_pkgs:
{% for dep in req_states %} {% for dep in req_states %}
- sls: {{ dep }} - sls: {{ dep }}
{% endfor %} {% endfor %}
- retry: {{ packages.retry_options|json }}
{% endif %} {% endif %}
wanted_pkgs: wanted_pkgs:
@ -62,6 +64,7 @@ wanted_pkgs:
- sls: {{ dep }} - sls: {{ dep }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
- retry: {{ packages.retry_options|json }}
unwanted_pkgs: unwanted_pkgs:
pkg.purged: pkg.purged:

View file

@ -38,6 +38,7 @@ extend:
- sls: {{ dep }} - sls: {{ dep }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
- retry: {{ packages.retry_options|json }}
{% if packages.snaps.symlink %} {% if packages.snaps.symlink %}
{# classic confinement requires snaps under /snap or symlink from #} {# classic confinement requires snaps under /snap or symlink from #}
@ -72,6 +73,7 @@ packages-snapd-{{ snap }}-wanted:
- require: - require:
- pkg: pkg_req_pkgs - pkg: pkg_req_pkgs
- pkg: unwanted_pkgs - pkg: unwanted_pkgs
- retry: {{ packages.retry_options|json }}
{% endfor %} {% endfor %}
### SNAPS to install in classic mode ### SNAPS to install in classic mode
@ -84,6 +86,7 @@ packages-snapd-{{ snap }}-classic:
- require: - require:
- pkg: pkg_req_pkgs - pkg: pkg_req_pkgs
- pkg: unwanted_pkgs - pkg: unwanted_pkgs
- retry: {{ packages.retry_options|json }}
{% endfor %} {% endfor %}
### SNAPS to uninstall ### SNAPS to uninstall

View file

@ -122,3 +122,9 @@ packages:
remote_pkgs: remote_pkgs:
zoom: 'https://zoom.us/client/latest/zoom_amd64.deb' zoom: 'https://zoom.us/client/latest/zoom_amd64.deb'
retry_options:
# https://docs.saltstack.com/en/latest/ref/states/requisites.html#retrying-states
attempts: 5
until: True
interval: 30
splay: 20