Oh i understand. I would not define a standard but would check what autoyast uses as standard. Meaning the classes have only what is really required / must be set. For your example: If managed=true would be the default used by autoyast then you would have no entry for it in your class file. Of course you can have a <networking> section. So the rule could change the settings for certain hosts but during the class merge nothing would be "overwritten" To say it with other words. A default value will not be defined within a class file. Another way in case you would like to define a default within your class file. In your class you have for example a default ( true) for your networking definition which will be overwritten by a pre script. Example: ( not tested) ... # Change managed networking from true to false cp -av /tmp/profile/autoinst.xml /tmp/profile/modified.xml sed -i "/<networking>/,/<\/networking>/{/managed/s/true/false/}" /tmp/profile/modified.xml ... Note "dont_merge" would not help here since i assume that you would end up with something like: ... <networking> <managed config:type="boolean">true</managed> <managed config:type="boolean">false</managed> </networking> ... Does that makes sense ? Cheers Hajo -----Original Message----- From: Joschi Brauchle [mailto:joschi.brauchle@tum.de] Sent: Thursday, September 27, 2012 4:22 PM To: Hans-Joachim Ehlers Cc: opensuse-autoinstall@opensuse.org Subject: Re: [opensuse-autoinstall] Whats the purpose of classes? OR: How to modularize the XML profile? Hello Hajo, yes I am aware that XML entries must be sorted for merging to work correctly. Also you are right that I should not have used the term "overwritten". Consider the following scenario: By default, one wants to control the network via ifup, but for some machines Network manager should be used. The corresponding switch is: <networking> <managed config:type="boolean">true</managed> </networking> So if I put "managed=true" (shorthand notation) in a specific rule for some hosts and "managed=false" in a class file (designed to be a default value) for all other hosts, I will always end up with "managed=false". The reason is that the class is merged after the rule, overruling any previous value of the "managed" tag. Hence, when combining rules and classes, classes will overrule all settings done by rules which are not protected by a "dont_merge". Is that correct? If so, I cannot use classes to define "default" values which shall be changed by rules... .... -- To unsubscribe, e-mail: opensuse-autoinstall+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-autoinstall+owner@opensuse.org