How to resolve the “Failed joining the cluster; Error: Failed parsing join response: jwt too old; iat: ; expected minimum: ” error in Unified Platform?

Muhammed Kashif
2020-04-15 07:55

When any JFrog Product is upgraded to the Unified Platform, there is a chance that the other JFrog products (Xray, JFMC) may not connect with the Artifactory 7.x Unified UI, as a result these products capability is not enabled in the Unified UI. To troubleshoot this issue, check the $JFROG_HOME/var/<product>/log/router-service.log of the JFrog product which is not enabled in the Unified UI. 
If the below JWT error is observed in the router-service.log, it means that the system clocks of the services are not in sync could not join access, err: Cluster join: Failed joining the cluster; Error: Failed parsing join response: jwt too old; iat: <timestamp>; expected minimum: <timestamp>For instance, when Artifactory 7.x is able to connect to Xray and Xray cannot connect to Artifactory due to the below JWT error in router-service.log,2020-04-06T06:38:18.696Z [jfrou] [FATAL] [365fbba4cb58b874] [bootstrap.go:100              ] [main                ] - could not join access, err: Cluster join: Failed joining the cluster; Error: Failed parsing join response: jwt too old; iat: 1586154988; expected minimum: 1586155063

The above error means that Xray’s clock is at 06:38:18, it will accept a timestamp as old as 06:37:43 (one minute earlier), yet the JWT received the timestamp of 06:36:28 which is One minute before the minimum and the issue was caused due to this timestamp mismatch between Artifactory and Xray. 

To overcome the above JWT error, kindly sync the system clocks of Artifactory with the impacted JFrog Product (in the above example, the system clocks need to be in sync with Artifactory and Xray).