Skip to content

Commit

Permalink
CLOUDSTACK-9710: Switch to JRE1.8
Browse files Browse the repository at this point in the history
- Switches Travis to use jdk1.8
- Changes java-version to 1.8
- Change jdk/maven version to 1.8
- Switch to F5/java8 compatible library release
- Switch packaging to use jdk 1.8, and jre 1.8 in init/systemd scripts
- Switch systemvm to openjdk-8-jre

Signed-off-by: Rohit Yadav <[email protected]>
  • Loading branch information
rohityadavcloud committed Jan 11, 2017
1 parent 729ae6d commit e6cc78f
Show file tree
Hide file tree
Showing 19 changed files with 55 additions and 34 deletions.
2 changes: 1 addition & 1 deletion .java-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.7
1.8
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ sudo: required
dist: trusty
language: java
jdk:
- oraclejdk7
- oraclejdk8
python:
- "2.7"
cache:
Expand Down
8 changes: 4 additions & 4 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Source: cloudstack
Section: libs
Priority: extra
Maintainer: Wido den Hollander <[email protected]>
Build-Depends: debhelper (>= 9), openjdk-8-jdk | java8-sdk | java8-jdk | openjdk-7-jdk, genisoimage,
Build-Depends: debhelper (>= 9), openjdk-8-jdk | java8-sdk | java8-jdk, genisoimage,
python-mysql.connector, maven (>= 3) | maven3, python (>= 2.7), lsb-release, dh-systemd
Standards-Version: 3.8.1
Homepage: http://www.cloudstack.org/
Expand All @@ -15,14 +15,14 @@ Description: A common package which contains files which are shared by several C

Package: cloudstack-management
Architecture: all
Depends: ${misc:Depends}, ${python:Depends}, cloudstack-common (= ${source:Version}), tomcat6 | tomcat7, sudo, jsvc, python-mysql.connector, libmysql-java, augeas-tools, mysql-client, adduser, bzip2, ipmitool, lsb-release
Depends: ${misc:Depends}, ${python:Depends}, openjdk-8-jre-headless | java8-runtime-headless | java8-runtime, cloudstack-common (= ${source:Version}), tomcat6 | tomcat7, sudo, jsvc, python-mysql.connector, libmysql-java, augeas-tools, mysql-client, adduser, bzip2, ipmitool, lsb-release
Conflicts: cloud-server, cloud-client, cloud-client-ui
Description: CloudStack server library
The CloudStack management server

Package: cloudstack-agent
Architecture: all
Depends: ${python:Depends}, openjdk-8-jre-headless | java8-runtime-headless | java8-runtime | openjdk-7-jre-headless, cloudstack-common (= ${source:Version}), lsb-base (>= 4.0), libcommons-daemon-java, openssh-client, qemu-kvm (>= 1.0), libvirt-bin (>= 0.9.8), uuid-runtime, iproute, ebtables, vlan, jsvc, ipset, python-libvirt, ethtool, iptables, lsb-release
Depends: ${python:Depends}, openjdk-8-jre-headless | java8-runtime-headless | java8-runtime, cloudstack-common (= ${source:Version}), lsb-base (>= 4.0), libcommons-daemon-java, openssh-client, qemu-kvm (>= 1.0), libvirt-bin (>= 0.9.8), uuid-runtime, iproute, ebtables, vlan, jsvc, ipset, python-libvirt, ethtool, iptables, lsb-release
Recommends: init-system-helpers
Conflicts: cloud-agent, cloud-agent-libs, cloud-agent-deps, cloud-agent-scripts
Description: CloudStack agent
Expand All @@ -32,7 +32,7 @@ Description: CloudStack agent

