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-68694] Winstone 6.1: Upgrade Jetty from 9.4.46.v20220331 to 10.0.11 #6801

Merged
merged 11 commits into from
Aug 2, 2022

Conversation

basil
Copy link
Member

@basil basil commented Jul 7, 2022

See JENKINS-68694. Jetty 10.0.x implements Servlet 4.0 (JakartaEE 8/javax.servlet.*). The minimum required Java version for Jetty 10 is now Java 11. For more details about the Jetty 10 release, see this Jetty blog post. Winstone 6.1 removes support for OpenSSL-style PEM-encoded RSA private keys in jenkinsci/winstone#232.

Testing done

Proposed changelog entries

Proposed upgrade guidelines

Support for OpenSSL-style PEM-encoded RSA private keys has been removed when running Jenkins with the embedded Jetty (Winstone) container and TLS. Specifically, the --httpsPrivateKey and --httpsCertificate flags have been removed in favor of the --httpsKeyStore flag. The removed flags have printed deprecation warnings since 2016 and were implemented with non-standard APIs that have since been removed from Java 17. The recommendation is to migrate to the --httpsKeyStore option, which takes a keystore as described in the documentation. As of JEP 229, PKCS12 is the recommended keystore type.

Submitter checklist

  • (If applicable) Jira issue is well described
  • Changelog entries and upgrade guidelines are appropriate for the audience affected by the change (users or developer, depending on the change) and are in the imperative mood. Examples
    • Fill-in the Proposed changelog entries section only if there are breaking changes or other changes which may require extra steps from users during the upgrade
  • Appropriate autotests or explanation to why this change has no tests
  • New public classes, fields, and methods are annotated with @Restricted or have @since TODO Javadoc, as appropriate.
  • New deprecations are annotated with @Deprecated(since="TODO") or @Deprecated(since="TODO", forRemoval=true) if applicable.
  • For dependency updates: links to external changelogs and, if possible, full diffs

Desired reviewers

@mention

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).

@basil basil added the work-in-progress The PR is under active development, not ready to the final review label Jul 7, 2022
@jglick
Copy link
Member

jglick commented Jul 7, 2022

(continuation of #6785, reapplying #6694)

basil added a commit to basil/bom that referenced this pull request Jul 8, 2022
@basil basil force-pushed the ws-JENKINS-68933-jetty-10 branch from c1c2c6d to 93b0889 Compare July 8, 2022 15:01
@basil basil force-pushed the ws-JENKINS-68933-jetty-10 branch from 93b0889 to f5aba77 Compare July 8, 2022 19:00
@basil basil added rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted removed This PR removes a feature or a public API dependencies Pull requests that update a dependency file java Pull requests that update Java code and removed work-in-progress The PR is under active development, not ready to the final review labels Jul 8, 2022
@basil basil marked this pull request as ready for review July 8, 2022 23:47
</systemProperties>
<webApp>
<!-- Allows resources to be reloaded, and enable nicer console logging. -->
<extraClasspath>${project.basedir}/../core/src/main/resources,${project.basedir}/../core/target/classes,${project.build.directory}/support-log-formatter.jar</extraClasspath>
<!-- TODO eclipse/jetty.project#7970 <extraClasspath>${project.basedir}/../core/src/main/resources,${project.basedir}/../core/target/classes,${project.build.directory}/support-log-formatter.jar</extraClasspath> -->
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Is there a workaround to this? i.e. without this we can't live reload resources from what I understand.

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't believe there is, but the pain should be short-lived as this has already been fixed upstream and should be present in the next release of Jetty.

@basil basil changed the title [JENKINS-68694] Winstone 6.0: Upgrade Jetty from 9.4.46.v20220331 to 10.0.11 [JENKINS-68694] Winstone 6.1: Upgrade Jetty from 9.4.46.v20220331 to 10.0.11 Jul 23, 2022
Copy link
Member

@jglick jglick left a comment

Choose a reason for hiding this comment

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

Is this just awaiting another core reviewer to be ready to merge?

(Cheating a bit for me to review as a co-author.)

@basil
Copy link
Member Author

basil commented Aug 1, 2022

Is this just awaiting another core reviewer to be ready to merge?

Yes, it is.

@jglick jglick requested a review from a team August 1, 2022 16:47
@basil
Copy link
Member Author

basil commented Aug 1, 2022

This PR is now ready for merge. We will merge it after approximately 24 hours if there is no negative feedback. Please see the merge process documentation for more information about the merge process. Thanks!

@basil basil added ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback squash-merge-me Unclean or useless commit history, should be merged only with squash-merge labels Aug 1, 2022
@basil basil merged commit cb1bbc7 into jenkinsci:master Aug 2, 2022
@basil basil deleted the ws-JENKINS-68933-jetty-10 branch August 2, 2022 18:26
krisstern pushed a commit to krisstern/jenkins that referenced this pull request Aug 14, 2022
@basil basil added the upgrade-guide-needed This changes might be breaking in rare circumstances, an entry in the LTS upgrade guide is needed label Aug 18, 2022
@jglick jglick mentioned this pull request Sep 13, 2022
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file java Pull requests that update Java code 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 rfe For changelog: Minor enhancement. use `major-rfe` for changes to be highlighted squash-merge-me Unclean or useless commit history, should be merged only with squash-merge 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