You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by rhtyd <gi...@git.apache.org> on 2016/05/13 10:54:02 UTC

[GitHub] cloudstack pull request: [4.10+/long-term] Moving towards Java8 an...

GitHub user rhtyd opened a pull request:

    https://github.com/apache/cloudstack/pull/1546

    [4.10+/long-term] Moving towards Java8 and Spring4

    This is a long term fix aiming to do following:
    - Use Java8 for both building and running CloudStack
    - Use Spring-framework 4.2.x
    - Use latest Jetty
    
    Outstanding issues:
    - F5 fails to compile, it has been disabled. F5 authors/maintainers need to have a look.
    - com/cloud/vm/DeploymentPlanningManagerImplTest.java failed, I could not fix it so disabled it for now.
    
    Testing:
    - Built and ran mgmt sever, deployed an env simulator
    - Ran some smoke tests, TravisCI updated to run tests with JDK8.
    
    TODOs:
    - Fix any issues that may come due to Spring-framework migration (we only use spring-context, spring-aop, spring-beans in most places)
    - SystemVM agent testing
    - Upgrade Java8 in systemvmtemplate
    - Packaging related fixes
    - JAVA_OPTS/JVM fixes to support JRE8
    - Migrate towards embedded jetty

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/shapeblue/cloudstack java8-spring4-towardslts

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cloudstack/pull/1546.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1546
    
----
commit 540d9572fd491db3ce182d26636fc74ada4e171c
Author: Rohit Yadav <ro...@shapeblue.com>
Date:   2016-05-13T03:24:24Z

    CLOUDSTACK-9348: Make NioConnectio loop less aggressive
    
    - Reverts ea2286 that introduced a wakeup on each connection loop run.
    - In SSL handshake code removes delegated tasks to be run in separate threads.
    
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

commit ae0f169123158c23898316a32b413f4647d0c456
Author: Rohit Yadav <ro...@shapeblue.com>
Date:   2016-05-13T03:39:58Z

    CLOUDSTACK-9299: Fix test failures on CI
    
    - Fixes oobm integration test to skip if known ipmitool bug is hit
    - Fixes ProcessTest unit test case to use sleep
    - Removes redundant unit test that covers code in ProcessTest
    
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

commit acc781d0866b3d14fd098f5933621d29351d3f7a
Author: Rohit Yadav <ro...@shapeblue.com>
Date:   2016-05-13T08:46:06Z

    test: fix cleanup sequence for test_acl_listvolume test
    
    Changes the cleanup sequence as the cleanup code causes exceptions in
    several Travis runs such as:
    https://travis-ci.org/apache/cloudstack/jobs/129925224
    
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

commit 091a96f301cd1fdcdec678dd653b028d79a7535d
Author: Rohit Yadav <ro...@shapeblue.com>
Date:   2016-05-13T10:26:48Z

    java8: Fix maven configs to allow building with JDK8
    
    - 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 <ro...@shapeblue.com>

commit 5434f261676b37760ce4117d4c485f57908ab905
Author: Rohit Yadav <ro...@shapeblue.com>
Date:   2016-05-13T10:46:15Z

    spring4: migrate spring xmls to 4.x
    
    Fixes schema locations that are 3.0 dependent
    
    Signed-off-by: Rohit Yadav <ro...@shapeblue.com>

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1546: [WIP][4.10+/long-term] Moving towards Java8 and Spri...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the issue:

    https://github.com/apache/cloudstack/pull/1546
  
    @rhtyd Can we close this PR in favor of #1638?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-219014328
  
    @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.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-219012985
  
    Request for comments - @jburwell @DaanHoogland @wido @DaanHoogland @abhinandanprateek @imduffy15 @kiwiflyer @terbolous and others


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack issue #1546: [WIP][4.10+/long-term] Moving towards Java8 and Spri...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the issue:

    https://github.com/apache/cloudstack/pull/1546
  
    I'll split this PR.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by rashmidixit <gi...@git.apache.org>.
Github user rashmidixit commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-220524210
  
    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. 



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by wido <gi...@git.apache.org>.
Github user wido commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-219013061
  
    So, this means we will drop Ubuntu 14.04 support. There is no Java 8 available in those repositories


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-219985859
  
    @resmo have you found if Travis specific reliance on oraclejdk7/8 causes any issue with building/testing CloudStack?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by resmo <gi...@git.apache.org>.
Github user resmo commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-219975396
  
    We use, when ever possible, openjdk as we get support from the distribution. Support for openjdk be it 7 or 8, 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.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by jburwell <gi...@git.apache.org>.
Github user jburwell commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-219047291
  
    @rhtyd I think it would be a good idea to this PR up a bit.  I see three distinct pieces:
    
    1. **Spring 4 Upgrade**:  Spring 4 supports both Java7 and Java8.  Therefore, this upgrade can be done without involving Java8.
    2. **Jetty Embedding**:  Again, Jetty 9 supports both Java7 and Java8.  Therefore, this work can be done without involving Java8.
    3. **Java8**: Ideally, this piece should be fairly small -- disabling the F5 plugin, changing the POMs, and a sundry of minor code changes to achieve compilation.
    
    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.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by rhtyd <gi...@git.apache.org>.
Github user rhtyd commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-219203300
  
    @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 at least 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.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by abhinandanprateek <gi...@git.apache.org>.
Github user abhinandanprateek commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-220533410
  
    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.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] cloudstack pull request: [WIP][4.10+/long-term] Moving towards Jav...

Posted by resmo <gi...@git.apache.org>.
Github user resmo commented on the pull request:

    https://github.com/apache/cloudstack/pull/1546#issuecomment-220141803
  
    @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.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---