Package: cloudstack-usage
Architecture: all
Depends: openjdk-8-jre-headless | java8-runtime-headless | java8-runtime | openjdk-7-jre-headless, cloudstack-common (= ${source:Version}), jsvc, libmysql-java
Depends: openjdk-8-jre-headless | java8-runtime-headless | java8-runtime, cloudstack-common (= ${source:Version}), jsvc, libmysql-java
Recommends: init-system-helpers
Description: CloudStack usage monitor
The CloudStack usage monitor provides usage accounting across the entire cloud for
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public interface NetworkOrchestrationService {
static final String NetworkThrottlingRateCK = "network.throttling.rate";
static final String MinVRVersionCK = "minreq.sysvmtemplate.version";

static final ConfigKey<String> MinVRVersion = new ConfigKey<String>(String.class, MinVRVersionCK, "Advanced", "4.6.0",
static final ConfigKey<String> MinVRVersion = new ConfigKey<String>(String.class, MinVRVersionCK, "Advanced", "4.10.0",
"What version should the Virtual Routers report", true, ConfigKey.Scope.Zone, null);

static final ConfigKey<Integer> NetworkLockTimeout = new ConfigKey<Integer>(Integer.class, NetworkLockTimeoutCK, "Network", "600",
Expand Down
2 changes: 1 addition & 1 deletion packaging/build-deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ set -e
# docker run -ti -v /tmp:/src ubuntu:16.04 /bin/bash -c "apt-get update && apt-get install -y dpkg-dev python debhelper openjdk-8-jdk genisoimage python-mysql.connector maven lsb-release devscripts dh-systemd python-setuptools && /src/cloudstack/packaging/build-deb.sh"
#
# Ubuntu 14.04
# docker run -ti -v /tmp:/src ubuntu:14.04 /bin/bash -c "apt-get update && apt-get install -y dpkg-dev python debhelper openjdk-7-jdk genisoimage python-mysql.connector maven lsb-release devscripts dh-systemd python-setuptools && /src/cloudstack/packaging/build-deb.sh"
# docker run -ti -v /tmp:/src ubuntu:14.04 /bin/bash -c "apt-get update && apt-get install -y dpkg-dev python debhelper openjdk-8-jdk genisoimage python-mysql.connector maven lsb-release devscripts dh-systemd python-setuptools && /src/cloudstack/packaging/build-deb.sh"
#

cd `dirname $0`
Expand Down
2 changes: 1 addition & 1 deletion packaging/centos63/cloud-agent.rc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ unset OPTIONS
[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME"

# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun"
JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-1.8.0 /usr/lib/jvm/java-8-openjdk /usr/lib/jvm/java-8-openjdk-i386 /usr/lib/jvm/java-8-openjdk-amd64"

for jdir in $JDK_DIRS; do
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
Expand Down
8 changes: 4 additions & 4 deletions packaging/centos63/cloud.spec
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Group: System Environment/Libraries
Source0: %{name}-%{_maventag}.tgz
BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build

BuildRequires: java-1.7.0-openjdk-devel
BuildRequires: java-1.8.0-openjdk-devel
BuildRequires: tomcat6
BuildRequires: ws-commons-util
BuildRequires: jpackage-utils
Expand All @@ -60,7 +60,7 @@ intelligent IaaS cloud implementation.
%package management
Summary: CloudStack management server UI
Requires: tomcat6
Requires: java-1.7.0-openjdk
Requires: java-1.8.0-openjdk
Requires: python
Requires: bash
Requires: bzip2
Expand Down Expand Up @@ -113,7 +113,7 @@ The Apache CloudStack files shared between agent and management server
%package agent
Summary: CloudStack Agent for KVM hypervisors
Requires: openssh-clients
Requires: java-1.7.0-openjdk
Requires: java-1.8.0-openjdk
Requires: %{name}-common = %{_ver}
Requires: libvirt
Requires: bridge-utils
Expand Down Expand Up @@ -152,7 +152,7 @@ The CloudStack baremetal agent

%package usage
Summary: CloudStack Usage calculation server
Requires: java-1.7.0-openjdk
Requires: java-1.8.0-openjdk
Requires: jsvc
Requires: jakarta-commons-daemon
Requires: jakarta-commons-daemon-jsvc
Expand Down
2 changes: 1 addition & 1 deletion packaging/centos7/cloud-agent.rc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ unset OPTIONS
[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME"

# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun"
JDK_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/java-1.8.0-openjdk /usr/lib/jvm/java-8-openjdk-i386 /usr/lib/jvm/java-8-openjdk-amd64"

for jdir in $JDK_DIRS; do
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
Expand Down
8 changes: 4 additions & 4 deletions packaging/centos7/cloud.spec
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Group: System Environment/Libraries
Source0: %{name}-%{_maventag}.tgz
BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build

BuildRequires: java-1.7.0-openjdk-devel
BuildRequires: java-1.8.0-openjdk-devel
BuildRequires: tomcat => 7.0
BuildRequires: ws-commons-util
BuildRequires: jpackage-utils
Expand All @@ -60,7 +60,7 @@ intelligent IaaS cloud implementation.
%package management
Summary: CloudStack management server UI
Requires: tomcat => 7.0
Requires: java => 1.7.0
Requires: java => 1.8.0
Requires: python
Requires: bash
Requires: bzip2
Expand Down Expand Up @@ -99,7 +99,7 @@ The Apache CloudStack files shared between agent and management server
%package agent
Summary: CloudStack Agent for KVM hypervisors
Requires: openssh-clients
Requires: java => 1.7.0
Requires: java => 1.8.0
Requires: %{name}-common = %{_ver}
Requires: libvirt
Requires: bridge-utils
Expand Down Expand Up @@ -131,7 +131,7 @@ The CloudStack baremetal agent

%package usage
Summary: CloudStack Usage calculation server
Requires: java => 1.7.0
Requires: java => 1.8.0
Requires: mysql-connector-java
Group: System Environment/Libraries
%description usage
Expand Down
2 changes: 1 addition & 1 deletion packaging/debian/cloudstack-agent.init
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ unset OPTIONS
mkdir -m 0755 -p "$TMP"

# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-6-openjdk /usr/lib/jvm/java-6-openjdk-i386 /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-6-sun"
JDK_DIRS="/usr/lib/jvm/java-8-openjdk-amd64 /usr/lib/jvm/java-8-openjdk-i386 /usr/lib/jvm/java-8-oracle"

for jdir in $JDK_DIRS; do
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
Expand Down
2 changes: 1 addition & 1 deletion packaging/debian/cloudstack-usage.init
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ setJavaHome() {

# If everything has failed, try hardcoded paths
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-sun"
JDK_DIRS="/usr/lib/jvm/java-8-openjdk-amd64 /usr/lib/jvm/java-8-openjdk-i386 /usr/lib/jvm/java-8-oracle /usr/lib/jvm/java-8-openjdk"
for jdir in $JDK_DIRS; do
if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
JAVA_HOME="$jdir"
Expand Down
2 changes: 1 addition & 1 deletion packaging/debian/init/cloud-management
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ TOMCAT6_USER=tomcat6

# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not
# defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/java-7-openjdk-amd64 /usr/lib/jvm/java-7-openjdk-i386 /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-sun"
JDK_DIRS="/usr/lib/jvm/java-8-openjdk-amd64 /usr/lib/jvm/java-8-openjdk-i386 /usr/lib/jvm/java-8-oracle /usr/lib/jvm/java-8-openjdk"

# Look for the right JVM to use
for jdir in $JDK_DIRS; do
Expand Down
6 changes: 5 additions & 1 deletion plugins/network-elements/f5/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,14 @@
<relativePath>../../pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
</dependency>
<dependency>
<groupId>com.cloud.com.f5</groupId>
<artifactId>icontrol</artifactId>
<version>1.0</version>
<version>12.1</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
</issueManagement>

<properties>
<cs.jdk.version>1.7</cs.jdk.version>
<cs.jdk.version>1.8</cs.jdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

Expand Down
8 changes: 7 additions & 1 deletion tools/appliance/definitions/systemvmtemplate/apt_upgrade.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ set -e
set -x

function add_backports() {
sed -i '/cdrom/d' /etc/apt/sources.list
sed -i '/deb-src/d' /etc/apt/sources.list
sed -i '/backports/d' /etc/apt/sources.list
echo 'deb http://http.debian.net/debian wheezy-backports main' >> /etc/apt/sources.list
}
Expand All @@ -30,9 +32,13 @@ function apt_upgrade() {

add_backports

apt-get clean
rm -fv /root/*.iso
apt-get -y autoremove
apt-get autoclean
apt-get -q -y --force-yes update
apt-get -q -y --force-yes upgrade

df -h
}

return 2>/dev/null || apt_upgrade
4 changes: 2 additions & 2 deletions tools/appliance/definitions/systemvmtemplate/definition.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
config = {
:cpu_count => '1',
:memory_size => '256',
:disk_size => '3000', :disk_format => 'VDI', :hostiocache => 'off',
:disk_size => '3200', :disk_format => 'VDI', :hostiocache => 'off',
:iso_download_timeout => '1200',
:boot_wait => '10',
:boot_cmd_sequence => [
Expand Down Expand Up @@ -71,7 +71,7 @@
:ssh_key => '',
:ssh_host_port => '7222',
:ssh_guest_port => '22',
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
:sudo_cmd => "echo '%p'|sudo -S bash '%f'",
:shutdown_cmd => 'halt -p',
:postinstall_files => [
# basic minimal vm creation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,12 @@ function debconf_packages() {
echo "openswan openswan/install_x509_certificate seen true" | debconf-set-selections
echo "iptables-persistent iptables-persistent/autosave_v4 boolean true" | debconf-set-selections
echo "iptables-persistent iptables-persistent/autosave_v6 boolean true" | debconf-set-selections
echo "libc6 libraries/restart-without-asking boolean false" | debconf-set-selections
}

function install_packages() {
DEBIAN_FRONTEND=noninteractive
DEBIAN_PRIORITY=critical
export DEBIAN_FRONTEND=noninteractive
export DEBIAN_PRIORITY=critical
local arch=`dpkg --print-architecture`

debconf_packages
Expand Down Expand Up @@ -67,7 +68,6 @@ function install_packages() {
xenstore-utils libxenstore3.0 \
conntrackd ipvsadm libnetfilter-conntrack3 libnl-3-200 libnl-genl-3-200 \
ipcalc \
openjdk-7-jre-headless \
iptables-persistent \
libtcnative-1 libssl-dev libapr1-dev \
python-flask \
Expand All @@ -89,10 +89,21 @@ function install_packages() {
dpkg -i hv-kvp-daemon_3.1_amd64.deb
rm -f hv-kvp-daemon_3.1_amd64.deb
# XS tools
wget https://raw.githubusercontent.com/bhaisaab/cloudstack-nonoss/master/xe-guest-utilities_6.5.0_amd64.deb
wget --no-check-certificate https://raw.githubusercontent.com/rhtyd/cloudstack-nonoss/master/xe-guest-utilities_6.5.0_amd64.deb
md5sum xe-guest-utilities_6.5.0_amd64.deb
dpkg -i xe-guest-utilities_6.5.0_amd64.deb
rm -f xe-guest-utilities_6.5.0_amd64.deb
fi

# Install OpenJDK8 pkgs maintained by Azul
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x219BD9C9
echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list
apt-get -y autoremove
apt-get autoclean
apt-get clean
apt-get update
${apt_get} install zulu-8
java -version
}

return 2>/dev/null || install_packages
4 changes: 2 additions & 2 deletions tools/appliance/definitions/systemvmtemplate/preseed.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ d-i partman-auto/expert_recipe string \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /home } \
. \
800 60 1400 ext4 \
1000 60 1400 ext4 \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /usr } \
Expand All @@ -75,7 +75,7 @@ d-i partman-auto/expert_recipe string \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /var } \
. \
200 50 500 ext4 \
400 50 500 ext4 \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ /var/log } \
Expand Down
4 changes: 2 additions & 2 deletions tools/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ FROM ubuntu:14.04
MAINTAINER "Apache CloudStack" <[email protected]>
LABEL Vendor="Apache.org" License="ApacheV2" Version="4.10.0.0-SNAPSHOT"

RUN apt-get -y update && apt-get install -y \
RUN add-apt-repository -y ppa:openjdk-r/ppa && apt-get -y update && apt-get install -y \
genisoimage \
libffi-dev \
libssl-dev \
git \
maven \
openjdk-7-jdk \
openjdk-8-jdk \
python-dev \
python-setuptools \
python-pip \
Expand Down

0 comments on commit e6cc78f

Please sign in to comment.