Note that this was tested successfully on my Fedora 21 laptop.
After numerous re-writes in which I attempted to make it work on
an individual PKI instance (but not subsystems within a shared PKI
instance), I finally gave in and made it work as explained in the
'pki_default.cfg' man page.
The issue was that 'systemctl disable <instance>' not only
removed the desired symbolic link from
'/etc/systemd/system/multi-user.target.wants', but also caused the
deletion of the entire
'/etc/systemd/system/pki-targetd.target.wants' directory (which is
owned by the pki-server package). Within PKI, this directory and
its internal symbolic link are always required for proper
operation, and it confused the system so badly, I was not able to
restore it by simply re-running 'systemctl enable
<instance>'.
As the revised man page states, to manually disable PKI instances
from starting upon reboot, run 'systemctl disable
pki-tomcatd.target', to manually enable them, run 'systemctl
enable pki-tomcatd.target'; no one should ever run 'systemctl
enable/disable <pki instance>' (nor for that matter
'systemctl enable/disable <389 instance>') as this confuses
the system.
Additionally, this patch makes the change to
'infrastructure_layout.py' to only create/remove the
'/var/lib/pki' directory (owned by the 'pki-server' package) when
it has been relocated using pkispawn's '-p <prefix>' test
parameter.
Finally, since another line was added to the final status report
produced at the end of 'pkispawn', I streamlined the spacing a bit
in this patch.