Hello community,

here is the log from the commit of package openSUSE-Tumbleweed-Yomi for 
openSUSE:Factory checked in at 2020-10-14 15:39:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-Tumbleweed-Yomi (Old)
 and      /work/SRC/openSUSE:Factory/.openSUSE-Tumbleweed-Yomi.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openSUSE-Tumbleweed-Yomi"

Wed Oct 14 15:39:07 2020 rev:17 rq:841592 version:1.0.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-Tumbleweed-Yomi/openSUSE-Tumbleweed-Yomi.changes
        2020-10-02 17:35:37.202678392 +0200
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-Tumbleweed-Yomi.new.3486/openSUSE-Tumbleweed-Yomi.changes
      2020-10-14 15:39:49.442375642 +0200
@@ -1,0 +2,5 @@
+Fri Oct  2 15:31:28 UTC 2020 - Alberto Planas Dominguez <apla...@suse.com>
+
+- Support config{_url}{_name} for user provided configuration
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.uW94Dk/_old  2020-10-14 15:39:50.050375855 +0200
+++ /var/tmp/diff_new_pack.uW94Dk/_new  2020-10-14 15:39:50.050375855 +0200
@@ -152,44 +152,44 @@
 
 # Add a systemd overlay for salt-minion.service that will set the
 # master address to looking for.  We can inject the master address via
-# the boot parameters, using the variable 'master'.  For example:
-# 'master=10.0.2.2'.  By default the master address will be 'salt'
-cat > /usr/bin/master.sh <<-'EOF'
+# the boot parameters, using the variable 'ym.master'.  For example:
+# 'ym.master=10.0.2.2'.  By default the master address will be 'salt'
+cat > /usr/bin/yomi-master.sh <<-'EOF'
        #!/bin/sh
 
        # Default value of master
        master=salt
 
-       # Search for the parameter 'master=' in /proc/cmdline
-       for arg in $(cat /proc/cmdline); do
-           [[ "$arg" =~ ^master=.*$ ]] && master="${arg#master=}"
-       done
+       # Search for the parameter 'ym.master=' in /proc/cmdline
+       while IFS= read -r line; do
+           [[ "$line" =~ ^ym.master=.*$ ]] && master="${line#ym.master=}"
+       done <<< "$(cat /proc/cmdline | xargs -n1)"
 
        [ -f /etc/salt/minion.d/master.conf ] || echo "master: $master" > 
/etc/salt/minion.d/master.conf
 EOF
-chmod a+x /usr/bin/master.sh
+chmod a+x /usr/bin/yomi-master.sh
 
-cat > /etc/systemd/system/salt-minion.service.d/10-master.conf <<-EOF
+cat > /etc/systemd/system/salt-minion.service.d/10-yomi-master.conf <<-EOF
        [Service]
-       ExecStartPre=/usr/bin/master.sh
+       ExecStartPre=/usr/bin/yomi-master.sh
 EOF
 
-# Add a systemd overlay for salt-minion.service, that will add into
-# the minion_id the based on some priorities:
+# Add a systemd overlay for salt-minion.service, that will set the
+# minion_id the based on some priorities:
 #
-#   - minion_id boot parameter
+#   - ym.minion_id boot parameter
 #   - hostname (FQDN) if is different from localhost
 #   - the MAC address of the first interface
 #
 # This algorithm replaces the default minion ID, that is the
 # IP address of the main interface.
-cat > /usr/bin/minion_id.sh <<-'EOF'
+cat > /usr/bin/yomi-minion_id.sh <<-'EOF'
        #!/bin/sh
 
-       # Search for the parameter 'minion_id=' in /proc/cmdline
-       for arg in $(cat /proc/cmdline); do
-           [[ "$arg" =~ ^minion_id=.*$ ]] && minion_id="${arg#minion_id=}"
-       done
+       # Search for the parameter 'ym.minion_id=' in /proc/cmdline
+       while IFS= read -r line; do
+           [[ "$line" =~ ^ym.minion_id=.*$ ]] && 
minion_id="${line#ym.minion_id=}"
+       done <<< "$(cat /proc/cmdline | xargs -n1)"
 
        # If there is not parameter, take the hostname
        [ -z "$minion_id" ] && minion_id=$(hostname -f)
@@ -200,11 +200,41 @@
 
        [ -f /etc/salt/minion_id ] || echo "$minion_id" > /etc/salt/minion_id
 EOF
-chmod a+x /usr/bin/minion_id.sh
+chmod a+x /usr/bin/yomi-minion_id.sh
 
-cat > /etc/systemd/system/salt-minion.service.d/20-minion-id.conf <<-EOF
+cat > /etc/systemd/system/salt-minion.service.d/20-yomi-minion_id.conf <<-EOF
        [Service]
-       ExecStartPre=/usr/bin/minion_id.sh
+       ExecStartPre=/usr/bin/yomi-minion_id.sh
+EOF
+
+# Add a systemd overlay for salt-minion.service, that will add a new
+# configuration file provided by the user.
+cat > /usr/bin/yomi-config.sh <<-'EOF'
+       #!/bin/sh
+
+       # Search for the parameter 'ym.config_url[_name]=' in /proc/cmdline
+       while IFS= read -r line; do
+           [[ "$line" =~ ^ym.config_url=.*$ ]] && 
config_url="${line#ym.config_url=}"
+           [[ "$line" =~ ^ym.config_url_name=.*$ ]] && 
config_url_name="${line#ym.config_url_name=}"
+       done <<< "$(cat /proc/cmdline | xargs -n1)"
+
+       config_url_name=/etc/salt/minion.d/"${config_url_name:-config_url.conf}"
+       [ ! -f "$config_url_name" ] && [ -n "$config_url" ] && curl --insecure 
--location --silent "$config_url" -o "$config_url_name"
+
+       # Search for the parameter 'ym.config[_name]=' in /proc/cmdline
+       while IFS= read -r line; do
+           [[ "$line" =~ ^ym.config=.*$ ]] && config="${line#ym.config=}"
+           [[ "$line" =~ ^ym.config_name=.*$ ]] && 
config_name="${line#ym.config_name=}"
+       done <<< "$(cat /proc/cmdline | xargs -n1)"
+
+       config_name=/etc/salt/minion.d/"${config_name:-config.conf}"
+       [ ! -f "$config_name" ] && [ -n "$config" ] && printf '%b\n' "$(printf 
'%b' "$config")" > "$config_name" || true
+EOF
+chmod a+x /usr/bin/yomi-config.sh
+
+cat > /etc/systemd/system/salt-minion.service.d/30-yomi-config.conf <<-EOF
+       [Service]
+       ExecStartPre=/usr/bin/yomi-config.sh
 EOF
 
 systemctl enable salt-minion.service


Reply via email to