The change to fix superset problem also reversed logic
to prefer the 'old' entries to the 'new' entries. For now,
restore the logic of merge entries superseding existing entries.
What is really warranted is a facility to intelligently sync the account
databases. Specifically, read in /etc/login.defs, look at UID_MIN and
GID_MIN for the platform. For UID/GID lower than that, rpms may manage
and such care needs to be given to not change UID/GID, but still need to
update things like shadow and group *membership*, but presrve uid/gid.
Above UID_MIN/GID_MIN, they are user groups and the uid/gid portion is
important in shared filesystem context, so it is imperative that they
work.
Service node pools would go as far as the network allowed.
Honor the servicenode attribute to limit visibility to
the service nodes that are relevant and any owner of a dynamic
range.
Also allow execution if the dhcp server is not running (e.g. shutting
down dhcp server on the master node to allow only the service nodes
to provide services).
nvme devices were not autosensed as install candidates.
Also, devices smaller than 128 MB are filtered out, as they are likely
to be some media or similar.
Use the existence of the presumed log as a stronger indication
of the use of confluent. Continue to shy away from slowing
things down by getting the site table, to avoid the slow check.
* Fixes in xdcpmerge.sh
Two fixes:
1. The grep pattern when finding duplicate usernames is missing ":" at the end. So, for example user "test" would also match "test2, etc.". Adding the ":" delimiter fixes the issue.
2. Another issue happens when the file to be merged is a superset of the files on the nodes. For example, if a new user is added and entire passwd file (that is otherwise identical) is sent to be merged. In this case, the $filebackup.nodups file, i.e. the original file with duplicates removed, becomes empty and the condition "if [ -s "$filebackup.nodups" ]" does not execute. Then the merged file ends up being original file with the merge file fully appended, clearly not what was intended.
This is solved by changing the condition to check for file existence "-a" rather then for size. Additionally, I also turn the logic around so that the duplicates are removed from the merge file and then added to the original file. I think this makes logic a bit cleaner and also ensures that existing entries are not reordered or changed in any way.
* Streamlining previous commit
Adjustment to previous commit, streamlining and simplifying logic. Once $mergefile.nodups is created, just concatenate it the original file.
* Update to xdcpmerge
No need to copy $filebackup to $curfile, they are the same.