Problem:
When you navigate to the Netaudit in UI, it comes empty or does not display any any value.
This guide covers the problem as it occurs in DR Systems. If you have a single orchestrator system and see this error or similar, this solution is not applicable.
Reason:
There was a corruption at the backend repository which because the sync_dr_nodes job in the root crontab is enabled on both primary and secondary orchestrator nodes. Thus, it should only be active on the primary node.
The WebUI talks directly to the back end repo, not the checked out sandbox in /opt/opsview/netaudit/var/svn.
This command can be run on the primary node to check for corruption.
# /opt/opsview/local/bin/svnadmin verify /opt/opsview/netaudit/var/repository/rancid
Steps to Resolution:
Dump and restore the repository. This will strip out the problem commit using the corrupted revision file which would normally be the last number added in the repository.
Run the following command as a root user:
cd /opt/opsv/ewnetaudit/var/repository mv rancid [rancid_corrupt_file] PATH=$PATH:/opt/opsvsiew/local/bin svnadmin create rancid svnadmin dump -M 4096 -r1:15329 [rancid_corrupt_yyyymmdd] > [rancid_dump_file.txt] svnadmin --bypass-prop-validation load -M 1024 rancid < [rancid_dump_file.txt] chown -R opsview:opsview rancid
Switch to opsview user and run the commands to fix the checked out sandbox:
su - opsview
cd /opt/opsview/netaudit/var/
mv svn svn.20230331
svn checkout ///opt/opsview/netaudit/var/repository/rancid svn
cd svn.20230331
***copy all files for all commits waiting to be applied into the new repo
svn status | awk '{print $2}' | while read f; do echo f=$f ; cp $f ../svn/; done
***ensure the new repo area contains all files that were in the old one
for f in *; do echo f=$f; test -f ../svn/$f || cp $f ../svn/; done
*** copy all files that are > 0 in the old repo but 0 in the new one
for f in *; do echo f=$f ; test -s $f && ! test -s ../svn/$f && cp $f ../svn/$f ; done
Commit all files:
cd ../svn
svn status | awk '{print $2}' | while read f; do echo f=$f ; cp $f ../svn/; done
svn commit -m "Commit post corruption fix Notes"
svn status | awk '{print $2}' | while read f; do echo f=$f ; svn add $f; done
svn commit -m "Commit post corruption fix Notes"
-
Tags:
Comments
0 comments
Please sign in to leave a comment.