Required Data: operations center to controller communication issues

Article ID:115000636272
2 minute readKnowledge base

Issue

A controller fails to connect to an operations center.

Quick resolution check

Please, notice that most of the communication issues happen because:

  1. There is proxy set-up in the controller under Manage Jenkins -> Manage plugins [Advanced tab] and the OC hostname was not added to No Proxy Host section. If the URL to access OC is https://cjoc.jenkins.example.com, then it is expected to have just cjoc.jenkins.example.com in the No Proxy Host section.

  2. The ELB/…​/HAProxy is not correctly configured for the JNLP port. The recommendation is NOT to use the ELB/…​/HAProxy, but instead bypass this intermediate element by adding this Java Argument in OC -Dhudson.TcpSlaveAgentListener.hostName=<OC_MACHINE_HOSTNAME>. If you don’t want to perform a restart, after adding the Java Argument you can use TcpSlaveAgentListener.CLI_HOST_NAME="CJOC_HOSTNAME".

Environment

  • CloudBees Jenkins Platform (CJP)

  • Operations Center (OC)

  • Client controller (CC)

  • CloudBees Jenkins Enterprise (CJE)

Required Data check list

  • Support bundle

  • Connectivity table

  • Client controller connectivity logs

  • Proxy configuration screenshot

Support bundle

A support bundle from BOTH OC and the affected CC after the issue is exposed. Please, follow the KB below in case you don’t know how to generate a support bundle.

  • [What is a support-bundle and how to create one][]

Also notice that in case you cannot access to the UI, you can still take one support bundle from the support folder in $JENKINS_HOME/support

Connectivity table

From OC dashboard go to the CC item and push the connection details from OC to the CC

rd-cjp-cnn-issues-push-connection-details.png

Then, take a screenshot of this table and attach it to the ticket.

rd-cjp-cnn-issues-con-details.png

Client controller connectivity logs

After you hit the button Join Operations Center from the previous step you will get the connectivity logs from this CC. Please, attach them to the ticket.

Example:

Operations Center connector log

[Thu Jul 13 13:09:50 CEST 2017] Starting connector thread
[Thu Jul 13 13:09:50 CEST 2017] Connector thread (Operations Center Connector #2) started
[Thu Jul 13 13:09:50 CEST 2017] Starting discovery on https://cjoc-1.jenkins.example.com:9090/
[Thu Jul 13 13:09:50 CEST 2017] Operations Center enabled
  State: ENABLED (was UNCONFIGURED)
  Operations Center cluster: https://cjoc-1.jenkins.example.com:9090/
  Operations Center agent address: cjoc-1.jenkins.example.com/127.0.0.1
  Operations Center agent port: 50000
  Local connector thread: Operations Center Connector #2 (running)
  Remoting channel: Not available
[Thu Jul 13 13:09:50 CEST 2017] Discovery on https://cjoc-1.jenkins.example.com:9090/ completed
  Agent address: cjoc-1.jenkins.example.com/127.0.0.1
  Agent port:  50000
  Identity: 5e:a6:e8:dd:91:00:5a:97:ef:3d:1d:31:4f:45:60:dd
[Thu Jul 13 13:09:50 CEST 2017] Trying protocol: OperationsCenter2
[Thu Jul 13 13:09:50 CEST 2017] Opening TCP socket connection to cjoc-1.jenkins.example.com/127.0.0.1 on port 50000
[Thu Jul 13 13:09:50 CEST 2017] Received certificate
  Identity: 5e:a6:e8:dd:91:00:5a:97:ef:3d:1d:31:4f:45:60:dd
[Thu Jul 13 13:09:50 CEST 2017] Identity certificate validated
[Thu Jul 13 13:09:50 CEST 2017] Received connection headers
[Thu Jul 13 13:09:50 CEST 2017] Connection to Operations Center is approved
[Thu Jul 13 13:09:50 CEST 2017] Operations Center approved
  State: CONNECTABLE (was ENABLED)
  Operations Center cluster: https://cjoc-1.jenkins.example.com:9090/
  Operations Center agent address: cjoc-1.jenkins.example.com/127.0.0.1
  Operations Center agent port: 50000
  Local connector thread: Operations Center Connector #2 (running)
  Remoting channel: Not available
[Thu Jul 13 13:09:50 CEST 2017] Creating remoting channel
[Thu Jul 13 13:09:50 CEST 2017] Remoting channel is established
[Thu Jul 13 13:09:50 CEST 2017] Operations Center on-line
  State: CONNECTABLE
  Operations Center cluster: https://cjoc-1.jenkins.example.com:9090/
  Operations Center agent address: cjoc-1.jenkins.example.com/127.0.0.1
  Operations Center agent port: 50000
  Local connector thread: Operations Center Connector #2 (running)
  Remoting channel: Established

Proxy configuration screenshot

Take a screenshot of the proxy configuration under Manage Jenkins -> Manage plugins [Advanced tab in the affected Client controller.