Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
- linux/system/repo.sls | 69 +++++++++++++++++++++++++++++++++----------
- 1 file changed, 53 insertions(+), 16 deletions(-)
+ linux/system/repo.sls | 65 +++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 53 insertions(+), 12 deletions(-)
diff --git a/linux/system/repo.sls b/linux/system/repo.sls
-index b734498..61f203e 100644
+index 303ea9c..5dfc4c1 100644
--- a/linux/system/repo.sls
+++ b/linux/system/repo.sls
@@ -5,9 +5,15 @@ linux_repo_prereq_pkgs:
/etc/apt/apt.conf.d/99proxies-salt-{{ name }}:
file.absent
{%- endif %}
-@@ -96,9 +107,17 @@ linux_repo_{{ name }}_key:
- - name: "curl -sL {{ repo.key_url }} | apt-key add -"
- - watch:
- - file: default_repo_list
+@@ -110,6 +121,13 @@ linux_repo_{{ name }}_key:
+ {% else %}
+ - pkgrepo: linux_repo_{{ name }}
+ {% endif %}
+ - env:
+{%- if proxies.repo.get('https', None) or proxies.system.get('https', None) %}
+ - https_proxy: {{ proxies.repo.get('https', None) or proxies.system.get('https', None) }}
+ - http_proxy: {{ proxies.repo.get('http', None) or proxies.system.get('http', None) }}
+{%- endif %}
- {%- endif %}
+ {%- endif %} {# 2 #}
-+{#- repo.default is false #}
- {%- else %}
+@@ -120,6 +138,10 @@ linux_repo_{{ name }}_key:
{%- if repo.get('enabled', True) %}
-@@ -115,12 +134,6 @@ linux_repo_{{ name }}:
+
++{%- set use_proxy = ( ( proxies.repo.get('https', None) or proxies.system.get('https', None) or
++ proxies.repo.get('http', None) or proxies.system.get('http', None) ) and
++ repo.key_id is defined and repo.key_server is defined ) %}
++
+ linux_repo_{{ name }}:
+ pkgrepo.managed:
+ {%- if repo.ppa is defined %}
+@@ -132,10 +154,10 @@ linux_repo_{{ name }}:
{%- endif %}
- file: /etc/apt/sources.list.d/{{ name }}.list
- clean_file: {{ repo.clean|default(True) }}
- {%- if repo.key_id is defined %}
-- - keyid: {{ repo.key_id }}
-- {%- endif %}
++ {%- if not use_proxy and repo.key_id is defined %}
+ - keyid: {{ repo.key_id }}
+ {%- endif %}
- {%- if repo.key_server is defined %}
-- - keyserver: {{ repo.key_server }}
-- {%- endif %}
- - consolidate: {{ repo.get('consolidate', False) }}
- - clean_file: {{ repo.get('clean_file', False) }}
- - refresh_db: {{ repo.get('refresh_db', True) }}
-@@ -154,9 +167,33 @@ linux_repo_{{ name }}_key:
- - unless: "apt-key finger --with-colons | grep -qF $(curl -sL {{ repo.key_url }} | gpg --with-fingerprint --with-colons | grep -E '^fpr')"
- - require_in:
- - pkgrepo: linux_repo_{{ name }}
-+ - env:
-+{%- if proxies.repo.get('https', None) or proxies.system.get('https', None) %}
-+ - https_proxy: {{ proxies.repo.get('https', None) or proxies.system.get('https', None) }}
-+{%- endif %}
-+{%- if proxies.repo.get('http', None) or proxies.system.get('http', None) %}
-+ - http_proxy: {{ proxies.repo.get('http', None) or proxies.system.get('http', None) }}
-+{%- endif %}
++ {%- if not use_proxy and repo.key_server is defined %}
+ - keyserver: {{ repo.key_server }}
+ {%- endif %}
+ {%- if repo.key_url is defined and (grains['saltversioninfo'] >= [2017, 7] or repo.key_url.startswith('salt://')) %}
+@@ -157,6 +179,25 @@ linux_repo_{{ name }}:
+ {%- endif %}
+ {%- endif %}
-+{%- elif repo.key_id is defined and repo.key_server is defined %}
++{%- if use_proxy and repo.key_id is defined and repo.key_server is defined %}
+
+linux_repo_{{ name }}_key:
+ cmd.run:
+{%- endif %}
+{%- if proxies.repo.get('http', None) or proxies.system.get('http', None) %}
+ - http_proxy: {{ proxies.repo.get('http', None) or proxies.system.get('http', None) }}
- {%- endif %}
-
++{%- endif %}
++
+{%- endif %}
+
+{#- repo.enabled is false #}