From d5320a35edfbaa44c769bf73036b1bee7581cab5 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Fri, 29 Jan 2021 10:47:11 +0000 Subject: [PATCH] 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: * https://github.com/saltstack/salt/blob/45cc49daed1618dbe89e1f012128c8dcab00b356/salt/modules/zypperpkg.py#L1262-L1265 --- salt/pkgrepo/suse/install.sls | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/salt/pkgrepo/suse/install.sls b/salt/pkgrepo/suse/install.sls index f87c105..09eef4d 100644 --- a/salt/pkgrepo/suse/install.sls +++ b/salt/pkgrepo/suse/install.sls @@ -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 %}