Initial rmt sync failing

After buying the subscription for CentOS extended support, I provisioned the RMT server and registered it with SCC.
RES Updates repo fails to sync completely when doing the initial rmt-cli repo mirror with checksum failed error for following 9 packages
bind-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-chroot-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-devel-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-export-devel-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-export-libs-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-libs-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-libs-lite-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-license-9.11.4-26.P2.el7_9.16.noarch.rpm
bind-lite-devel-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-pkcs11-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-pkcs11-devel-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-pkcs11-libs-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-pkcs11-utils-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-sdb-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-sdb-chroot-9.11.4-26.P2.el7_9.16.x86_64.rpm
bind-utils-9.11.4-26.P2.el7_9.16.x86_64.rpm

Not sure where to go from here as this is preventing me from adding any clients to rmt server because repodata directoy is missing since mirror did not finish successfully.

You may be able to bypass part of the issue here.

I managed to get things fully resynced despite the checksum errors causing the same issue.

It seems like because the checksums cause failed downloads it aborts saving the repodata folder. (SUSE please fix this too).

What you need to do is go to the folder where the repodata is meant to be, start the mirror operation and wait for it to download the repodata to a temporary folder.

When you’re sure it is no longer touching anything in the repodata folder (lsof) copy it to the correct location.

For me this was effectively:

rmt-cli mirror > /dev/null 2>&1 &
cd /usr/share/rmt/public/repo/SUSE/Updates/RES/7-LTSS/x86_64/update/
lsof +D .tmp_metadata/repodata/
# wait a bit for nothing to be accessing it
cp -R .tmp_metadata/repodata/ ./repodata

This is somewhat janky but appears to work fine.

Edit: Added the > /dev/null 2>&1 or that might get very hard to read in the CLI.

1 Like

I ended up doing pretty much the same steps but even though the clients can now register but it still thinks the repo is not enabled in rmt since it does not populate the sync time as it never finished syncing completely.
SUSE please fix this.

Yeah, it’s also important to keep in mind that with the metadata not getting automatic updates (I assume it is not doing so due to checksum fails still) until your admin manually does this again, you get no updated packages on your endpoints.

I am disappointed that SUSE appears to still not be engaging with this issue.

Your product is currently likely to be non-functional (or partially broken) for a lot of your customers!

I can confirm that it has now been fixed and rm-cli mirror is working as expected and these bind packages are syncing correctly.

Yes, I also now see the mirror working correctly.