Issue
-
controller is not able to connect to the CloudBees Jenkins Operation Center
-
Logs show the following exception
2018-06-08 18:46:58.001+0000 [id=58] SEVERE c.c.o.c.p.OperationsCenterRootAction$DescriptorImpl#setAgentErrorStateCallback: Agent Connection Error: DescriptorImpl{state=CONNECTABLE, error=java.lang.SecurityException: Rejected: java.security.cert.Certificate$CertificateRep; see https://www.jenkins.io/redirect/class-filter/, transportEndpoint=cjp.test.example.com/XX.XXX.X.X:10000, operationsCenterUrl=https://cjp.test.example.com/, name='0-Test_controller', grantId='aa03db4b-4d66-410f-a95d-8de6f71e4be1', agentThread=Thread[Operations Center Connector #1,5,main], channel=null, slaveManager=null} java.lang.SecurityException: Rejected: java.security.cert.Certificate$CertificateRep; see https://www.jenkins.io/redirect/class-filter/ at hudson.remoting.ClassFilter.check(ClassFilter.java:76) at hudson.remoting.ObjectInputStreamEx.resolveClass(ObjectInputStreamEx.java:57) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)
Resolution
The probable root cause is that the controller is trying to use Multicontroller
protocol to connect Operations Center. That protocol is not recommended anymore, so switching to OperationsCenter2
protocol is the solution.
Go to Manage Jenkins
> Configure Global Security
, and under Agents
, click on the Agent Protocols...
button and ensure that OperationsCenter2
is checked and Multicontroller
not.
You need to apply this configuration change in Operations Centers and controller side and try to reconnect again the controller to the Operations Centers.
If you are not still able to connect the controller after that, ensure that the connectivity is done from scratch by following below steps
-
In controller, go to
Manage Jenkins > Configure System
and verify ifOperations Center Connector
section exists. If exists, then uncheck theEnable
option and save the changes. -
In OC, delete the controller item, create a new one and push the new connection details.