JEP draft posted: WebSocket Services

25 views
Skip to first unread message

Jesse Glick

unread,
Nov 25, 2019, 12:01:10 PM11/25/19
to Jenkins Dev
Should have sent a message about this on Friday but Gmail was being
cranky. Anyway:

https://github.com/jenkinsci/jep/pull/250

tl;dr: This lets “inbound” agents (`JNLPLauncher`) make a Remoting
connection to the master via a WebSocket upgrade on the HTTP port
rather than using the TCP port, to simplify Jenkins setup in special
network topologies (including basically any Kubernetes installation).
Currently working at a prototype level.

Comments welcome on either the JEP or the linked draft implementation PRs.

Kohsuke Kawaguchi

unread,
Nov 25, 2019, 12:46:58 PM11/25/19
to JenkinsCI Developers
Yay, something I've long been advocating for!! Super exciting.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3kAyx0oqVSTGEkf8PRA84i803VBKw5pUe9oT0RqJ1XLg%40mail.gmail.com.


--
Kohsuke Kawaguchi

Jeff Thompson

unread,
Nov 26, 2019, 4:31:56 PM11/26/19
to jenkin...@googlegroups.com
The JEP is nicely done and very explanatory for anyone who wants to
learn about this new, upcoming capability. I've done a preliminary
review of the four linked draft implementation PRs. They look good so
far. Looks like we should be able to get this feature in nicely without
disrupting anything.

This will be a great connection mechanism to have.

Jeff Thompson

Jesse Glick

unread,
Dec 20, 2019, 11:01:43 PM12/20/19
to Jenkins Dev
The JEP was accepted as draft:

https://github.com/jenkinsci/jep/blob/master/jep/222/README.adoc

though there are still pending edits:

https://github.com/jenkinsci/jep/pull/255

Since the JEP draft was filed, there have been a number of fixes, but
the major addition is a WebSocket-based CLI transport, which should be
welcome news for anyone who struggled to get the old “full-duplex
HTTP” CLI transport to work through a reverse proxy. Also the agent
code was reworked to integrate with some APIs which permit usage from
shared agents in CloudBees Core, and perhaps other scenarios.

Everything is working at this point that I know of, though there are
still a couple of test issues, and without Incrementals working it is
tricky to check CI status:

https://github.com/jenkinsci/winstone/pull/79
https://github.com/jenkinsci/jenkins-test-harness/pull/183
https://github.com/jenkinsci/remoting/pull/357
https://github.com/jenkinsci/jenkins/pull/4369
https://github.com/jenkinsci/docker-jnlp-slave/pull/130
https://github.com/jenkinsci/kubernetes-plugin/pull/661

Please take a look and build from sources if you are interested. In
the new year I will try to polish things up and prepare for merge if
there are no obstacles.
Reply all
Reply to author
Forward
0 new messages