Jenkins Windows VM Slave fails while connecting to Jenkins Master












0















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?










share|improve this question



























    0















    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?










    share|improve this question

























      0












      0








      0








      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?










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 4 at 7:51









      RammyRammy

      11




      11






















          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
          });


          }
          });














          draft saved

          draft discarded


















          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
















          draft saved

          draft discarded




















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

          Alcedinidae

          Origin of the phrase “under your belt”?