Introduction
This document describes how to correct upgrade issues with Secure Network Analytics (SNA) Manager pairs after an upgrade to Version 7.2.1.
Background Information
The problem presented here is that after an upgrade of the Secondary SNA Manager to Version 7.2.1 you cannot log in with the admin account.
Problem
After an upgrade of the Secondary SNA Manager to Version 7.2.1 the user is unable to log in with the admin account. The error is:
The authentication service was unable to fulfill your request. If this problem persists, contact your Stealthwatch administrator.
The device shows as down in Central Management.
The error in the smc-users.log file is consistent with the failure in LSQ-5595 / SWD-15027. However, the attempted fix (delete the user.xml file and restart the SMC / tomcat service) did not fix the problem. The rebuilt user.xml file appears identical to the old file.
2021-09-08 16:38:30,908 INFO [UserDAOImpl] reading /lancope/var/smc/config/users/admin/user.xml
2021-09-08 16:38:30,910 WARN [XmlWebApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'authenticateServiceImpl' defined in file [/opt/apache/tomcat7/webapps/smc-users/WEB-INF/classes/com/lancope/sws/smc/service/authenticateService/AuthenticateServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 3; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'usersService' defined in ServletContext resource [/WEB-INF/serviceContext.xml]: Cannot resolve reference to bean 'userDao' while setting bean property 'userDao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in ServletContext resource [/WEB-INF/daoContext.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.lancope.sws.smc.user.data .UserDAOImpl]: Constructor threw exception; nested exception is com.lancope.server.table.TableResourceException: java.lang.NullPointerException
2021-09-08 16:38:30,912 ERROR [ContextLoader] Context initialization failed
At this point it is not possible to upgrade the Primary Manager. The upgrade fails with a message that indicates it is unable to talk to the Secondary SMC:
2021-09-07 22:21:02,157 - update-smc-7.2.1.2020.05.16.0002-02 - DEBUG - {u'status': u'Failed to upgrade appliance', u'timestamp': 1631053262.129825, u'message': u'We could not finish the Smart Licensing Readiness Check because the SMC/Central Manager at 10.128.208.46 is not responding. Restart your SMC and try to update this appliance again.', u'complete': 1, u'error': 1}.
After the user.xml file was deleted, the Primary and Secondary Manager were able to replicate and the broken user.xml file was copied over from the Primary.
Solution
Delete the problem user.xml file on the Primary and restart lc-tomcat (the Primary Manager still on Version 7.1.1) with the command systemctl restart lc-tomcat
. Then delete the user.xml file on the Secondary Manager and restart the manager manifest with command systemctl restart smc-manifest
.