continue=false ignored in rules.xml on SLED 13

Frank Steiner <[email protected]> Thu, 02 Apr 2015 12:30:40 +0200
Newsgroups gmane.linux.suse.autoinstall
Message-ID <[email protected]>
Hi,

I've the following rules in rules.xml (allows to install a certain
SLED host without adding the SDK with the profile in the second rule):

   <rule>
      <hostaddress>
        <match>xx.xx.xx.xx</match>
        <match_type>exact</match_type>
      </hostaddress>
      <result>
	<profile>profiles/sled-x86_64_only.xml</profile>
        <dont_merge config:type="list">
          <element>listentry</element>
          <element>package</element>
        </dont_merge>
        <continue config:type="boolean">false</continue>
      </result>
    </rule>

    <rule>
      <custom1>
	<script>
<![CDATA[
#!/bin/sh
product=`/bin/grep -w DISTRO /content |sed 's/.*:\(sle.\):.*/\1/'`
hosttype=$HOSTTYPE
echo -n $product-$hosttype
]]>
        </script>
	<match>*</match>
	<match_type>exact</match_type>
      </custom1>
      <result>
	<profile>profiles/@[email protected]</profile>
	<continue config:type="boolean">true</continue>
        <dont_merge config:type="list">
          <element>listentry</element>
          <element>package</element>
        </dont_merge>
      </result>
    </rule>


The first rule matches agains my host ip and adds sled-x86_64_only.xml.
Then it should stop due to the <continue>false</continue>, and that's
how it worked in SLE 11 SP3. But in SLED 12 it continues and adds
sled-x86_64.xml, too.

Below is the excerpt from the y2log (IPs removed). Is this a known bug?

cu,
Frank


2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:468 Ruleset: $["hostaddress":$["match":"xx.xx.xx.xx", "match_type":"exact"], "result":$["continue":false, "dont_merge":["listentry", "package"], "profile":"profiles/sled-x86_64_only.xml"]]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:474 Orderes Rules: ["hostaddress", "result"]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:477 Rule: hostaddress
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:478 Ruledef: $["match":"xx.xx.xx.xx", "match_type":"exact"]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:403 var: hostaddress, val: xx.xx.xx.xx
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:404 shell:  ( [ "$hostaddress" = "xx.xx.xx.xx" ] )
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:477 Rule: result
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:478 Ruledef: $["continue":false, "dont_merge":["listentry", "package"], "profile":"profiles/sled-x86_64_only.xml"]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:423 file: profiles/sled-x86_64_only.xml
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:434 var:
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:444 val: profiles/sled-x86_64_only.xml
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:417 Bash return: if  ( [ "$hostaddress" = "xx.xx.xx.xx" ] ) ; then exit 0; else exit 1; fi ($["exit":1, "stderr":"", "stdout":""]) ($["arch":"x86_64", "custom1":"", "custom2":"", "hostaddress":nil])
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:468 Ruleset: $["custom1":$["match":"*", "match_type":"exact", "script":"\n#!/bin/sh\nproduct=`/bin/grep -w DISTRO /content |sed 's/.*:\\(sle.\\):.*/\\1/'`\nhosttype=$HOSTTYPE\necho -n $product-$hosttype\n"], "result":$["continue":true, "dont_merge":["listentry", "package"], "profile":"profiles/@[email protected]"]]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:474 Orderes Rules: ["custom1", "result"]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:477 Rule: custom1
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:478 Ruledef: $["match":"*", "match_type":"exact", "script":"\n#!/bin/sh\nproduct=`/bin/grep -w DISTRO /content |sed 's/.*:\\(sle.\\):.*/\\1/'`\nhosttype=$HOSTTYPE\necho -n $product-$hosttype\n"]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:514 Writing rule script into /tmp/YaST2-03952-kO5Llb/rule_custom1
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:403 var: custom1, val: *
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:404 shell:  ( [ "1" = "1" ] )
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:477 Rule: result
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:478 Ruledef: $["continue":true, "dont_merge":["listentry", "package"], "profile":"profiles/@[email protected]"]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:423 file: profiles/@[email protected]
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:434 var: custom1
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:417 Bash return: if  ( [ "1" = "1" ] ) ; then exit 0; else exit 1; fi ($["exit":0, "stderr":"", "stdout":""]) ($["arch":"x86_64", "custom1":"sled-x86_64", "custom2":"", "hostaddress":nil])
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:625 Final Profile name: profiles/sled-x86_64.xml
2015-04-02 08:13:54 <1> xx.xx.xx.xx(3952) [Ruby] modules/AutoInstallRules.rb:644 user defined dont_merge for rules found. dontmerge is ["listentry", "package"]



-- 
Dipl.-Inform. Frank Steiner   Web:  http://www.bio.ifi.lmu.de/~steiner/
Lehrstuhl f. Bioinformatik    Mail: http://www.bio.ifi.lmu.de/~steiner/m/
LMU, Amalienstr. 17           Phone: +49 89 2180-4049
80333 Muenchen, Germany       Fax:   +49 89 2180-99-4049
* Rekursion kann man erst verstehen, wenn man Rekursion verstanden hat. *
-- 
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]