fix(pkgrepo/suse/install): avoid managing repo if it already exists

Use ugly `zypper lr --uri` hack to get around failure if the `base_url`
already exists under a different name:

```
      ID: salt-pkgrepo-install-saltstack-suse
Function: pkgrepo.managed
    Name: systemsmanagement_saltstack_products
  Result: False
 Comment: Failed to configure repo 'systemsmanagement_saltstack_products':
          Repository 'systemsmanagement_saltstack_products' already exists as 'systemsmanagement_saltstack'.
 Started: 09:28:39.154054
Duration: 2760.727 ms
```

Upstream code:

* 45cc49daed/salt/modules/zypperpkg.py (L1262-L1265)
This commit is contained in:
Imran Iqbal 2021-01-29 10:47:11 +00:00
parent 6aeaa5ac94
commit d5320a35ed
No known key found for this signature in database
GPG Key ID: 6D8629439D2B7819
1 changed files with 4 additions and 0 deletions

View File

@ -2,6 +2,9 @@
# vim: ft=sls
{% from "salt/map.jinja" import salt_settings with context %}
{#- Resorting to this ugly hack since the state doesn't handle if the `baseurl` is
already configured under another name, such as used by the `salt-bootstrap` #}
{%- if not salt["cmd.run"]("zypper lr --uri | grep " ~ salt_settings.pkgrepo) %}
salt-pkgrepo-install-saltstack-suse:
pkgrepo.managed:
- name: systemsmanagement_saltstack_products
@ -11,3 +14,4 @@ salt-pkgrepo-install-saltstack-suse:
- gpgcheck: 1
- gpgkey: {{ salt_settings.key_url }}
- gpgautoimport: true
{%- endif %}