Details

    • Type: Task
    • Status: Resolved
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 2.6
    • Component/s: Development
    • Security Level: Public (Public: Anyone can view)
    • Labels:
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required

      Description

      With the introduction of the ojb-1.0.4-patch9 to Rice 2.6 (KULRICE-14265) Java 8 is required. Because of that all our Rice 2.6 testing should be done with Java 8.

      Upgrade the deploy job and environments to use Java 8.

      FYI:
      Messages such as Unsupported major.minor version 52.0 hint on a java version compatibility issue.
      Java 8 = 52
      Java 7 = 51

        Attachments

          Issue Links

            Activity

            Hide
            cniesen Claus Niesen added a comment - - edited

            To get tomcat running under Java 8 in env2 I did the following:

            • On the ci.kuali.org server:
              • scp -r /usr/java/jdk8-1.8.0-u11 root@env2.rice.kuali.org:/usr/java/
            • On env2.rice.kuali.org server:
              • {{ln -s /usr/java/jdk8-1.8.0-u11/ /usr/java/jdk8
                Now Java 8 is installed. Next we need to install a never version of tomcat. The older version has issue with java 8.
              • wget http://mirrors.ibiblio.org/apache/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz
              • tar -zxvf apache-tomcat-7.0.63.tar.gz -C /usr/local/
              • cp /usr/local/tomcat/lib/mysql-connector-java-5.1.26.jar /usr/local/apache-tomcat-7.0.63/lib/
              • cp /usr/local/tomcat/lib/spring-instrument-tomcat-4.1.4.RELEASE.jar /usr/local/apache-tomcat-7.0.63/lib/
              • mv /usr/local/apache-tomcat-7.0.63/conf/server.xml /usr/local/apache-tomcat-7.0.63/conf/server.xml.dist
              • cp /usr/local/tomcat/conf/server.xml /usr/local/apache-tomcat-7.0.63/conf/
              • mv /usr/local/apache-tomcat-7.0.63/conf/web.xml /usr/local/apache-tomcat-7.0.63/conf/web.xml.dist
              • cp /usr/local/tomcat/conf/web.xml /usr/local/apache-tomcat-7.0.63/conf/
              • unlink /usr/local/tomcat
              • ln -s /usr/local/apache-tomcat-7.0.63 /usr/local/tomcat
              • chown -R tomcat /usr/local/apache-tomcat-7.0.63/
              • chgrp -R tomcat /usr/local/apache-tomcat-7.0.63/
              • rm apache-tomcat-7.0.63.tar.gz
                Tomcat is run under the tomcat user. (See last command in /etc/rc.local which starts tomcat on server bootup.) Tomcat uses the environment variable to determine the java location.
              • Modify JAVA_HOME in /home/tomcat/.bashrc to point to /usr/java/jdk8
                That's it. Reboot and verify.
              • reboot
            Show
            cniesen Claus Niesen added a comment - - edited To get tomcat running under Java 8 in env2 I did the following: On the ci.kuali.org server: scp -r /usr/java/jdk8-1.8.0-u11 root@env2.rice.kuali.org:/usr/java/ On env2.rice.kuali.org server: {{ln -s /usr/java/jdk8-1.8.0-u11/ /usr/java/jdk8 Now Java 8 is installed. Next we need to install a never version of tomcat. The older version has issue with java 8. wget http://mirrors.ibiblio.org/apache/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz tar -zxvf apache-tomcat-7.0.63.tar.gz -C /usr/local/ cp /usr/local/tomcat/lib/mysql-connector-java-5.1.26.jar /usr/local/apache-tomcat-7.0.63/lib/ cp /usr/local/tomcat/lib/spring-instrument-tomcat-4.1.4.RELEASE.jar /usr/local/apache-tomcat-7.0.63/lib/ mv /usr/local/apache-tomcat-7.0.63/conf/server.xml /usr/local/apache-tomcat-7.0.63/conf/server.xml.dist cp /usr/local/tomcat/conf/server.xml /usr/local/apache-tomcat-7.0.63/conf/ mv /usr/local/apache-tomcat-7.0.63/conf/web.xml /usr/local/apache-tomcat-7.0.63/conf/web.xml.dist cp /usr/local/tomcat/conf/web.xml /usr/local/apache-tomcat-7.0.63/conf/ unlink /usr/local/tomcat ln -s /usr/local/apache-tomcat-7.0.63 /usr/local/tomcat chown -R tomcat /usr/local/apache-tomcat-7.0.63/ chgrp -R tomcat /usr/local/apache-tomcat-7.0.63/ rm apache-tomcat-7.0.63.tar.gz Tomcat is run under the tomcat user. (See last command in /etc/rc.local which starts tomcat on server bootup.) Tomcat uses the environment variable to determine the java location. Modify JAVA_HOME in /home/tomcat/.bashrc to point to /usr/java/jdk8 That's it. Reboot and verify. reboot
            Hide
            cniesen Claus Niesen added a comment - - edited

            To get CI deploy the WAR file to the environment:

            Unfortunately I haven't been able to figure out why deploy to env2 fails. I given up on that and just use scripts to deploy the war:

            • disable the following commands in the CI job
              #cd $WORKSPACE/rice-middleware/sampleapp
              mvn30 initialize -Pkdo -Ddeploy.env=$DEPLOYENV -Dmonitoring.enabled=$MONITORINGENABLED -Djdbc.reset.skip=true
            • Add
              scp -r $WORKSPACE/db root@env$DEPLOYENV.rice.kuali.org:rice-impex/
              ssh root@env$DEPLOYENV.rice.kuali.org rice-impex/impex.sh
              
              scp $WORKSPACE/rice-middleware/sampleapp/target/rice-sampleapp-2.6.0-M1-SNAPSHOT.war root@env$DEPLOYENV.rice.kuali.org:/usr/local/tomcat/webapps/ROOT.war

              Notice the version number. It would be nice not to hard code this.

            Create the /root/rice-impex/ directory and with the following file.

            impex.sh
            /opt/asf/mvn/bin/mvn clean install -Pdb,mysql -Dimpex.dba.username=<dba-username> -Dimpex.dba.password=<dba-passwd> -Dimpex.dba.url=jdbc:mysql://mysql.rice.kuali.org -Dimpex.database=<db-name> -f db/impex/master/pom.xml
            

            Make sure the file is executable (chmod u+w impex.sh).

            One thing that didn't work is the ACUNETIX key file upload. This file is needed so that ACUNETIX can perform a security scan against the environment. The file gets uploaded before tomcat extracted the WAR file and once tomcat does this we loose the uploaded key file. To fix that put the sleep 5m statement before the scp of the ACUNETIX file. The 5 minute delay should allow the extraction of the war file.

            Show
            cniesen Claus Niesen added a comment - - edited To get CI deploy the WAR file to the environment: Unfortunately I haven't been able to figure out why deploy to env2 fails. I given up on that and just use scripts to deploy the war: disable the following commands in the CI job #cd $WORKSPACE/rice-middleware/sampleapp mvn30 initialize -Pkdo -Ddeploy.env=$DEPLOYENV -Dmonitoring.enabled=$MONITORINGENABLED -Djdbc.reset.skip=true Add scp -r $WORKSPACE/db root@env$DEPLOYENV.rice.kuali.org:rice-impex/ ssh root@env$DEPLOYENV.rice.kuali.org rice-impex/impex.sh scp $WORKSPACE/rice-middleware/sampleapp/target/rice-sampleapp-2.6.0-M1-SNAPSHOT.war root@env$DEPLOYENV.rice.kuali.org:/usr/local/tomcat/webapps/ROOT.war Notice the version number. It would be nice not to hard code this. Create the /root/rice-impex/ directory and with the following file. impex.sh /opt/asf/mvn/bin/mvn clean install -Pdb,mysql -Dimpex.dba.username=<dba-username> -Dimpex.dba.password=<dba-passwd> -Dimpex.dba.url=jdbc:mysql: //mysql.rice.kuali.org -Dimpex.database=<db-name> -f db/impex/master/pom.xml Make sure the file is executable ( chmod u+w impex.sh ). One thing that didn't work is the ACUNETIX key file upload. This file is needed so that ACUNETIX can perform a security scan against the environment. The file gets uploaded before tomcat extracted the WAR file and once tomcat does this we loose the uploaded key file. To fix that put the sleep 5m statement before the scp of the ACUNETIX file. The 5 minute delay should allow the extraction of the war file.
            Hide
            cniesen Claus Niesen added a comment -

            Jeff, it looks like the changes are working. The following still needs to be done:

            • upgrade env4 to Java 8 (see two comments above on how to do it)
            • ensure that all jobs are running successfully (unit test, integration tests, deploys, afts)
            • remove Java 8 specific jobs since we don't need them anymore:
              • rice-2.6-deploy-functional-env15-rice-sampleapp
              • rice-2.6-deploy-functional-env3-jdk8-krad-sampleapp
              • rice-2.6-deploy-functional-env3-rice-sampleapp-like-env2
              • rice-2.6-deploy-functional-env5-rice-rest
              • rice-2.6-deploy-functional-env5-rice-sampleapp-test
              • rice-2.6-test-env2-rice-sampleapp-SHANNON (check with Shannon)
              • rice-2.6-test-functional-env15-jenkins-jdk8-rice-sampleapp
              • rice-2.6-test-functional-env3-jenkins-jdk8-krad-sampleapp
              • rice-2.6-test-integration-jdk8-mysql
              • rice-2.6-test-integration-mysql-qs-issue
              • rice-2.6-test-regression-env15-jenkins-jdk8-rice-sampleapp
              • rice-2.6-test-regression-env3-jenkins-jdk8-krad-sampleapp
            Show
            cniesen Claus Niesen added a comment - Jeff , it looks like the changes are working. The following still needs to be done: upgrade env4 to Java 8 (see two comments above on how to do it) ensure that all jobs are running successfully (unit test, integration tests, deploys, afts) remove Java 8 specific jobs since we don't need them anymore: rice-2.6-deploy-functional-env15-rice-sampleapp rice-2.6-deploy-functional-env3-jdk8-krad-sampleapp rice-2.6-deploy-functional-env3-rice-sampleapp-like-env2 rice-2.6-deploy-functional-env5-rice-rest rice-2.6-deploy-functional-env5-rice-sampleapp-test rice-2.6-test-env2-rice-sampleapp-SHANNON (check with Shannon) rice-2.6-test-functional-env15-jenkins-jdk8-rice-sampleapp rice-2.6-test-functional-env3-jenkins-jdk8-krad-sampleapp rice-2.6-test-integration-jdk8-mysql rice-2.6-test-integration-mysql-qs-issue rice-2.6-test-regression-env15-jenkins-jdk8-rice-sampleapp rice-2.6-test-regression-env3-jenkins-jdk8-krad-sampleapp
            Hide
            jruch Jeff Ruch added a comment -

            Update env4
            Updated rice-2.6-deploy-functional-env4-krad-sampleapp
            Updated rice-2.6-test-functional-env4-jenkins-krad-sampleapp
            Deleted jobs as suggested

            Show
            jruch Jeff Ruch added a comment - Update env4 Updated rice-2.6-deploy-functional-env4-krad-sampleapp Updated rice-2.6-test-functional-env4-jenkins-krad-sampleapp Deleted jobs as suggested
            Hide
            jruch Jeff Ruch added a comment -

            env4 functional test has issues, but the priority of this ticket has been dropped.

            Show
            jruch Jeff Ruch added a comment - env4 functional test has issues, but the priority of this ticket has been dropped.

              People

              • Assignee:
                jruch Jeff Ruch
                Reporter:
                cniesen Claus Niesen
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: