And, just verifying that the result isn’t that the services are running…
Even if a service is disabled, it only means that the service won’t auto-start, but if the service is a dependency for something else, that something else can still start up the service.
Lastly, if the AutoYaST configuration just won’t work, I’d expect that simply running “systemctl disable” commands later, for instance as a “cleanup script” shouldn’t be a big deal.
So it turns out the (surprisingly confusing) merging done by the rules.xml file was the culprit. The services weren’t disabled because the relevant configuration didn’t even make it to the final profile.
To anyone getting here from a Google search or similar:
You absolutely need
to use the dont_merge tag! Even for trivial things like packages, services etc. Otherwise they *will *get overwritten. 1. The final merged profile is saved in /tmp/profile/autoinst.xml before the installation is carried out. Do check it to see if everything looks OK. If not, then your rules.xml is probably badly configured.
Seriously though, that documentation section could totally use an example with some simpler objects like packages, patterns, services etc. in addition to that one with the partitions…