Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JENKINS-51820] Removing Java Web Start support #6543

Merged
merged 13 commits into from
May 13, 2022
Merged

Conversation

jglick
Copy link
Member

@jglick jglick commented May 6, 2022

See JENKINS-51820.

Amends #3766.

Preparation for dropping Java 8 support, since we did not support JWS on newer Java versions anyway.

Sanity tested on Linux using inbound TCP and WebSocket agents running simple builds, with and without security enabled, with both Java 8 and 11 for both controller and agent.

Proposed changelog entries

  • Remove Java Web Start support for launching inbound agents, along with the GUI mode, the platform-specific agent installers and the JAR signature.

Proposed upgrade guidelines

Jenkins no longer supports attaching a static inbound agent by clicking the ☕ Launch button from an agent machine’s web browser when running the controller on Java 8, as Java Web Start has been removed from newer versions of most distributions. You should instead download the agent JAR file from the provided link and run the supplied command (java -jar agent.jar -jnlpUrl …) on the agent machine. The JVM options field was removed from inbound launcher configuration as it would no longer have any effect other than adjusting the suggested command.

The control window displayed when using a Java Web Start agent is also removed. Its main function was to be closed (now done by simply terminating the shell process). It also offered a menu with platform-specific agent installers that would offer to create system services to make the agent permanent; you can accomplish something similar in many ways without this GUI, according to your operating system.

Maintainer checklist

Before the changes are marked as ready-for-merge:

  • There are at least 2 approvals for the pull request and no outstanding requests for change
  • Conversations in the pull request are over OR it is explicit that a reviewer does not block the change
  • Changelog entries in the PR title and/or Proposed changelog entries are accurate, human-readable, and in the imperative mood
  • Proper changelog labels are set so that the changelog can be generated automatically
  • If the change needs additional upgrade steps from users, upgrade-guide-needed label is set and there is a Proposed upgrade guidelines section in the PR title. (example)
  • If it would make sense to backport the change to LTS, a Jira issue must exist, be a Bug or Improvement, and be labeled as lts-candidate to be considered (see query).

@jglick jglick changed the title Removing JavaWebStart support Removing Java Web Start support May 6, 2022
@jglick jglick added upgrade-guide-needed This changes might be breaking in rare circumstances, an entry in the LTS upgrade guide is needed removed This PR removes a feature or a public API labels May 6, 2022
@jglick jglick requested a review from a team May 6, 2022 21:42
@jglick jglick added the on-hold This pull request depends on another event/release, and it cannot be merged right now label May 6, 2022
@jglick jglick marked this pull request as ready for review May 6, 2022 21:47
Copy link
Member

@basil basil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice! Presumably https://github.com/jenkinsci/netx can be archived once this PR is merged. I also created #6545 and jenkinsci/extras-executable-war#52 with some additional JNLP-related cleanup.

@jeffret-b
Copy link
Contributor

Basically the only remaining function of the vmargs field is as a “note to self” field where you can write down arguments you would want to pass next time you connect, if you are having a hard time remembering them or something. (Previously it actually controlled what JVM args javaws would pass to the agent. We cannot do that when you run java -jar agent.jar because the JVM is already started.) Perhaps it would make sense to delete this now.

I would go ahead and delete this now.

Copy link
Contributor

@jeffret-b jeffret-b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am strongly in favor of this improvement. I tried a couple of times previously to push this removal through, but wasn't able then to overcome the resistance. There really is no reason to continue supporting JWS, especially as we move forward with Java versions.

This PR covers all of the different areas related to JWS that I can recall. It looks like it handles the changes correctly.

@MarkEWaite MarkEWaite changed the title Removing Java Web Start support [JENKINS-51820] Removing Java Web Start support May 11, 2022
pom.xml Outdated Show resolved Hide resolved
@timja timja removed the on-hold This pull request depends on another event/release, and it cannot be merged right now label May 12, 2022
@timja timja added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label May 12, 2022
@timja
Copy link
Member

timja commented May 12, 2022

This PR is now ready for merge, after ~24 hours, we will merge it if there's no negative feedback.

Thanks!

@jglick

This comment was marked as resolved.

@timja

This comment was marked as outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback removed This PR removes a feature or a public API upgrade-guide-needed This changes might be breaking in rare circumstances, an entry in the LTS upgrade guide is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants