2017-06-22 68 views
3

Jenkinsマスターインストールを最新のLTSバージョン2.46.3にアップデートした後、スレーブ(Windows 7マシン、32ビット)のいずれかがマスターに接続できません。Jenkinsスレーブがマスターに接続できません:不正確な確認シーケンス

我々が取得しているエラーは、次のとおりです。

java -jar slave.jar -jnlpUrl https://<jenkins-name>/computer/<node-name>/slave-agent.jnlp -secret <secret-value> 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main createEngine 
INFO: Setting up slave: node-name 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main$CuiListener <init> 
INFO: Jenkins agent is running in headless mode. 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Locating server among [https://<jenkins-name>/] 
Jun 22, 2017 1:19:05 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve 
INFO: Remoting server accepts the following protocols: [JNLP3-connect, JNLP-connect, CLI2-connect, Ping, CLI-connect, JNLP4-connect, JNLP2-c 
onnect] 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Agent discovery successful 
    Agent address: <jenkins-name> 
    Agent port: <jenkins-port> 
    Identity:  <id:en:ti:ty> 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Handshaking 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Connecting to <jenkins-name>:9150 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Trying protocol: JNLP4-connect 
Jun 22, 2017 1:19:05 PM org.jenkinsci.remoting.protocol.impl.AckFilterLayer abort 
WARNING: [JNLP4-connect connection to <our-proxy>/10.253.0.11:81] Incorrect acknowledgement sequence, expected 0x0003414333 got 0x4854545044 
Jun 22, 2017 1:19:05 PM hudson.remoting.jnlp.Main$CuiListener status 
INFO: Protocol JNLP4-connect encountered an unexpected exception 
java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowled 
gement sent 
     at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:223) 
     at hudson.remoting.Engine.innerRun(Engine.java:385) 
     at hudson.remoting.Engine.run(Engine.java:287) 
Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Connection closed before acknowledgement sent 
     at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckFilterLayer.java:280) 
     at org.jenkinsci.remoting.protocol.FilterLayer.abort(FilterLayer.java:164) 
     at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.abort(AckFilterLayer.java:130) 
     at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecv(AckFilterLayer.java:258) 
     at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecv(ProtocolStack.java:669) 
     at org.jenkinsci.remoting.protocol.NetworkLayer.onRead(NetworkLayer.java:136) 
     at org.jenkinsci.remoting.protocol.impl.BIONetworkLayer.access$2200(BIONetworkLayer.java:48) 

我々は問題を解決しようとする多くの時間を費やしました。残念ながら、成功はありません。

問題を引き起こした可能性があり、どのように解決できるか考えていますか?

+0

Jenkinsの以前のバージョンは何ですか?使用している認証メカニズムは何ですか? LDAP、内部DBなど何か? –

答えて

0

ノードの秘密鍵が完全であることを確認する必要があります。適切でない場合は、slave.jarをダウンロードし、コマンドラインから新しいjarファイルを使用してエージェントを実行する必要があります。

java -jar slave.jar -jnlpUrl http://<ipaddress>:8080/computer/<computername>/slave-agent.jnlp -secret 340d54sdrgtjj334kelkahsdjkf83f1c5120dc2fb74939fcdb7f05e1926049f8d7991 

はまた、インストールされているJavaのバージョンを確認するために> 7

1

我々は最近、リモートの統合テストのためにJNLPを使用して、当社のAWSベースのジェンキンスと、この問題をヒットです。リモートのスレーブはJenkinsのマスターにコールバックし、これも同様のエラーで失敗しました。この問題は、ジェンキンスマスターのために、動的に生成されたタイプのHTTPのAWS ELBであった(Kubernetes ELBプロビジョナーは現在マルチプロトコルELBをサポートしていないため)。 Webインターフェイスの入力「インスタンスポート」はプロトコルHTTPで、「ロードバランサ」はプロトコルHTTPSでしたが、ELBのJNLP入力ポートタイプをTCPに手動で変更する必要がありました。

+0

JNLPプロトコルはHTTPではなくバイナリです。リスナーがGETリクエストを送信すると、ダミーのHTTPレスポンスを送信する特別なケースがあるので、それは明らかではありません。 JNLPリスナーの前にHTTPプロキシを置くことはできません。そうした場合、「誤った確認シーケンス」は、取得するエラーメッセージです。 –

関連する問題