Jenkins Windows VM Slave fails while connecting to Jenkins Master
I am a beginner to the kubernetes setup.
Here is the setup that we have - Jenkins Master running on kubernetes cluster - has only one kube node. The Jenkins application is exposed through a "NodePort" on pot 32083. The Jenkins master web UI is accessed through a VIP configured on port 32083. Hence the Jenkins URL at https:// is served through the VIP on port 32083.
I can access the Jenkins webui and it works as expected. I have configured external ubuntu slaves for handling the builds.These slaves work as expected.
I am now trying to configure an external windows VM as the slave.
All K8s, ubuntu slaves and windows slaves use JDK8
Here is the helm chart values.yaml for the UI port and the slavelistener.
ServicePort: 8080
ServiceType: NodePort
NodePort: 32083
ServiceAnnotations: {}
ContainerPort: 8080
SlaveListenerPort: 50000
Here is the config at the loadbalancer:
ltm virtual -50000 {
description -50000
destination :50000
ip-protocol tcp
mask x.x.x.x
pool pool--50000
profiles {
http-xforwarded-xproto-https { }
tcp { }
xxx-clientssl {
context clientside
}
}
ltm pool pool-xxxxx-50000 {
members {
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Here is the error I get when I try to launch the Java webstart slave JNLP from the windows VM
INFO: Protocol JNLP4-connect encountered an unexpected exception
java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol
ConnectionRefusalException: Connection closed before acknowledgement sent
hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
Agent address: xxxx
Agent port: 50000
Identity: xxxxx
hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to xxxx:50000
hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
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 acknowledgement sent
at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:22
3)
at hudson.remoting.Engine.innerRun(Engine.java:614)
at hudson.remoting.Engine.run(Engine.java:474)
Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Conn
ection closed before acknowledgement sent
at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckF
ilterLayer.java:280)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(Protoc
olStack.java:816)
I have even changed the loadbalancer config to look like this
ltm pool pool--50000 {
members {
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Also set the -Dhudson.TcpSlaveAgentListener.hostName= during Jenkins start. Also set the "Tunnel connection through" to ":" in the Windows slave node configuration.
End up getting the same error as above every time. Any configuration at the Kubernetes setup or loadbalancer that I am missing here?
jnlp
add a comment |
I am a beginner to the kubernetes setup.
Here is the setup that we have - Jenkins Master running on kubernetes cluster - has only one kube node. The Jenkins application is exposed through a "NodePort" on pot 32083. The Jenkins master web UI is accessed through a VIP configured on port 32083. Hence the Jenkins URL at https:// is served through the VIP on port 32083.
I can access the Jenkins webui and it works as expected. I have configured external ubuntu slaves for handling the builds.These slaves work as expected.
I am now trying to configure an external windows VM as the slave.
All K8s, ubuntu slaves and windows slaves use JDK8
Here is the helm chart values.yaml for the UI port and the slavelistener.
ServicePort: 8080
ServiceType: NodePort
NodePort: 32083
ServiceAnnotations: {}
ContainerPort: 8080
SlaveListenerPort: 50000
Here is the config at the loadbalancer:
ltm virtual -50000 {
description -50000
destination :50000
ip-protocol tcp
mask x.x.x.x
pool pool--50000
profiles {
http-xforwarded-xproto-https { }
tcp { }
xxx-clientssl {
context clientside
}
}
ltm pool pool-xxxxx-50000 {
members {
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Here is the error I get when I try to launch the Java webstart slave JNLP from the windows VM
INFO: Protocol JNLP4-connect encountered an unexpected exception
java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol
ConnectionRefusalException: Connection closed before acknowledgement sent
hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
Agent address: xxxx
Agent port: 50000
Identity: xxxxx
hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to xxxx:50000
hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
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 acknowledgement sent
at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:22
3)
at hudson.remoting.Engine.innerRun(Engine.java:614)
at hudson.remoting.Engine.run(Engine.java:474)
Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Conn
ection closed before acknowledgement sent
at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckF
ilterLayer.java:280)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(Protoc
olStack.java:816)
I have even changed the loadbalancer config to look like this
ltm pool pool--50000 {
members {
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Also set the -Dhudson.TcpSlaveAgentListener.hostName= during Jenkins start. Also set the "Tunnel connection through" to ":" in the Windows slave node configuration.
End up getting the same error as above every time. Any configuration at the Kubernetes setup or loadbalancer that I am missing here?
jnlp
add a comment |
I am a beginner to the kubernetes setup.
Here is the setup that we have - Jenkins Master running on kubernetes cluster - has only one kube node. The Jenkins application is exposed through a "NodePort" on pot 32083. The Jenkins master web UI is accessed through a VIP configured on port 32083. Hence the Jenkins URL at https:// is served through the VIP on port 32083.
I can access the Jenkins webui and it works as expected. I have configured external ubuntu slaves for handling the builds.These slaves work as expected.
I am now trying to configure an external windows VM as the slave.
All K8s, ubuntu slaves and windows slaves use JDK8
Here is the helm chart values.yaml for the UI port and the slavelistener.
ServicePort: 8080
ServiceType: NodePort
NodePort: 32083
ServiceAnnotations: {}
ContainerPort: 8080
SlaveListenerPort: 50000
Here is the config at the loadbalancer:
ltm virtual -50000 {
description -50000
destination :50000
ip-protocol tcp
mask x.x.x.x
pool pool--50000
profiles {
http-xforwarded-xproto-https { }
tcp { }
xxx-clientssl {
context clientside
}
}
ltm pool pool-xxxxx-50000 {
members {
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Here is the error I get when I try to launch the Java webstart slave JNLP from the windows VM
INFO: Protocol JNLP4-connect encountered an unexpected exception
java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol
ConnectionRefusalException: Connection closed before acknowledgement sent
hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
Agent address: xxxx
Agent port: 50000
Identity: xxxxx
hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to xxxx:50000
hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
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 acknowledgement sent
at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:22
3)
at hudson.remoting.Engine.innerRun(Engine.java:614)
at hudson.remoting.Engine.run(Engine.java:474)
Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Conn
ection closed before acknowledgement sent
at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckF
ilterLayer.java:280)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(Protoc
olStack.java:816)
I have even changed the loadbalancer config to look like this
ltm pool pool--50000 {
members {
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Also set the -Dhudson.TcpSlaveAgentListener.hostName= during Jenkins start. Also set the "Tunnel connection through" to ":" in the Windows slave node configuration.
End up getting the same error as above every time. Any configuration at the Kubernetes setup or loadbalancer that I am missing here?
jnlp
I am a beginner to the kubernetes setup.
Here is the setup that we have - Jenkins Master running on kubernetes cluster - has only one kube node. The Jenkins application is exposed through a "NodePort" on pot 32083. The Jenkins master web UI is accessed through a VIP configured on port 32083. Hence the Jenkins URL at https:// is served through the VIP on port 32083.
I can access the Jenkins webui and it works as expected. I have configured external ubuntu slaves for handling the builds.These slaves work as expected.
I am now trying to configure an external windows VM as the slave.
All K8s, ubuntu slaves and windows slaves use JDK8
Here is the helm chart values.yaml for the UI port and the slavelistener.
ServicePort: 8080
ServiceType: NodePort
NodePort: 32083
ServiceAnnotations: {}
ContainerPort: 8080
SlaveListenerPort: 50000
Here is the config at the loadbalancer:
ltm virtual -50000 {
description -50000
destination :50000
ip-protocol tcp
mask x.x.x.x
pool pool--50000
profiles {
http-xforwarded-xproto-https { }
tcp { }
xxx-clientssl {
context clientside
}
}
ltm pool pool-xxxxx-50000 {
members {
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
:32083 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Here is the error I get when I try to launch the Java webstart slave JNLP from the windows VM
INFO: Protocol JNLP4-connect encountered an unexpected exception
java.util.concurrent.ExecutionException: org.jenkinsci.remoting.protocol
ConnectionRefusalException: Connection closed before acknowledgement sent
hudson.remoting.jnlp.Main$CuiListener status
INFO: Agent discovery successful
Agent address: xxxx
Agent port: 50000
Identity: xxxxx
hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to xxxx:50000
hudson.remoting.jnlp.Main$CuiListener status
INFO: Trying protocol: JNLP4-connect
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 acknowledgement sent
at org.jenkinsci.remoting.util.SettableFuture.get(SettableFuture.java:22
3)
at hudson.remoting.Engine.innerRun(Engine.java:614)
at hudson.remoting.Engine.run(Engine.java:474)
Caused by: org.jenkinsci.remoting.protocol.impl.ConnectionRefusalException: Conn
ection closed before acknowledgement sent
at org.jenkinsci.remoting.protocol.impl.AckFilterLayer.onRecvClosed(AckF
ilterLayer.java:280)
at org.jenkinsci.remoting.protocol.ProtocolStack$Ptr.onRecvClosed(Protoc
olStack.java:816)
I have even changed the loadbalancer config to look like this
ltm pool pool--50000 {
members {
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
:50000 {
address x.x.x.x
session monitor-enabled
state up
}
}
monitor http
}
Also set the -Dhudson.TcpSlaveAgentListener.hostName= during Jenkins start. Also set the "Tunnel connection through" to ":" in the Windows slave node configuration.
End up getting the same error as above every time. Any configuration at the Kubernetes setup or loadbalancer that I am missing here?
jnlp
jnlp
asked Jan 4 at 7:51
RammyRammy
11
11
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1390410%2fjenkins-windows-vm-slave-fails-while-connecting-to-jenkins-master%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1390410%2fjenkins-windows-vm-slave-fails-while-connecting-to-jenkins-master%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown