This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/main by this push:
new d7ca05e5ba9 Build: drop EL7 support, support JRE17 for packages and
sonar check (#8609)
d7ca05e5ba9 is described below
commit d7ca05e5ba9e407d9bafe7ef742d3d276935a1d5
Author: Wei Zhou <[email protected]>
AuthorDate: Tue Aug 27 12:39:10 2024 +0200
Build: drop EL7 support, support JRE17 for packages and sonar check (#8609)
This PR fixes the issue with sonar check
```
Error: Failed to execute goal
org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar (default-cli)
on project cloudstack:
Error:
Error: The version of Java (11.0.22) used to run this analysis is
deprecated, and SonarCloud no longer supports it. Please upgrade to Java 17 or
later.
Error: You can find more information here:
https://docs.sonarsource.com/sonarcloud/appendices/scanner-environment/
```
main changes
- Support build/packaging using JDK17
- Still supports JDK11 for building
- Support JRE17 for use in production installation
- Drop EL7 support
The community packages will be still packaged using JDK11.
If uses want, they can build by JDK17 as well.
Signed-off-by: Wei Zhou <[email protected]>
Signed-off-by: Rohit Yadav <[email protected]>
Co-authored-by: Rohit Yadav <[email protected]>
---
.github/workflows/build.yml | 2 +-
.github/workflows/ci.yml | 4 +-
.github/workflows/codecov.yml | 4 +-
.github/workflows/main-sonar-check.yml | 4 +-
.github/workflows/rat.yml | 4 +-
.github/workflows/sonar-check.yml | 4 +-
.github/workflows/ui.yml | 2 +-
INSTALL.md | 2 +-
debian/control | 2 +-
developer/pom.xml | 61 +-
engine/schema/pom.xml | 69 +-
engine/service/pom.xml | 5 +
.../motion/AncientDataMotionStrategyTest.java | 19 +-
packaging/README.md | 8 +-
packaging/centos7/cloud.spec | 725 ---------------------
packaging/centos7/replace.properties | 59 --
packaging/centos8 | 1 +
packaging/centos8/cloud-ipallocator.rc | 95 ---
packaging/centos8/cloud.limits | 19 -
packaging/centos8/cloudstack-agent.te | 33 -
packaging/centos8/cloudstack-sccs | 20 -
packaging/{centos7 => el8}/cloud-ipallocator.rc | 0
packaging/{centos7 => el8}/cloud.limits | 0
packaging/{centos8 => el8}/cloud.spec | 10 +-
packaging/{centos7 => el8}/cloudstack-agent.te | 0
packaging/{centos7 => el8}/cloudstack-sccs | 0
packaging/{centos8 => el8}/replace.properties | 0
packaging/el9 | 2 +-
packaging/package.sh | 16 +-
packaging/suse15 | 2 +-
plugins/api/rate-limit/pom.xml | 2 +-
plugins/hypervisors/hyperv/pom.xml | 3 +-
plugins/network-elements/brocade-vcs/pom.xml | 2 +-
plugins/storage/volume/storpool/pom.xml | 32 +-
plugins/user-authenticators/ldap/pom.xml | 39 +-
.../apache/cloudstack/ldap/LdapTestConfigTool.java | 7 -
pom.xml | 19 +-
server/pom.xml | 2 +-
services/secondary-storage/server/pom.xml | 2 +-
systemvm/pom.xml | 2 +-
tools/apidoc/pom.xml | 2 +-
tools/devcloud-kvm/pom.xml | 2 +-
tools/marvin/pom.xml | 54 +-
usage/pom.xml | 2 +-
44 files changed, 195 insertions(+), 1147 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1c6c90a6183..fd3c8f8ac67 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -43,7 +43,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: '3.8'
+ python-version: '3.10'
architecture: 'x64'
- name: Install Build Dependencies
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 4d083fdd7e6..ceffb42c79b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -226,7 +226,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v5
with:
- python-version: '3.8'
+ python-version: '3.10'
architecture: 'x64'
- name: Install Build Dependencies
@@ -284,7 +284,7 @@ jobs:
- name: Start CloudStack Management Server with Simulator
run: |
- export MAVEN_OPTS="-Xmx4096m -XX:MaxPermSize=800m
-Djava.security.egd=file:/dev/urandom
-javaagent:jacoco/lib/jacocoagent.jar=address=*,port=36320,output=tcpserver"
+ export MAVEN_OPTS="-Xmx4096m -XX:MaxMetaspaceSize=800m
-Djava.security.egd=file:/dev/urandom
-javaagent:jacoco/lib/jacocoagent.jar=address=*,port=36320,output=tcpserver
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-exports=java.base/sun.security.x509=ALL-UNNAMED
--add-opens=java.base/jdk.internal.reflect=ALL-UNNAMED"
echo -e "\nStarting simulator"
set +e
mvn -Dsimulator -Dorg.eclipse.jetty.annotations.maxWait=120 -pl
:cloud-client-ui jetty:run 2>&1 > /tmp/jetty-log || true &
diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml
index a8f923d708d..c77783746ca 100644
--- a/.github/workflows/codecov.yml
+++ b/.github/workflows/codecov.yml
@@ -36,11 +36,11 @@ jobs:
with:
fetch-depth: 0
- - name: Set up JDK11
+ - name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: '11'
+ java-version: '17'
cache: 'maven'
- name: Build CloudStack with Quality Checks
diff --git a/.github/workflows/main-sonar-check.yml
b/.github/workflows/main-sonar-check.yml
index 07d15583c82..8248e48022a 100644
--- a/.github/workflows/main-sonar-check.yml
+++ b/.github/workflows/main-sonar-check.yml
@@ -36,11 +36,11 @@ jobs:
with:
fetch-depth: 0
- - name: Set up JDK11
+ - name: Set up JDK17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: '11'
+ java-version: '17'
cache: 'maven'
- name: Cache SonarCloud packages
diff --git a/.github/workflows/rat.yml b/.github/workflows/rat.yml
index b8f83de8194..52ce343841b 100644
--- a/.github/workflows/rat.yml
+++ b/.github/workflows/rat.yml
@@ -31,10 +31,10 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- - name: Set up JDK 11
+ - name: Set up JDK 17
uses: actions/setup-java@v4
with:
- java-version: '11'
+ java-version: '17'
distribution: 'adopt'
architecture: x64
cache: maven
diff --git a/.github/workflows/sonar-check.yml
b/.github/workflows/sonar-check.yml
index 5d1bcc5dc22..c36bceb2b90 100644
--- a/.github/workflows/sonar-check.yml
+++ b/.github/workflows/sonar-check.yml
@@ -38,11 +38,11 @@ jobs:
ref: "refs/pull/${{ github.event.number }}/merge"
fetch-depth: 0
- - name: Set up JDK11
+ - name: Set up JDK17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
- java-version: '11'
+ java-version: '17'
cache: 'maven'
- name: Cache SonarCloud packages
diff --git a/.github/workflows/ui.yml b/.github/workflows/ui.yml
index 476526aff32..56f757133b7 100644
--- a/.github/workflows/ui.yml
+++ b/.github/workflows/ui.yml
@@ -36,7 +36,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@v3
with:
- node-version: 14
+ node-version: 16
- name: Env details
run: |
diff --git a/INSTALL.md b/INSTALL.md
index 6586e4e57fc..e133e7d7b91 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -78,7 +78,7 @@ Clear old database (if any) and deploy the database schema:
Export the following variable if you need to run and debug the management
server:
- $ export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=500m -Xdebug
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
+ $ export MAVEN_OPTS="-Xmx1024m -XX:MaxMetaspaceSize=500m -Xdebug
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
Start the management server:
diff --git a/debian/control b/debian/control
index dab7b254b88..ce136ea983a 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: cloudstack
Section: libs
Priority: extra
Maintainer: Wido den Hollander <[email protected]>
-Build-Depends: debhelper (>= 9), openjdk-11-jdk | java11-sdk | java11-jdk |
zulu-11, genisoimage,
+Build-Depends: debhelper (>= 9), openjdk-17-jdk | java17-sdk | java17-jdk |
zulu-17 | openjdk-11-jdk | java11-sdk | java11-jdk | zulu-11, genisoimage,
python-mysql.connector | python3-mysql.connector, maven (>= 3) | maven3,
python (>= 2.7) | python2 (>= 2.7), python3 (>= 3), python-setuptools,
python3-setuptools,
nodejs (>= 12), lsb-release, dh-systemd | debhelper (>= 13)
diff --git a/developer/pom.xml b/developer/pom.xml
index a70e9153bb4..6cbf483faac 100644
--- a/developer/pom.xml
+++ b/developer/pom.xml
@@ -28,6 +28,12 @@
<version>4.20.0.0-SNAPSHOT</version>
</parent>
<dependencies>
+ <dependency>
+ <groupId>com.mysql</groupId>
+ <artifactId>mysql-connector-j</artifactId>
+ <version>${cs.mysql.version}</version>
+ <scope>compile</scope>
+ </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
@@ -108,28 +114,25 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
- <dependencies>
- <!-- specify the dependent jdbc driver here -->
- <dependency>
- <groupId>com.mysql</groupId>
- <artifactId>mysql-connector-j</artifactId>
- <version>${cs.mysql.version}</version>
- </dependency>
- </dependencies>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<phase>process-resources</phase>
<id>create-schema</id>
<goals>
- <goal>java</goal>
+ <goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
-
<mainClass>com.cloud.upgrade.DatabaseCreator</mainClass>
+ <executable>java</executable>
+ <workingDirectory>${basedir}/..</workingDirectory>
<includePluginDependencies>true</includePluginDependencies>
<arguments>
+
<argument>--add-opens=java.base/java.lang=ALL-UNNAMED</argument>
+ <argument>-classpath</argument>
+ <classpath />
+
<argument>com.cloud.upgrade.DatabaseCreator</argument>
<!-- db properties file -->
<argument>${basedir}/../utils/conf/db.properties</argument>
<argument>${basedir}/../utils/conf/db.properties.override</argument>
@@ -177,27 +180,25 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
- <dependencies>
- <dependency>
- <groupId>com.mysql</groupId>
- <artifactId>mysql-connector-j</artifactId>
- <version>${cs.mysql.version}</version>
- </dependency>
- </dependencies>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<phase>process-resources</phase>
<id>create-schema-simulator</id>
<goals>
- <goal>java</goal>
+ <goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
-
<mainClass>com.cloud.upgrade.DatabaseCreator</mainClass>
+ <executable>java</executable>
+ <workingDirectory>${basedir}/..</workingDirectory>
<includePluginDependencies>true</includePluginDependencies>
<arguments>
+
<argument>--add-opens=java.base/java.lang=ALL-UNNAMED</argument>
+ <argument>-classpath</argument>
+ <classpath />
+
<argument>com.cloud.upgrade.DatabaseCreator</argument>
<!-- db properties file -->
<argument>${basedir}/../utils/conf/db.properties</argument>
<argument>${basedir}/../utils/conf/db.properties.override</argument>
@@ -235,27 +236,25 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
- <dependencies>
- <dependency>
- <groupId>com.mysql</groupId>
- <artifactId>mysql-connector-j</artifactId>
- <version>${cs.mysql.version}</version>
- </dependency>
- </dependencies>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<phase>process-resources</phase>
<id>create-schema-simulator</id>
<goals>
- <goal>java</goal>
+ <goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
-
<mainClass>com.cloud.upgrade.DatabaseCreator</mainClass>
+ <executable>java</executable>
+ <workingDirectory>${basedir}/..</workingDirectory>
<includePluginDependencies>true</includePluginDependencies>
<arguments>
+
<argument>--add-opens=java.base/java.lang=ALL-UNNAMED</argument>
+ <argument>-classpath</argument>
+ <classpath />
+
<argument>com.cloud.upgrade.DatabaseCreator</argument>
<!-- db properties file -->
<argument>${basedir}/../utils/conf/db.properties</argument>
<argument>${basedir}/../utils/conf/db.properties.override</argument>
diff --git a/engine/schema/pom.xml b/engine/schema/pom.xml
index b1868f27837..d3b1f63ca94 100644
--- a/engine/schema/pom.xml
+++ b/engine/schema/pom.xml
@@ -61,9 +61,16 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>1.5</version>
+ <groupId>org.codehaus.gmavenplus</groupId>
+ <artifactId>gmavenplus-plugin</artifactId>
+ <version>${cs.gmavenplus.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <version>${cs.groovy.version}</version>
+ </dependency>
+ </dependencies>
<executions>
<execution>
<id>setproperty</id>
@@ -72,12 +79,14 @@
<goal>execute</goal>
</goals>
<configuration>
- <source>
- def projectVersion =
project.properties['project.systemvm.template.version']
- String[] versionParts =
projectVersion.tokenize('.')
- pom.properties['cs.version'] = versionParts[0]
+ "." + versionParts[1]
- pom.properties['patch.version'] =
versionParts[2]
- </source>
+ <scripts>
+ <script><![CDATA[
+ def projectVersion =
project.properties.getProperty('project.systemvm.template.version')
+ String[] versionParts =
projectVersion.tokenize('.')
+
project.properties.setProperty('cs.version', versionParts[0] + "." +
versionParts[1])
+
project.properties.setProperty('patch.version', versionParts[2])
+ ]]></script>
+ </scripts>
</configuration>
</execution>
<execution>
@@ -87,27 +96,29 @@
<goal>execute</goal>
</goals>
<configuration>
- <source>
- def csVersion = pom.properties['cs.version']
- def patch = pom.properties['patch.version']
- def templateList = []
-
templateList.add("systemvmtemplate-${csVersion}.${patch}-kvm")
-
templateList.add("systemvmtemplate-${csVersion}.${patch}-vmware")
-
templateList.add("systemvmtemplate-${csVersion}.${patch}-xen")
-
templateList.add("systemvmtemplate-${csVersion}.${patch}-ovm")
-
templateList.add("systemvmtemplate-${csVersion}.${patch}-hyperv")
- File file = new
File("./engine/schema/dist/systemvm-templates/md5sum.txt")
- def lines = file.readLines()
- for (template in templateList) {
- def data = lines.findAll {
it.contains(template) }
- if (data != null) {
- if (data.size() > 0) {
- def hypervisor =
template.tokenize('-')[-1]
- pom.properties["$hypervisor" +
".checksum"] = data[0].tokenize(' ')[0]
+ <scripts>
+ <script><![CDATA[
+ def csVersion =
project.properties.getProperty('cs.version')
+ def patch =
project.properties.getProperty('patch.version')
+ def templateList = []
+
templateList.add("systemvmtemplate-${csVersion}.${patch}-kvm")
+
templateList.add("systemvmtemplate-${csVersion}.${patch}-vmware")
+
templateList.add("systemvmtemplate-${csVersion}.${patch}-xen")
+
templateList.add("systemvmtemplate-${csVersion}.${patch}-ovm")
+
templateList.add("systemvmtemplate-${csVersion}.${patch}-hyperv")
+ File file = new
File("./engine/schema/dist/systemvm-templates/md5sum.txt")
+ def lines = file.readLines()
+ for (template in templateList) {
+ def data = lines.findAll {
it.contains(template) }
+ if (data != null) {
+ if (data.size() > 0) {
+ def hypervisor =
template.tokenize('-')[-1]
+
project.properties["$hypervisor" + ".checksum"] = data[0].tokenize(' ')[0]
+ }
}
}
- }
- </source>
+ ]]></script>
+ </scripts>
</configuration>
</execution>
</executions>
@@ -135,7 +146,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<id>systemvm-template-metadata</id>
diff --git a/engine/service/pom.xml b/engine/service/pom.xml
index a3e07890bb6..34221e1001d 100644
--- a/engine/service/pom.xml
+++ b/engine/service/pom.xml
@@ -66,6 +66,11 @@
<build>
<finalName>engine</finalName>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>3.4.0</version>
+ </plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
diff --git
a/engine/storage/datamotion/src/test/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategyTest.java
b/engine/storage/datamotion/src/test/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategyTest.java
index 56e0948e593..67e3ea844d5 100755
---
a/engine/storage/datamotion/src/test/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategyTest.java
+++
b/engine/storage/datamotion/src/test/java/org/apache/cloudstack/storage/motion/AncientDataMotionStrategyTest.java
@@ -21,7 +21,6 @@ package org.apache.cloudstack.storage.motion;
import static org.mockito.Mockito.when;
import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.never;
@@ -55,8 +54,6 @@ public class AncientDataMotionStrategyTest {
@Mock
PrimaryDataStoreTO dataStoreTO;
@Mock
- ConfigKey<Boolean> vmwareKey;
- @Mock
StorageManager storageManager;
@Mock
StoragePool storagePool;
@@ -66,9 +63,7 @@ public class AncientDataMotionStrategyTest {
@Before
public void setup() throws Exception {
- replaceVmwareCreateCloneFullField();
-
- when(vmwareKey.valueIn(POOL_ID)).thenReturn(FULL_CLONE_FLAG);
+ overrideDefaultConfigValue(StorageManager.VmwareCreateCloneFull,
String.valueOf(FULL_CLONE_FLAG));
when(dataTO.getHypervisorType()).thenReturn(HypervisorType.VMware);
when(dataTO.getDataStore()).thenReturn(dataStoreTO);
@@ -76,14 +71,10 @@ public class AncientDataMotionStrategyTest {
when(storageManager.getStoragePool(POOL_ID)).thenReturn(storagePool);
}
- private void replaceVmwareCreateCloneFullField() throws Exception {
- Field field =
StorageManager.class.getDeclaredField("VmwareCreateCloneFull");
- field.setAccessible(true);
- // remove final modifier from field
- Field modifiersField = Field.class.getDeclaredField("modifiers");
- modifiersField.setAccessible(true);
- modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
- field.set(null, vmwareKey);
+ private void overrideDefaultConfigValue(final ConfigKey configKey, final
String value) throws IllegalAccessException, NoSuchFieldException {
+ final Field f = ConfigKey.class.getDeclaredField("_defaultValue");
+ f.setAccessible(true);
+ f.set(configKey, value);
}
@Test
diff --git a/packaging/README.md b/packaging/README.md
index 08e34baeae2..78057b828b2 100644
--- a/packaging/README.md
+++ b/packaging/README.md
@@ -6,9 +6,9 @@ These scripts are also used by the CloudStack team to build
packages for the off
# Requirements
The RPM and DEB packages have dependencies on versions of specific libraries.
Due to these dependencies the following distributions and their versions are
supported by the packages.
-* CentOS / RHEL: 7 and 8
-* Debian 7 (Wheezy) and 8 (Jessy) (untested!)
-* Ubuntu: 16.04 (Xenial), 18.04 (Bionic) and 20.04 (Focal)
+* CentOS / RHEL: 8 and 9
+* Ubuntu: 20.04, 22.04, 24.04
+* Debian 12 (Bookworm, untested!)
# Building
Using the scripts in the *packaging* directory the RPM and DEB packages can be
build.
@@ -38,4 +38,4 @@ The commands above will generate Ubuntu 14.04, 16.04, and
22.04 packages which y
## RPM
The *package.sh* script can be used to build RPM packages for CloudStack. In
the *packaging* script you can run the following command:
-``./package.sh --pack oss --distribution centos7``
+``./package.sh --pack oss --distribution el8``
diff --git a/packaging/centos7/cloud.spec b/packaging/centos7/cloud.spec
deleted file mode 100644
index 80b8443e09b..00000000000
--- a/packaging/centos7/cloud.spec
+++ /dev/null
@@ -1,725 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-%define __os_install_post %{nil}
-%global debug_package %{nil}
-
-# DISABLE the post-percentinstall java repacking and line number stripping
-# we need to find a way to just disable the java repacking and line number
stripping, but not the autodeps
-
-Name: cloudstack
-Summary: CloudStack IaaS Platform
-#http://fedoraproject.org/wiki/PackageNamingGuidelines#Pre-Release_packages
-%define _maventag %{_fullver}
-Release: %{_rel}%{dist}
-
-%define __python python3
-%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from
distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
-
-Version: %{_ver}
-License: ASL 2.0
-Vendor: Apache CloudStack <[email protected]>
-Packager: Apache CloudStack <[email protected]>
-Group: System Environment/Libraries
-# FIXME do groups for every single one of the subpackages
-Source0: %{name}-%{_maventag}.tgz
-BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build
-
-BuildRequires: java-11-openjdk-devel
-BuildRequires: ws-commons-util
-BuildRequires: jpackage-utils
-BuildRequires: gcc
-BuildRequires: glibc-devel
-BuildRequires: /usr/bin/mkisofs
-BuildRequires: mysql-connector-python
-BuildRequires: maven => 3.0.0
-BuildRequires: python-setuptools
-BuildRequires: python3
-BuildRequires: python3-pip
-BuildRequires: python3-setuptools
-BuildRequires: wget
-BuildRequires: nodejs
-
-%description
-CloudStack is a highly-scalable elastic, open source,
-intelligent IaaS cloud implementation.
-
-%package management
-Summary: CloudStack management server UI
-Requires: java-11-openjdk
-Requires: tzdata-java
-Requires: python
-Requires: python3
-Requires: bash
-Requires: gawk
-Requires: which
-Requires: file
-Requires: bzip2
-Requires: gzip
-Requires: unzip
-Requires: /sbin/mount.nfs
-Requires: openssh-clients
-Requires: nfs-utils
-Requires: iproute
-Requires: wget
-Requires: mysql
-Requires: sudo
-Requires: /sbin/service
-Requires: /sbin/chkconfig
-Requires: /usr/bin/ssh-keygen
-Requires: genisoimage
-Requires: ipmitool
-Requires: %{name}-common = %{_ver}
-Requires: iptables-services
-Requires: qemu-img
-Requires: rng-tools
-Requires: python3-pip
-Requires: python3-setuptools
-Group: System Environment/Libraries
-%description management
-The CloudStack management server is the central point of coordination,
-management, and intelligence in CloudStack.
-
-%package common
-Summary: Apache CloudStack common files and scripts
-Requires: python
-Requires: python3
-Requires: python3-pip
-Group: System Environment/Libraries
-%description common
-The Apache CloudStack files shared between agent and management server
-%global __requires_exclude ^libuuid\\.so\\.1$
-
-%package agent
-Summary: CloudStack Agent for KVM hypervisors
-Requires: openssh-clients
-Requires: java-11-openjdk
-Requires: tzdata-java
-Requires: %{name}-common = %{_ver}
-Requires: libvirt
-Requires: bridge-utils
-Requires: ebtables
-Requires: iptables
-Requires: ethtool
-Requires: net-tools
-Requires: iproute
-Requires: ipset
-Requires: perl
-Requires: python36-libvirt
-Requires: qemu-img
-Requires: qemu-kvm
-Requires: cryptsetup
-Requires: rng-tools
-Provides: cloud-agent
-Group: System Environment/Libraries
-%description agent
-The CloudStack agent for KVM hypervisors
-
-%package baremetal-agent
-Summary: CloudStack baremetal agent
-Requires: tftp-server
-Requires: xinetd
-Requires: syslinux
-Requires: chkconfig
-Requires: dhcp
-Requires: httpd
-Group: System Environment/Libraries
-%description baremetal-agent
-The CloudStack baremetal agent
-
-%package usage
-Summary: CloudStack Usage calculation server
-Requires: java-11-openjdk
-Requires: tzdata-java
-Group: System Environment/Libraries
-%description usage
-The CloudStack usage calculation service
-
-%package ui
-Summary: CloudStack UI
-Group: System Environment/Libraries
-%description ui
-The CloudStack UI
-
-%package cli
-Summary: Apache CloudStack CLI
-Provides: python-marvin
-Group: System Environment/Libraries
-%description cli
-Apache CloudStack command line interface
-
-%package marvin
-Summary: Apache CloudStack Marvin library
-Requires: python3
-Requires: python3-devel
-Requires: python3-pip
-Requires: python-pip
-Requires: gcc
-Requires: python-devel
-Requires: libffi-devel
-Requires: openssl-devel
-Group: System Environment/Libraries
-%description marvin
-Apache CloudStack Marvin library
-
-%package integration-tests
-Summary: Apache CloudStack Marvin integration tests
-Requires: %{name}-marvin = %{_ver}
-Group: System Environment/Libraries
-%description integration-tests
-Apache CloudStack Marvin integration tests
-
-%if "%{_ossnoss}" == "noredist"
-%package mysql-ha
-Summary: Apache CloudStack Balancing Strategy for MySQL
-Group: System Environmnet/Libraries
-%description mysql-ha
-Apache CloudStack Balancing Strategy for MySQL
-
-%endif
-
-%prep
-echo Doing CloudStack build
-
-%setup -q -n %{name}-%{_maventag}
-
-%build
-
-cp packaging/centos7/replace.properties build/replace.properties
-echo VERSION=%{_maventag} >> build/replace.properties
-echo PACKAGE=%{name} >> build/replace.properties
-touch build/gitrev.txt
-echo $(git rev-parse HEAD) > build/gitrev.txt
-
-if [ "%{_ossnoss}" == "NOREDIST" -o "%{_ossnoss}" == "noredist" ] ; then
- echo "Adding noredist flag to the maven build"
- FLAGS="$FLAGS -Dnoredist"
-fi
-
-if [ "%{_sim}" == "SIMULATOR" -o "%{_sim}" == "simulator" ] ; then
- echo "Adding simulator flag to the maven build"
- FLAGS="$FLAGS -Dsimulator"
-fi
-
-if [ \"%{_temp}\" != "" ]; then
- echo "Adding flags to package requested templates"
- FLAGS="$FLAGS `rpm --eval %{?_temp}`"
-fi
-
-mvn -Psystemvm,developer $FLAGS clean package
-cd ui && npm install && npm run build && cd ..
-
-%install
-[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT}
-# Common directories
-mkdir -p ${RPM_BUILD_ROOT}%{_bindir}
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/ipallocator
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management
-mkdir -p ${RPM_BUILD_ROOT}%{_initrddir}
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/default
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d
-
-# Common
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms
-mkdir -p ${RPM_BUILD_ROOT}%{python_sitearch}/
-mkdir -p ${RPM_BUILD_ROOT}/usr/bin
-cp -r scripts/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts
-install -D systemvm/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/vms/
-install python/lib/cloud_utils.py
${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py
-cp -r python/lib/cloudutils ${RPM_BUILD_ROOT}%{python_sitearch}/
-python3 -m py_compile ${RPM_BUILD_ROOT}%{python_sitearch}/cloud_utils.py
-python3 -m compileall ${RPM_BUILD_ROOT}%{python_sitearch}/cloudutils
-cp build/gitrev.txt ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts
-cp packaging/centos7/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin
-
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco
-cp -r plugins/network-elements/cisco-vnmc/src/main/scripts/network/cisco/*
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco
-
-# Management
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/run
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel
-
-# Setup Jetty
-ln -sf /etc/%{name}/management
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/conf
-ln -sf /var/log/%{name}/management
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/logs
-
-install -D client/target/utilities/bin/cloud-migrate-databases
${RPM_BUILD_ROOT}%{_bindir}/%{name}-migrate-databases
-install -D client/target/utilities/bin/cloud-set-guest-password
${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-password
-install -D client/target/utilities/bin/cloud-set-guest-sshkey
${RPM_BUILD_ROOT}%{_bindir}/%{name}-set-guest-sshkey
-install -D client/target/utilities/bin/cloud-setup-databases
${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-databases
-install -D client/target/utilities/bin/cloud-setup-encryption
${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-encryption
-install -D client/target/utilities/bin/cloud-setup-management
${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-management
-install -D client/target/utilities/bin/cloud-setup-baremetal
${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-baremetal
-install -D client/target/utilities/bin/cloud-sysvmadm
${RPM_BUILD_ROOT}%{_bindir}/%{name}-sysvmadm
-install -D client/target/utilities/bin/cloud-update-xenserver-licenses
${RPM_BUILD_ROOT}%{_bindir}/%{name}-update-xenserver-licenses
-# Bundle cmk in cloudstack-management
-wget
https://github.com/apache/cloudstack-cloudmonkey/releases/download/6.3.0/cmk.linux.x86-64
-O ${RPM_BUILD_ROOT}%{_bindir}/cmk
-chmod +x ${RPM_BUILD_ROOT}%{_bindir}/cmk
-
-cp -r client/target/utilities/scripts/db/*
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup
-
-cp -r client/target/cloud-client-ui-%{_maventag}.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/
-cp -r client/target/classes/META-INF/webapp
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp
-cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/
-cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/
-rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/config.json
-ln -sf /etc/%{name}/management/config.json
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapp/config.json
-mv
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/cloud-client-ui-%{_maventag}.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib/cloudstack-%{_maventag}.jar
-cp client/target/lib/*jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/lib/
-
-# Don't package the scripts in the management webapp
-rm -rf
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/scripts
-rm -rf
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/vms
-
-for name in db.properties server.properties log4j-cloud.xml
environment.properties java.security.ciphers
-do
- cp client/target/conf/$name
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name
-done
-
-ln -sf log4j-cloud.xml
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/log4j2.xml
-
-install python/bindir/cloud-external-ipallocator.py
${RPM_BUILD_ROOT}%{_bindir}/%{name}-external-ipallocator.py
-install -D client/target/pythonlibs/jasypt-1.9.3.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/jasypt-1.9.3.jar
-install -D utils/target/cloud-utils-%{_maventag}-bundled.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/%{name}-utils.jar
-
-install -D packaging/centos7/cloud-ipallocator.rc
${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator
-install -D packaging/centos7/cloud.limits
${RPM_BUILD_ROOT}%{_sysconfdir}/security/limits.d/cloud
-install -D packaging/systemd/cloudstack-management.service
${RPM_BUILD_ROOT}%{_unitdir}/%{name}-management.service
-install -D packaging/systemd/cloudstack-management.default
${RPM_BUILD_ROOT}%{_sysconfdir}/default/%{name}-management
-install -D server/target/conf/cloudstack-sudoers
${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d/%{name}-management
-touch ${RPM_BUILD_ROOT}%{_localstatedir}/run/%{name}-management.pid
-#install -D server/target/conf/cloudstack-catalina.logrotate
${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-catalina
-install -D server/target/conf/cloudstack-management.logrotate
${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-management
-
-# SystemVM template
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/templates/systemvm
-cp -r engine/schema/dist/systemvm-templates/*
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/templates/systemvm
-rm -rf
${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/templates/systemvm/md5sum.txt
-
-# UI
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/
-cp -r client/target/classes/META-INF/webapp/WEB-INF
${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui
-cp ui/dist/config.json ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/ui/
-cp -r ui/dist/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/
-rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json
-ln -sf /etc/%{name}/ui/config.json
${RPM_BUILD_ROOT}%{_datadir}/%{name}-ui/config.json
-
-# Package mysql-connector-python
-wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel
https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
-wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel
https://files.pythonhosted.org/packages/e9/93/4860cebd5ad3ff2664ad3c966490ccb46e3b88458b2095145bca11727ca4/setuptools-47.3.1-py3-none-any.whl
-wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel
https://files.pythonhosted.org/packages/28/05/9867ef8eafd12265267bee138fa2c46ebf34a276ea4cbe184cba4c606e8b/protobuf-3.12.2-cp36-cp36m-manylinux1_x86_64.whl
-wget -P ${RPM_BUILD_ROOT}%{_datadir}/%{name}-management/setup/wheel
https://files.pythonhosted.org/packages/d1/53/4cf90d2fe81b9cdb55dc180951bcec44ea8685665f1bdb1412501dc362dd/mysql_connector_python-8.0.20-cp36-cp36m-manylinux1_x86_64.whl
-
-chmod 440 ${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d/%{name}-management
-chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/mnt
-chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/%{name}/management
-chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/work
-chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/cache/%{name}/management/temp
-chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/management
-chmod 770 ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent
-
-# KVM Agent
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/agent
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/plugins
-install -D packaging/systemd/cloudstack-agent.service
${RPM_BUILD_ROOT}%{_unitdir}/%{name}-agent.service
-install -D packaging/systemd/[email protected]
${RPM_BUILD_ROOT}%{_unitdir}/%{name}[email protected]
-install -D packaging/systemd/cloudstack-agent.default
${RPM_BUILD_ROOT}%{_sysconfdir}/default/%{name}-agent
-install -D agent/target/transformed/agent.properties
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/agent.properties
-install -D agent/target/transformed/environment.properties
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/environment.properties
-install -D agent/target/transformed/log4j-cloud.xml
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/agent/log4j-cloud.xml
-install -D agent/target/transformed/cloud-setup-agent
${RPM_BUILD_ROOT}%{_bindir}/%{name}-setup-agent
-install -D agent/target/transformed/cloudstack-agent-upgrade
${RPM_BUILD_ROOT}%{_bindir}/%{name}-agent-upgrade
-install -D agent/target/transformed/cloud-guest-tool
${RPM_BUILD_ROOT}%{_bindir}/%{name}-guest-tool
-install -D agent/target/transformed/libvirtqemuhook
${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook
-install -D agent/target/transformed/rolling-maintenance
${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/rolling-maintenance
-install -D agent/target/transformed/cloud-ssh
${RPM_BUILD_ROOT}%{_bindir}/%{name}-ssh
-install -D agent/target/transformed/cloudstack-agent-profile.sh
${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/%{name}-agent-profile.sh
-install -D agent/target/transformed/cloudstack-agent.logrotate
${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-agent
-install -D
plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-%{_maventag}.jar
${RPM_BUILD_ROOT}%{_datadir}/%name-agent/lib/cloud-plugin-hypervisor-kvm-%{_maventag}.jar
-cp plugins/hypervisors/kvm/target/dependencies/*
${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
-cp plugins/storage/volume/storpool/target/*.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
-cp plugins/storage/volume/linstor/target/*.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib
-
-# Usage server
-mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib
-install -D usage/target/cloud-usage-%{_maventag}.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/cloud-usage-%{_maventag}.jar
-install -D usage/target/transformed/db.properties
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/db.properties
-install -D usage/target/transformed/log4j-cloud_usage.xml
${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/usage/log4j-cloud.xml
-cp usage/target/dependencies/* ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib/
-cp client/target/lib/mysql*jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-usage/lib/
-install -D packaging/systemd/cloudstack-usage.service
${RPM_BUILD_ROOT}%{_unitdir}/%{name}-usage.service
-install -D packaging/systemd/cloudstack-usage.default
${RPM_BUILD_ROOT}%{_sysconfdir}/default/%{name}-usage
-mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/log/%{name}/usage/
-install -D usage/target/transformed/cloudstack-usage.logrotate
${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}-usage
-
-# CLI
-cp -r cloud-cli/cloudtool ${RPM_BUILD_ROOT}%{python_sitearch}/
-install cloud-cli/cloudapis/cloud.py
${RPM_BUILD_ROOT}%{python_sitearch}/cloudapis.py
-
-# Marvin
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-marvin
-cp tools/marvin/dist/Marvin-*.tar.gz
${RPM_BUILD_ROOT}%{_datadir}/%{name}-marvin/
-
-# integration-tests
-mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-integration-tests
-cp -r test/integration/*
${RPM_BUILD_ROOT}%{_datadir}/%{name}-integration-tests/
-
-# MYSQL HA
-if [ "x%{_ossnoss}" == "xnoredist" ] ; then
- mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib
- cp -r
plugins/database/mysql-ha/target/cloud-plugin-database-mysqlha-%{_maventag}.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib
-fi
-
-#License files from whisker
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-management-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-management-%{version}/LICENSE
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-common-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-common-%{version}/LICENSE
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-ui-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-ui-%{version}/LICENSE
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-marvin-%{version}/LICENSE
-install -D tools/whisker/NOTICE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-integration-tests-%{version}/NOTICE
-install -D tools/whisker/LICENSE
${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-integration-tests-%{version}/LICENSE
-
-%clean
-[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT}
-
-%preun management
-/usr/bin/systemctl stop cloudstack-management || true
-/usr/bin/systemctl disable cloudstack-management || true
-
-%pre management
-id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -U -c "CloudStack
unprivileged user" \
- -r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true
-
-rm -rf %{_localstatedir}/cache/cloudstack
-
-# in case of upgrade to 4.9+ copy commands.properties if not exists in
/etc/cloudstack/management/
-if [ "$1" == "2" ] ; then
- if [ -f
"%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/commands.properties"
] && [ ! -f "%{_sysconfdir}/%{name}/management/commands.properties" ] ; then
- cp -p
%{_datadir}/%{name}-management/webapps/client/WEB-INF/classes/commands.properties
%{_sysconfdir}/%{name}/management/commands.properties
- fi
-fi
-
-# Remove old tomcat symlinks and env config file
-if [ -L "%{_datadir}/%{name}-management/lib" ]
-then
- rm -f %{_datadir}/%{name}-management/bin
- rm -f %{_datadir}/%{name}-management/lib
- rm -f %{_datadir}/%{name}-management/temp
- rm -f %{_datadir}/%{name}-management/work
- rm -f %{_sysconfdir}/default/%{name}-management
-fi
-
-%post management
-# Install mysql-connector-python
-pip3 install
%{_datadir}/%{name}-management/setup/wheel/six-1.15.0-py2.py3-none-any.whl
%{_datadir}/%{name}-management/setup/wheel/setuptools-47.3.1-py3-none-any.whl
%{_datadir}/%{name}-management/setup/wheel/protobuf-3.12.2-cp36-cp36m-manylinux1_x86_64.whl
%{_datadir}/%{name}-management/setup/wheel/mysql_connector_python-8.0.20-cp36-cp36m-manylinux1_x86_64.whl
-
-pip3 install urllib3
-
-/usr/bin/systemctl enable cloudstack-management > /dev/null 2>&1 || true
-/usr/bin/systemctl enable --now rngd > /dev/null 2>&1 || true
-
-grep -s -q "db.cloud.driver=jdbc:mysql"
"%{_sysconfdir}/%{name}/management/db.properties" || sed -i -e
"\$adb.cloud.driver=jdbc:mysql"
"%{_sysconfdir}/%{name}/management/db.properties"
-grep -s -q "db.usage.driver=jdbc:mysql"
"%{_sysconfdir}/%{name}/management/db.properties" || sed -i -e
"\$adb.usage.driver=jdbc:mysql"
"%{_sysconfdir}/%{name}/management/db.properties"
-grep -s -q "db.simulator.driver=jdbc:mysql"
"%{_sysconfdir}/%{name}/management/db.properties" || sed -i -e
"\$adb.simulator.driver=jdbc:mysql"
"%{_sysconfdir}/%{name}/management/db.properties"
-
-# Update DB properties having master and slave(s), with source and replica(s)
respectively (for inclusiveness)
-grep -s -q "^db.cloud.slaves="
"%{_sysconfdir}/%{name}/management/db.properties" && sed -i
"s/^db.cloud.slaves=/db.cloud.replicas=/g"
"%{_sysconfdir}/%{name}/management/db.properties"
-grep -s -q "^db.cloud.secondsBeforeRetryMaster="
"%{_sysconfdir}/%{name}/management/db.properties" && sed -i
"s/^db.cloud.secondsBeforeRetryMaster=/db.cloud.secondsBeforeRetrySource=/g"
"%{_sysconfdir}/%{name}/management/db.properties"
-grep -s -q "^db.cloud.queriesBeforeRetryMaster="
"%{_sysconfdir}/%{name}/management/db.properties" && sed -i
"s/^db.cloud.queriesBeforeRetryMaster=/db.cloud.queriesBeforeRetrySource=/g"
"%{_sysconfdir}/%{name}/management/db.properties"
-grep -s -q "^db.usage.slaves="
"%{_sysconfdir}/%{name}/management/db.properties" && sed -i
"s/^db.usage.slaves=/db.usage.replicas=/g"
"%{_sysconfdir}/%{name}/management/db.properties"
-grep -s -q "^db.usage.secondsBeforeRetryMaster="
"%{_sysconfdir}/%{name}/management/db.properties" && sed -i
"s/^db.usage.secondsBeforeRetryMaster=/db.usage.secondsBeforeRetrySource=/g"
"%{_sysconfdir}/%{name}/management/db.properties"
-grep -s -q "^db.usage.queriesBeforeRetryMaster="
"%{_sysconfdir}/%{name}/management/db.properties" && sed -i
"s/^db.usage.queriesBeforeRetryMaster=/db.usage.queriesBeforeRetrySource=/g"
"%{_sysconfdir}/%{name}/management/db.properties"
-
-if [ ! -f
%{_datadir}/cloudstack-common/scripts/vm/hypervisor/xenserver/vhd-util ] ; then
- echo Please download vhd-util from
http://download.cloudstack.org/tools/vhd-util and put it in
- echo %{_datadir}/cloudstack-common/scripts/vm/hypervisor/xenserver/
-fi
-
-if [ -f %{_sysconfdir}/sysconfig/%{name}-management ] ; then
- rm -f %{_sysconfdir}/sysconfig/%{name}-management
-fi
-
-chown -R cloud:cloud /var/log/cloudstack/management
-
-systemctl daemon-reload
-
-%posttrans management
-# Print help message
-if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text"
];then
- sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g"
/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
- /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
management
-fi
-
-%preun agent
-/sbin/service cloudstack-agent stop || true
-if [ "$1" == "0" ] ; then
- /sbin/chkconfig --del cloudstack-agent > /dev/null 2>&1 || true
-fi
-
-%pre agent
-
-# save old configs if they exist (for upgrade). Otherwise we may lose them
-# when the old packages are erased. There are a lot of properties files here.
-if [ -d "%{_sysconfdir}/cloud" ] ; then
- mv %{_sysconfdir}/cloud %{_sysconfdir}/cloud.rpmsave
-fi
-
-%post agent
-if [ "$1" == "2" ] ; then
- echo "Running %{_bindir}/%{name}-agent-upgrade to update bridge name for
upgrade from CloudStack 4.0.x (and before) to CloudStack 4.1 (and later)"
- %{_bindir}/%{name}-agent-upgrade
-fi
-if [ ! -d %{_sysconfdir}/libvirt/hooks ] ; then
- mkdir %{_sysconfdir}/libvirt/hooks
-fi
-cp -a ${RPM_BUILD_ROOT}%{_datadir}/%{name}-agent/lib/libvirtqemuhook
%{_sysconfdir}/libvirt/hooks/qemu
-mkdir -m 0755 -p /usr/share/cloudstack-agent/tmp
-/usr/bin/systemctl restart libvirtd
-/usr/bin/systemctl enable cloudstack-agent > /dev/null 2>&1 || true
-/usr/bin/systemctl enable cloudstack-rolling-maintenance@p > /dev/null 2>&1 ||
true
-/usr/bin/systemctl enable --now rngd > /dev/null 2>&1 || true
-
-# if saved configs from upgrade exist, copy them over
-if [ -f "%{_sysconfdir}/cloud.rpmsave/agent/agent.properties" ]; then
- mv %{_sysconfdir}/%{name}/agent/agent.properties
%{_sysconfdir}/%{name}/agent/agent.properties.rpmnew
- cp -p %{_sysconfdir}/cloud.rpmsave/agent/agent.properties
%{_sysconfdir}/%{name}/agent
- # make sure we only do this on the first install of this RPM, don't want
to overwrite on a reinstall
- mv %{_sysconfdir}/cloud.rpmsave/agent/agent.properties
%{_sysconfdir}/cloud.rpmsave/agent/agent.properties.rpmsave
-fi
-
-systemctl daemon-reload
-
-%posttrans agent
-# Print help message
-if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text"
];then
- sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g"
/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
- /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text agent
-fi
-
-%pre usage
-id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -U -c "CloudStack
unprivileged user" \
- -r -s /bin/sh -d %{_localstatedir}/cloudstack/management cloud|| true
-
-%preun usage
-/sbin/service cloudstack-usage stop || true
-if [ "$1" == "0" ] ; then
- /sbin/chkconfig --del cloudstack-usage > /dev/null 2>&1 || true
-fi
-
-%post usage
-if [ -f "%{_sysconfdir}/%{name}/management/db.properties" ]; then
- echo "Replacing usage server's db.properties with a link to the management
server's db.properties"
- rm -f %{_sysconfdir}/%{name}/usage/db.properties
- ln -s %{_sysconfdir}/%{name}/management/db.properties
%{_sysconfdir}/%{name}/usage/db.properties
- /usr/bin/systemctl enable cloudstack-usage > /dev/null 2>&1 || true
-fi
-
-if [ -f "%{_sysconfdir}/%{name}/management/key" ]; then
- echo "Replacing usage server's key with a link to the management server's
key"
- rm -f %{_sysconfdir}/%{name}/usage/key
- ln -s %{_sysconfdir}/%{name}/management/key
%{_sysconfdir}/%{name}/usage/key
-fi
-
-if [ ! -f "%{_sysconfdir}/%{name}/usage/key" ]; then
- ln -s %{_sysconfdir}/%{name}/management/key
%{_sysconfdir}/%{name}/usage/key
-fi
-
-mkdir -p /usr/local/libexec
-if [ ! -f "/usr/local/libexec/sanity-check-last-id" ]; then
- echo 1 > /usr/local/libexec/sanity-check-last-id
-fi
-chown cloud:cloud /usr/local/libexec/sanity-check-last-id
-
-%posttrans usage
-# Print help message
-if [ -f "/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text"
];then
- sed -i "s,^ACS_VERSION=.*,ACS_VERSION=%{_maventag},g"
/usr/share/cloudstack-common/scripts/installer/cloudstack-help-text
- /usr/share/cloudstack-common/scripts/installer/cloudstack-help-text usage
-fi
-
-%post marvin
-pip install --upgrade
https://files.pythonhosted.org/packages/ca/ea/1e2553b088bad2f9fa8120c2624f797b2d7450d3b61bb492d29c72e3d3c2/mysql_connector_python-8.0.20-cp27-cp27mu-manylinux1_x86_64.whl
-pip install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
-pip3 install --upgrade /usr/share/cloudstack-marvin/Marvin-*.tar.gz
-pip3 install --upgrade nose
-pip3 install --upgrade urllib3
-
-#No default permission as the permission setup is complex
-%files management
-%defattr(-,root,root,-)
-%dir %{_datadir}/%{name}-management
-%dir %attr(0770,root,cloud) %{_localstatedir}/%{name}/mnt
-%dir %attr(0770,cloud,cloud) %{_localstatedir}/%{name}/management
-%dir %attr(0770,root,cloud) %{_localstatedir}/cache/%{name}/management
-%dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/management
-%config(noreplace) %{_sysconfdir}/default/%{name}-management
-%config(noreplace) %{_sysconfdir}/sudoers.d/%{name}-management
-%config(noreplace) %{_sysconfdir}/security/limits.d/cloud
-%config(noreplace) %attr(0640,root,cloud)
%{_sysconfdir}/%{name}/management/db.properties
-%config(noreplace) %attr(0640,root,cloud)
%{_sysconfdir}/%{name}/management/server.properties
-%config(noreplace) %attr(0640,root,cloud)
%{_sysconfdir}/%{name}/management/config.json
-%config(noreplace) %{_sysconfdir}/%{name}/management/log4j-cloud.xml
-%config(noreplace) %{_sysconfdir}/%{name}/management/log4j2.xml
-%config(noreplace) %{_sysconfdir}/%{name}/management/environment.properties
-%config(noreplace) %{_sysconfdir}/%{name}/management/java.security.ciphers
-%attr(0644,root,root) %{_unitdir}/%{name}-management.service
-%attr(0755,cloud,cloud) %{_localstatedir}/run/%{name}-management.pid
-%attr(0755,root,root) %{_bindir}/%{name}-setup-management
-%attr(0755,root,root) %{_bindir}/%{name}-update-xenserver-licenses
-%{_datadir}/%{name}-management/conf
-%{_datadir}/%{name}-management/lib/*.jar
-%{_datadir}/%{name}-management/logs
-%{_datadir}/%{name}-management/templates
-%attr(0755,root,root) %{_bindir}/%{name}-setup-databases
-%attr(0755,root,root) %{_bindir}/%{name}-migrate-databases
-%attr(0755,root,root) %{_bindir}/%{name}-set-guest-password
-%attr(0755,root,root) %{_bindir}/%{name}-set-guest-sshkey
-%attr(0755,root,root) %{_bindir}/%{name}-sysvmadm
-%attr(0755,root,root) %{_bindir}/%{name}-setup-encryption
-%attr(0755,root,root) %{_bindir}/cmk
-%{_datadir}/%{name}-management/setup/*.sql
-%{_datadir}/%{name}-management/setup/*.sh
-%{_datadir}/%{name}-management/setup/server-setup.xml
-%{_datadir}/%{name}-management/webapp/*
-%attr(0755,root,root) %{_bindir}/%{name}-external-ipallocator.py
-%attr(0755,root,root) %{_initrddir}/%{name}-ipallocator
-%dir %attr(0770,root,root) %{_localstatedir}/log/%{name}/ipallocator
-%{_defaultdocdir}/%{name}-management-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-management-%{version}/NOTICE
-#%attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}-catalina
-%config(noreplace) %attr(0644,root,root)
%{_sysconfdir}/logrotate.d/%{name}-management
-%{_datadir}/%{name}-management/setup/wheel/*.whl
-
-%files agent
-%attr(0755,root,root) %{_bindir}/%{name}-setup-agent
-%attr(0755,root,root) %{_bindir}/%{name}-agent-upgrade
-%attr(0755,root,root) %{_bindir}/%{name}-guest-tool
-%attr(0755,root,root) %{_bindir}/%{name}-ssh
-%attr(0644,root,root) %{_unitdir}/%{name}-agent.service
-%attr(0644,root,root) %{_unitdir}/%{name}[email protected]
-%config(noreplace) %{_sysconfdir}/default/%{name}-agent
-%attr(0644,root,root) %{_sysconfdir}/profile.d/%{name}-agent-profile.sh
-%config(noreplace) %attr(0644,root,root)
%{_sysconfdir}/logrotate.d/%{name}-agent
-%attr(0755,root,root) %{_datadir}/%{name}-common/scripts/network/cisco
-%config(noreplace) %{_sysconfdir}/%{name}/agent
-%dir %{_localstatedir}/log/%{name}/agent
-%attr(0644,root,root) %{_datadir}/%{name}-agent/lib/*.jar
-%attr(0755,root,root) %{_datadir}/%{name}-agent/lib/libvirtqemuhook
-%attr(0755,root,root) %{_datadir}/%{name}-agent/lib/rolling-maintenance
-%dir %{_datadir}/%{name}-agent/plugins
-%{_defaultdocdir}/%{name}-agent-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-agent-%{version}/NOTICE
-
-%files common
-%dir %attr(0755,root,root) %{python_sitearch}/cloudutils
-%dir %attr(0755,root,root) %{_datadir}/%{name}-common/vms
-%attr(0755,root,root) %{_datadir}/%{name}-common/scripts
-%attr(0755,root,root) /usr/bin/cloudstack-sccs
-%attr(0644, root, root) %{_datadir}/%{name}-common/vms/agent.zip
-%attr(0644, root, root) %{_datadir}/%{name}-common/vms/cloud-scripts.tgz
-%attr(0644, root, root) %{_datadir}/%{name}-common/vms/patch-sysvms.sh
-%attr(0644,root,root) %{python_sitearch}/cloud_utils.py
-%attr(0644,root,root) %{python_sitearch}/__pycache__/*
-%attr(0644,root,root) %{python_sitearch}/cloudutils/*
-%attr(0644, root, root) %{_datadir}/%{name}-common/lib/jasypt-1.9.3.jar
-%attr(0644, root, root) %{_datadir}/%{name}-common/lib/%{name}-utils.jar
-%{_defaultdocdir}/%{name}-common-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-common-%{version}/NOTICE
-
-%files ui
-%config(noreplace) %attr(0640,root,cloud) %{_sysconfdir}/%{name}/ui/config.json
-%{_datadir}/%{name}-ui/*
-%{_defaultdocdir}/%{name}-ui-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-ui-%{version}/NOTICE
-
-%files usage
-%attr(0644,root,root) %{_unitdir}/%{name}-usage.service
-%config(noreplace) %{_sysconfdir}/default/%{name}-usage
-%config(noreplace) %attr(0644,root,root)
%{_sysconfdir}/logrotate.d/%{name}-usage
-%attr(0644,root,root) %{_datadir}/%{name}-usage/*.jar
-%attr(0644,root,root) %{_datadir}/%{name}-usage/lib/*.jar
-%dir %attr(0770,root,cloud) %{_localstatedir}/log/%{name}/usage
-%attr(0644,root,root) %{_sysconfdir}/%{name}/usage/db.properties
-%attr(0644,root,root) %{_sysconfdir}/%{name}/usage/log4j-cloud.xml
-%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE
-
-%files cli
-%attr(0644,root,root) %{python_sitearch}/cloudapis.py
-%attr(0644,root,root) %{python_sitearch}/cloudtool/__init__.py
-%attr(0644,root,root) %{python_sitearch}/cloudtool/utils.py
-%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE
-
-%files marvin
-%attr(0644,root,root) %{_datadir}/%{name}-marvin/Marvin*.tar.gz
-%{_defaultdocdir}/%{name}-marvin-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-marvin-%{version}/NOTICE
-
-%files integration-tests
-%attr(0755,root,root) %{_datadir}/%{name}-integration-tests/*
-%{_defaultdocdir}/%{name}-integration-tests-%{version}/LICENSE
-%{_defaultdocdir}/%{name}-integration-tests-%{version}/NOTICE
-
-%if "%{_ossnoss}" == "noredist"
-%files mysql-ha
-%defattr(0644,cloud,cloud,0755)
-%attr(0644,root,root) %{_datadir}/%{name}-mysql-ha/lib/*
-%endif
-
-%files baremetal-agent
-%attr(0755,root,root) %{_bindir}/cloudstack-setup-baremetal
-
-%changelog
-* Fri Oct 14 2022 Daan Hoogland <[email protected]> 4.18.0
-- initialising sanity check pointer file
-
-* Thu Apr 30 2015 Rohit Yadav <[email protected]> 4.6.0
-- Remove awsapi package
-
-* Wed Nov 19 2014 Hugo Trippaers <[email protected]> 4.6.0
-- Create a specific spec for CentOS 7
-
-* Fri Jul 4 2014 Hugo Trippaers <[email protected]> 4.5.0
-- Add a package for the mysql ha module
-
-* Fri Oct 5 2012 Hugo Trippaers <[email protected]> 4.1.0
-- new style spec file
diff --git a/packaging/centos7/replace.properties
b/packaging/centos7/replace.properties
deleted file mode 100644
index 18b4a770a88..00000000000
--- a/packaging/centos7/replace.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-DBUSER=cloud
-DBPW=cloud
-DBROOTPW=
-MSLOG=vmops.log
-APISERVERLOG=api.log
-DBHOST=localhost
-DBDRIVER=jdbc:mysql
-COMPONENTS-SPEC=components-premium.xml
-REMOTEHOST=localhost
-AGENTCLASSPATH=
-AGENTLOG=/var/log/cloudstack/agent/agent.log
-AGENTLOGDIR=/var/log/cloudstack/agent/
-AGENTSYSCONFDIR=/etc/cloudstack/agent
-APISERVERLOG=/var/log/cloudstack/management/apilog.log
-BINDIR=/usr/bin
-COMMONLIBDIR=/usr/share/cloudstack-common
-CONFIGUREVARS=
-DEPSCLASSPATH=
-DOCDIR=
-IPALOCATORLOG=/var/log/cloudstack/management/ipallocator.log
-JAVADIR=/usr/share/java
-LIBEXECDIR=/usr/libexec
-LOCKDIR=/var/lock
-MSCLASSPATH=
-MSCONF=/etc/cloudstack/management
-MSENVIRON=/usr/share/cloudstack-management
-MSLOG=/var/log/cloudstack/management/management-server.log
-MSLOGDIR=/var/log/cloudstack/management/
-MSMNTDIR=/var/cloudstack/mnt
-MSUSER=cloud
-PIDDIR=/var/run
-PLUGINJAVADIR=/usr/share/cloudstack-management/plugin
-PREMIUMJAVADIR=/usr/share/cloudstack-management/premium
-PYTHONDIR=/usr/lib/python3.6/site-packages/
-SERVERSYSCONFDIR=/etc/sysconfig
-SETUPDATADIR=/usr/share/cloudstack-management/setup
-SYSCONFDIR=/etc/sysconfig
-SYSTEMCLASSPATH=
-SYSTEMJARS=
-USAGECLASSPATH=
-USAGELOG=/var/log/cloudstack/usage/usage.log
-USAGESYSCONFDIR=/etc/sysconfig
diff --git a/packaging/centos8 b/packaging/centos8
new file mode 120000
index 00000000000..4dad90d45e0
--- /dev/null
+++ b/packaging/centos8
@@ -0,0 +1 @@
+el8
\ No newline at end of file
diff --git a/packaging/centos8/cloud-ipallocator.rc
b/packaging/centos8/cloud-ipallocator.rc
deleted file mode 100755
index 255725b94d0..00000000000
--- a/packaging/centos8/cloud-ipallocator.rc
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/bash
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# chkconfig: 35 99 10
-# description: Cloud Agent
-
-# WARNING: if this script is changed, then all other initscripts MUST BE
changed to match it as well
-
-. /etc/rc.d/init.d/functions
-
-# set environment variables
-
-SHORTNAME="$(basename $(readlink -f $0))"
-PIDFILE=/var/run/"$SHORTNAME".pid
-LOCKFILE=/var/lock/subsys/"$SHORTNAME"
-LOGFILE=/var/log/cloudstack/ipallocator/ipallocator.log
-PROGNAME="External IPAllocator"
-
-unset OPTIONS
-[ -r /etc/sysconfig/"$SHORTNAME" ] && source /etc/sysconfig/"$SHORTNAME"
-DAEMONIZE=/usr/bin/cloud-daemonize
-PROG=/usr/bin/cloud-external-ipallocator.py
-OPTIONS=8083
-
-start() {
- echo -n $"Starting $PROGNAME: "
- if hostname --fqdn >/dev/null 2>&1 ; then
- daemon --check=$SHORTNAME --pidfile=${PIDFILE} "$DAEMONIZE" \
- -n "$SHORTNAME" -p "$PIDFILE" -l "$LOGFILE" "$PROG"
$OPTIONS
- RETVAL=$?
- echo
- else
- failure
- echo
- echo The host name does not resolve properly to an IP address.
Cannot start "$PROGNAME". > /dev/stderr
- RETVAL=9
- fi
- [ $RETVAL = 0 ] && touch ${LOCKFILE}
- return $RETVAL
-}
-
-stop() {
- echo -n $"Stopping $PROGNAME: "
- killproc -p ${PIDFILE} $SHORTNAME # -d 10 $SHORTNAME
- RETVAL=$?
- echo
- [ $RETVAL = 0 ] && rm -f ${LOCKFILE} ${PIDFILE}
-}
-
-
-# See how we were called.
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- status -p ${PIDFILE} $SHORTNAME
- RETVAL=$?
- ;;
- restart)
- stop
- sleep 3
- start
- ;;
- condrestart)
- if status -p ${PIDFILE} $SHORTNAME >&/dev/null; then
- stop
- sleep 3
- start
- fi
- ;;
- *)
- echo $"Usage: $SHORTNAME {start|stop|restart|condrestart|status|help}"
- RETVAL=3
-esac
-
-exit $RETVAL
diff --git a/packaging/centos8/cloud.limits b/packaging/centos8/cloud.limits
deleted file mode 100644
index 7debeb29018..00000000000
--- a/packaging/centos8/cloud.limits
+++ /dev/null
@@ -1,19 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-cloud hard nofile 4096
-cloud soft nofile 4096
diff --git a/packaging/centos8/cloudstack-agent.te
b/packaging/centos8/cloudstack-agent.te
deleted file mode 100644
index 4259e173a46..00000000000
--- a/packaging/centos8/cloudstack-agent.te
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-module cloudstack-agent 1.0;
-
-require {
- type nfs_t;
- type system_conf_t;
- type mount_t;
- type qemu_t;
- class file unlink;
- class filesystem getattr;
-}
-
-#============= mount_t ==============
-allow mount_t system_conf_t:file unlink;
-
-#============= qemu_t ==============
-allow qemu_t nfs_t:filesystem getattr;
diff --git a/packaging/centos8/cloudstack-sccs
b/packaging/centos8/cloudstack-sccs
deleted file mode 100644
index e05d372c7fe..00000000000
--- a/packaging/centos8/cloudstack-sccs
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-cat /usr/share/cloudstack-common/scripts/gitrev.txt
diff --git a/packaging/centos7/cloud-ipallocator.rc
b/packaging/el8/cloud-ipallocator.rc
similarity index 100%
rename from packaging/centos7/cloud-ipallocator.rc
rename to packaging/el8/cloud-ipallocator.rc
diff --git a/packaging/centos7/cloud.limits b/packaging/el8/cloud.limits
similarity index 100%
rename from packaging/centos7/cloud.limits
rename to packaging/el8/cloud.limits
diff --git a/packaging/centos8/cloud.spec b/packaging/el8/cloud.spec
similarity index 98%
rename from packaging/centos8/cloud.spec
rename to packaging/el8/cloud.spec
index 3b801f0f1f3..adc8c2e2b35 100644
--- a/packaging/centos8/cloud.spec
+++ b/packaging/el8/cloud.spec
@@ -36,7 +36,7 @@ Group: System Environment/Libraries
Source0: %{name}-%{_maventag}.tgz
BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build
-BuildRequires: java-11-openjdk-devel
+BuildRequires: (java-11-openjdk-devel or java-17-openjdk-devel)
#BuildRequires: ws-commons-util
BuildRequires: jpackage-utils
BuildRequires: gcc
@@ -181,7 +181,7 @@ echo Doing CloudStack build
%build
-cp packaging/centos8/replace.properties build/replace.properties
+cp packaging/el8/replace.properties build/replace.properties
echo VERSION=%{_maventag} >> build/replace.properties
echo PACKAGE=%{name} >> build/replace.properties
touch build/gitrev.txt
@@ -232,7 +232,7 @@ cp -r python/lib/cloudutils
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/python-s
python3 -m py_compile
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/python-site/cloud_utils.py
python3 -m compileall
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/python-site/cloudutils
cp build/gitrev.txt ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts
-cp packaging/centos8/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin
+cp packaging/el8/cloudstack-sccs ${RPM_BUILD_ROOT}/usr/bin
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco
cp -r plugins/network-elements/cisco-vnmc/src/main/scripts/network/cisco/*
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts/network/cisco
@@ -290,8 +290,8 @@ install python/bindir/cloud-external-ipallocator.py
${RPM_BUILD_ROOT}%{_bindir}/
install -D client/target/pythonlibs/jasypt-1.9.3.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/jasypt-1.9.3.jar
install -D utils/target/cloud-utils-%{_maventag}-bundled.jar
${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/lib/%{name}-utils.jar
-install -D packaging/centos8/cloud-ipallocator.rc
${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator
-install -D packaging/centos8/cloud.limits
${RPM_BUILD_ROOT}%{_sysconfdir}/security/limits.d/cloud
+install -D packaging/el8/cloud-ipallocator.rc
${RPM_BUILD_ROOT}%{_initrddir}/%{name}-ipallocator
+install -D packaging/el8/cloud.limits
${RPM_BUILD_ROOT}%{_sysconfdir}/security/limits.d/cloud
install -D packaging/systemd/cloudstack-management.service
${RPM_BUILD_ROOT}%{_unitdir}/%{name}-management.service
install -D packaging/systemd/cloudstack-management.default
${RPM_BUILD_ROOT}%{_sysconfdir}/default/%{name}-management
install -D server/target/conf/cloudstack-sudoers
${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d/%{name}-management
diff --git a/packaging/centos7/cloudstack-agent.te
b/packaging/el8/cloudstack-agent.te
similarity index 100%
rename from packaging/centos7/cloudstack-agent.te
rename to packaging/el8/cloudstack-agent.te
diff --git a/packaging/centos7/cloudstack-sccs b/packaging/el8/cloudstack-sccs
similarity index 100%
rename from packaging/centos7/cloudstack-sccs
rename to packaging/el8/cloudstack-sccs
diff --git a/packaging/centos8/replace.properties
b/packaging/el8/replace.properties
similarity index 100%
rename from packaging/centos8/replace.properties
rename to packaging/el8/replace.properties
diff --git a/packaging/el9 b/packaging/el9
index 575742e7ff2..4dad90d45e0 120000
--- a/packaging/el9
+++ b/packaging/el9
@@ -1 +1 @@
-centos8
\ No newline at end of file
+el8
\ No newline at end of file
diff --git a/packaging/package.sh b/packaging/package.sh
index bf95f84a11a..ecffaace48b 100755
--- a/packaging/package.sh
+++ b/packaging/package.sh
@@ -22,11 +22,11 @@ Usage: ./package.sh -d DISTRO [OPTIONS]...
Package CloudStack for specific distribution and provided options.
If there's a "branding" string in the POM version (e.g.
x.y.z.a-NAME[-SNAPSHOT]), the branding name will
-be used in the final generated package like:
cloudstack-management-x.y.z.a-NAME.NUMBER.el7.centos.x86_64
+be used in the final generated package like:
cloudstack-management-x.y.z.a-NAME.NUMBER.el.x86_64
note that you can override/provide "branding" string with "-b, --brand" flag
as well.
Mandatory arguments:
- -d, --distribution string Build package for specified
distribution ("centos7")
+ -d, --distribution string Build package for specified
distribution ("el8")
Optional arguments:
-p, --pack string Define which type of libraries to
package ("oss"|"OSS"|"noredist"|"NOREDIST") (default "oss")
@@ -42,12 +42,12 @@ Other arguments:
-h, --help Display this help message and exit
Examples:
- package.sh --distribution centos7
- package.sh --distribution centos7 --pack oss
- package.sh --distribution centos7 --pack noredist
- package.sh --distribution centos7 --pack noredist -t "kvm,xen"
- package.sh --distribution centos7 --release 42
- package.sh --distribution centos7 --pack noredist --release 42
+ package.sh --distribution el8
+ package.sh --distribution el8 --pack oss
+ package.sh --distribution el8 --pack noredist
+ package.sh --distribution el8 --pack noredist -t "kvm,xen"
+ package.sh --distribution el8 --release 42
+ package.sh --distribution el8 --pack noredist --release 42
USAGE
exit 0
diff --git a/packaging/suse15 b/packaging/suse15
index 575742e7ff2..4dad90d45e0 120000
--- a/packaging/suse15
+++ b/packaging/suse15
@@ -1 +1 @@
-centos8
\ No newline at end of file
+el8
\ No newline at end of file
diff --git a/plugins/api/rate-limit/pom.xml b/plugins/api/rate-limit/pom.xml
index 73bdd0697d1..2449a23f2d0 100644
--- a/plugins/api/rate-limit/pom.xml
+++ b/plugins/api/rate-limit/pom.xml
@@ -34,7 +34,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>always</forkMode>
- <argLine>@{argLine} -Xmx2048m
-XX:MaxPermSize=1024m</argLine>
+ <argLine>@{argLine} -Xmx2048m
-XX:MaxMetaspaceSize=1024m</argLine>
<excludes>
<exclude>org/apache/cloudstack/ratelimit/integration/*</exclude>
</excludes>
diff --git a/plugins/hypervisors/hyperv/pom.xml
b/plugins/hypervisors/hyperv/pom.xml
index b24c4c8a847..56b2b6d1503 100644
--- a/plugins/hypervisors/hyperv/pom.xml
+++ b/plugins/hypervisors/hyperv/pom.xml
@@ -55,7 +55,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<configuration>
<executable>java</executable>
<mainClass>com.cloud.agent.AgentShell</mainClass>
@@ -137,6 +137,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<phase>compile</phase>
diff --git a/plugins/network-elements/brocade-vcs/pom.xml
b/plugins/network-elements/brocade-vcs/pom.xml
index 255c8e6bdfc..1363658d179 100644
--- a/plugins/network-elements/brocade-vcs/pom.xml
+++ b/plugins/network-elements/brocade-vcs/pom.xml
@@ -32,7 +32,7 @@
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
- <version>0.14.0</version>
+ <version>0.15.3</version>
<executions>
<execution>
<id>interface</id>
diff --git a/plugins/storage/volume/storpool/pom.xml
b/plugins/storage/volume/storpool/pom.xml
index 8a7fda0ce79..e1555dc8958 100644
--- a/plugins/storage/volume/storpool/pom.xml
+++ b/plugins/storage/volume/storpool/pom.xml
@@ -68,9 +68,16 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>1.5</version>
+ <groupId>org.codehaus.gmavenplus</groupId>
+ <artifactId>gmavenplus-plugin</artifactId>
+ <version>${cs.gmavenplus.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <version>${cs.groovy.version}</version>
+ </dependency>
+ </dependencies>
<executions>
<execution>
<id>set-properties</id>
@@ -79,15 +86,16 @@
<goal>execute</goal>
</goals>
<configuration>
- <providerSelection>1.7</providerSelection>
- <source>
- File git = new File("./.git")
- if (!git.exists()) {
-
pom.properties['storpool.skip.git.properties'] = 'true'
- } else {
-
pom.properties['storpool.skip.git.properties'] = 'false'
- }
- </source>
+ <scripts>
+ <script><![CDATA[
+ File git = new File("./.git")
+ if (!git.exists()) {
+
project.properties['storpool.skip.git.properties'] = 'true'
+ } else {
+
project.properties['storpool.skip.git.properties'] = 'false'
+ }
+ ]]></script>
+ </scripts>
</configuration>
</execution>
</executions>
diff --git a/plugins/user-authenticators/ldap/pom.xml
b/plugins/user-authenticators/ldap/pom.xml
index 134dfb5efdb..010284e3766 100644
--- a/plugins/user-authenticators/ldap/pom.xml
+++ b/plugins/user-authenticators/ldap/pom.xml
@@ -30,7 +30,6 @@
<properties>
<ads.version>2.0.0.AM25</ads.version>
- <gmaven.version>1.5</gmaven.version>
<ldap-maven.version>1.3.2</ldap-maven.version>
<ldapunit.version>1.1.3</ldapunit.version>
<groovy.version>1.1-groovy-2.4</groovy.version>
@@ -41,18 +40,21 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>${gmaven.version}</version>
- <configuration>
- <providerSelection>1.7</providerSelection>
- <source/>
- </configuration>
+ <groupId>org.codehaus.gmavenplus</groupId>
+ <artifactId>gmavenplus-plugin</artifactId>
+ <version>${cs.gmavenplus.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <version>${cs.groovy.version}</version>
+ </dependency>
+ </dependencies>
<executions>
<execution>
<goals>
<goal>compile</goal>
- <goal>testCompile</goal>
+ <goal>compileTests</goal>
</goals>
<configuration>
<sources>
@@ -66,29 +68,12 @@
</configuration>
</execution>
</executions>
- <dependencies>
- <dependency>
- <groupId>org.codehaus.gmaven.runtime</groupId>
- <artifactId>gmaven-runtime-1.7</artifactId>
- <version>${gmaven.version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-all</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.codehaus.groovy</groupId>
- <artifactId>groovy-all</artifactId>
- <version>${cs.groovy.version}</version>
- </dependency>
- </dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
+ <argLine>@{argLine}
--add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED</argLine>
<includes>
<include>**/*Spec.groovy</include>
<include>**/*Test.java</include>
diff --git
a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapTestConfigTool.java
b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapTestConfigTool.java
index 47f201de479..4197bad4f2d 100644
---
a/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapTestConfigTool.java
+++
b/plugins/user-authenticators/ldap/src/test/java/org/apache/cloudstack/ldap/LdapTestConfigTool.java
@@ -19,7 +19,6 @@ package org.apache.cloudstack.ldap;
import org.apache.cloudstack.framework.config.ConfigKey;
import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
public class LdapTestConfigTool {
public LdapTestConfigTool() {
@@ -31,18 +30,12 @@ public class LdapTestConfigTool {
ConfigKey key = (ConfigKey)configKey.get(ldapConfiguration);
- Field modifiersField = Field.class.getDeclaredField("modifiers");
- modifiersField.setAccessible(true);
- modifiersField.setInt(configKey, configKey.getModifiers() &
~Modifier.FINAL);
-
Field f = ConfigKey.class.getDeclaredField("_value");
f.setAccessible(true);
- modifiersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);
f.set(key, o);
Field dynamic = ConfigKey.class.getDeclaredField("_isDynamic");
dynamic.setAccessible(true);
- modifiersField.setInt(dynamic, dynamic.getModifiers() &
~Modifier.FINAL);
dynamic.setBoolean(key, false);
}
}
diff --git a/pom.xml b/pom.xml
index 727ac2f7c5b..ed3fa73506e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,7 @@
<cs.jdk.version>11</cs.jdk.version>
<cs.target.dir>target</cs.target.dir>
<cs.replace.properties>build/replace.properties</cs.replace.properties>
- <argLine>-Djava.security.egd=file:/dev/./urandom -noverify</argLine>
+ <argLine>-Djava.security.egd=file:/dev/./urandom -noverify
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-exports=java.base/sun.security.x509=ALL-UNNAMED
--add-opens=java.base/javax.net.ssl=ALL-UNNAMED</argLine>
<!-- Plugins versions -->
<cs.antrun-plugin.version>1.8</cs.antrun-plugin.version>
@@ -79,6 +79,7 @@
<cs.site-plugin.version>3.8.2</cs.site-plugin.version>
<cs.surefire-plugin.version>2.22.2</cs.surefire-plugin.version>
<cs.clover-maven-plugin.version>4.4.1</cs.clover-maven-plugin.version>
+ <cs.exec-maven-plugin.version>3.2.0</cs.exec-maven-plugin.version>
<!-- Logging versions -->
<cs.log4j.version>2.19.0</cs.log4j.version>
@@ -137,6 +138,7 @@
<cs.cxf.version>3.2.14</cs.cxf.version>
<cs.ehcache.version>2.6.11</cs.ehcache.version>
<cs.globodns-client.version>0.0.27</cs.globodns-client.version>
+ <cs.gmavenplus.version>3.0.2</cs.gmavenplus.version>
<cs.google-http-client>1.42.3</cs.google-http-client>
<cs.groovy.version>2.4.17</cs.groovy.version>
<cs.gson.version>1.7.2</cs.gson.version>
@@ -185,7 +187,6 @@
<cs.xstream.version>1.4.20</cs.xstream.version>
<org.springframework.version>5.3.26</org.springframework.version>
<cs.ini.version>0.5.4</cs.ini.version>
- <cs.gmaven.version>1.12.0</cs.gmaven.version>
</properties>
<distributionManagement>
@@ -933,20 +934,6 @@
<ignore />
</action>
</pluginExecution>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <versionRange>[1.3,)</versionRange>
- <goals>
- <goal>compile</goal>
- <goal>testCompile</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore></ignore>
- </action>
- </pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/server/pom.xml b/server/pom.xml
index e18dcb5fe28..269583c381a 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -218,7 +218,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <argLine>@{argLine} -Xmx2048m -XX:MaxPermSize=512m
-Djava.security.egd=file:/dev/./urandom</argLine>
+ <argLine>@{argLine} -Xmx2048m -XX:MaxMetaspaceSize=512m
-Djava.security.egd=file:/dev/./urandom</argLine>
<excludes>
<exclude>%regex[.*[0-9]*To[0-9]*.*Test.*]</exclude>
<exclude>com/cloud/upgrade/AdvanceZone223To224UpgradeTest</exclude>
diff --git a/services/secondary-storage/server/pom.xml
b/services/secondary-storage/server/pom.xml
index 058aae05a48..0e72754561c 100644
--- a/services/secondary-storage/server/pom.xml
+++ b/services/secondary-storage/server/pom.xml
@@ -83,7 +83,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<goals>
diff --git a/systemvm/pom.xml b/systemvm/pom.xml
index ea91ed49283..8fd0b59e703 100644
--- a/systemvm/pom.xml
+++ b/systemvm/pom.xml
@@ -186,7 +186,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<goals>
diff --git a/tools/apidoc/pom.xml b/tools/apidoc/pom.xml
index c16795065f0..f2321df6788 100644
--- a/tools/apidoc/pom.xml
+++ b/tools/apidoc/pom.xml
@@ -51,7 +51,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<id>compile</id>
diff --git a/tools/devcloud-kvm/pom.xml b/tools/devcloud-kvm/pom.xml
index 2cc0fde262b..d6266fad7c2 100644
--- a/tools/devcloud-kvm/pom.xml
+++ b/tools/devcloud-kvm/pom.xml
@@ -124,7 +124,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<phase>package</phase>
diff --git a/tools/marvin/pom.xml b/tools/marvin/pom.xml
index df1186d18b7..ea963fc8da7 100644
--- a/tools/marvin/pom.xml
+++ b/tools/marvin/pom.xml
@@ -59,7 +59,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<id>generate-sources</id>
@@ -113,7 +113,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<id>generate-sources</id>
@@ -177,9 +177,16 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>1.5</version>
+ <groupId>org.codehaus.gmavenplus</groupId>
+ <artifactId>gmavenplus-plugin</artifactId>
+ <version>${cs.gmavenplus.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <version>${cs.groovy.version}</version>
+ </dependency>
+ </dependencies>
<executions>
<execution>
<id>setproperty</id>
@@ -188,10 +195,12 @@
<goal>execute</goal>
</goals>
<configuration>
- <source>
-
pom.properties['resolved.basedir']=project.basedir.absolutePath.replace('\','/').replace('D:','/cyg/d');
-
pom.properties['resolved.userdir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
- </source>
+ <scripts>
+ <script><![CDATA[
+
project.properties['resolved.basedir']=project.basedir.absolutePath.replace('\','/').replace('D:','/cyg/d');
+
project.properties['resolved.userdir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
+ ]]></script>
+ </scripts>
</configuration>
</execution>
</executions>
@@ -199,7 +208,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<id>pre-integration-test</id>
@@ -234,9 +243,16 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>gmaven-plugin</artifactId>
- <version>1.5</version>
+ <groupId>org.codehaus.gmavenplus</groupId>
+ <artifactId>gmavenplus-plugin</artifactId>
+ <version>${cs.gmavenplus.version}</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.codehaus.groovy</groupId>
+ <artifactId>groovy-all</artifactId>
+ <version>${cs.groovy.version}</version>
+ </dependency>
+ </dependencies>
<executions>
<execution>
<id>setproperty</id>
@@ -249,10 +265,12 @@
<resolved.user.dir>${user.dir}</resolved.user.dir>
<resolved.marvin.config>${marvin.config}</resolved.marvin.config>
</properties>
- <source>
-
project.properties['resolved.user.dir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
-
project.properties['resolved.marvin.config']='${marvin.config}'.replace('\','/').replace('D:','/cyg/d');
- </source>
+ <scripts>
+ <script><![CDATA[
+
project.properties['resolved.user.dir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
+
project.properties['resolved.marvin.config']='${marvin.config}'.replace('\','/').replace('D:','/cyg/d');
+ ]]></script>
+ </scripts>
</configuration>
</execution>
</executions>
@@ -260,7 +278,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<executions>
<execution>
<id>integration-test</id>
diff --git a/usage/pom.xml b/usage/pom.xml
index 7446e25f097..13c3fc30ebb 100644
--- a/usage/pom.xml
+++ b/usage/pom.xml
@@ -149,7 +149,7 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${cs.exec-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.cloudstack</groupId>