-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[WIP][4.10+/long-term] Moving towards Java8 and Spring4 #1546
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
Conversation
|
Request for comments - @jburwell @DaanHoogland @wido @DaanHoogland @abhinandanprateek @imduffy15 @kiwiflyer @terbolous and others |
|
So, this means we will drop Ubuntu 14.04 support. There is no Java 8 available in those repositories |
|
@wido it's true that the package is not in the default, but Java8 is available through few popular ppa(s). We need to migrate to Java8 since Java7 has EOL-ed for so long, if that means dropping support for distro that don't have it -- then yes. |
|
@rhtyd I think it would be a good idea to this PR up a bit. I see three distinct pieces:
The harder part is that all of these changes will require a full end-to-end test of the system. Finally, for Java8, I suggest that we follow the convention of many of Java-based projects and remove the package dependencies on the JDK. Some users choose to use OpenJDK and others choose Oracle's JDK. Therefore, the current dependency makes an invalid assumption about the JDK users want to use -- making it more difficult to use the implementation of their choice. @wido as @rhtyd points out, Java8 is available via PPAs. IMHO, Ubuntu's decision to keep their distribution out-of-date is not a sufficient reason to continue requiring the use of an unsupported Java runtime. Given the number of significant security issues that have been discovered in the JRE over the past few years, the longer we wait to upgrade to Java8, the greater the risk that a significant security issue arises that forces CloudStack users to either turn off their instances or run and hope no one hacks them. |
5434f26 to
2ca1373
Compare
|
@jburwell Thanks, I'll split the changes into separate PR if everyone demands that. Otherwise each distinct pieces are implemented as separate commits that can be reviewed per commit basis as well. Since, this is long term I'm hoping no testing/merge activity until 4.9.0 releases. While some of the tasks don't require Java8 upgrade, I started working on this for the sole purpose of moving to Java8 because as a developer I want to start using Java8 specific features in CloudStack and that Java7 has reached EOL. I've also listed among these pieces, certain other long term goals around systemvmtemplates, systemd/packaging and reducing distro specific dependencies. |
a0b96de to
b97f264
Compare
|
We use, when ever possible, openjdk as we get support from the distribution. Support for openjdk be it 7 or 8 would be a plus, manually patching oraclejdk is time consuming. RHEL support both openjdk 7 (June 2018) and 8 (October 2020) (see https://access.redhat.com/articles/1299013), to me it would make sense to keep openjdk 8 support in cloudstack. It seems, travis does not support openjdk 8 yet. |
|
@resmo have you found if Travis specific reliance on oraclejdk7/8 causes any issue with building/testing CloudStack? |
|
@rhtyd I am not aware of any no. Just wanted to point out that oracle "sucks" and openjdk should be the jdk that should be tested and supported in the first place as it became the default in all distributions. Same for mariadb btw. |
|
While we are on the topic of updating the tech stack, have we considered moving to using either LESS or Sass for CSS. CSS pre-processors bring more modularity and clarity into the CSS code. |
|
With java 8 we will also get enhanced testing frameworks, specially junit-quickcheck, that will help us in writing more expressive and compact test cases. |
1deda60 to
e69e756
Compare
- Bumps jdk version to 1.8 - Disables F5 plugin as it fails to build - Disable a unit test in server that fails - Bump spring-framework version to 4.x and Jetty to version that runs with JDK8 - Bump servet dependency version - Use JDK8 for Travis CI Signed-off-by: Rohit Yadav <[email protected]>
Fixes schema locations that are 3.0 dependent Signed-off-by: Rohit Yadav <[email protected]>
Changes adapted from PR apache#372 Signed-off-by: Rohit Yadav <[email protected]>
Signed-off-by: Rohit Yadav <[email protected]>
e69e756 to
ec1df13
Compare
|
I'll split this PR. |
|
@rhtyd Can we close this PR in favor of #1638? |
Changes adapted from PR apache#372 and apache#1546 Signed-off-by: Rohit Yadav <[email protected]> WIP packaging (debian) Signed-off-by: Rohit Yadav <[email protected]> (cherry picked from commit ec1df13) Signed-off-by: Rohit Yadav <[email protected]>
WIP embedded jetty support Changes adapted from PR apache#372 and apache#1546 Signed-off-by: Rohit Yadav <[email protected]>
|
Spring4+jdk8 migration successful now with master, closing this. |
This is a
long termchange initiative.Goals:
Outstanding issues:
Testing: