mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
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 <wei.zhou@shapeblue.com> Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com> Co-authored-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
parent
b61c3b8102
commit
d7ca05e5ba
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -43,7 +43,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.8'
|
python-version: '3.10'
|
||||||
architecture: 'x64'
|
architecture: 'x64'
|
||||||
|
|
||||||
- name: Install Build Dependencies
|
- name: Install Build Dependencies
|
||||||
|
|||||||
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -226,7 +226,7 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.8'
|
python-version: '3.10'
|
||||||
architecture: 'x64'
|
architecture: 'x64'
|
||||||
|
|
||||||
- name: Install Build Dependencies
|
- name: Install Build Dependencies
|
||||||
@ -284,7 +284,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Start CloudStack Management Server with Simulator
|
- name: Start CloudStack Management Server with Simulator
|
||||||
run: |
|
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"
|
echo -e "\nStarting simulator"
|
||||||
set +e
|
set +e
|
||||||
mvn -Dsimulator -Dorg.eclipse.jetty.annotations.maxWait=120 -pl :cloud-client-ui jetty:run 2>&1 > /tmp/jetty-log || true &
|
mvn -Dsimulator -Dorg.eclipse.jetty.annotations.maxWait=120 -pl :cloud-client-ui jetty:run 2>&1 > /tmp/jetty-log || true &
|
||||||
|
|||||||
4
.github/workflows/codecov.yml
vendored
4
.github/workflows/codecov.yml
vendored
@ -36,11 +36,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up JDK11
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '11'
|
java-version: '17'
|
||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
|
|
||||||
- name: Build CloudStack with Quality Checks
|
- name: Build CloudStack with Quality Checks
|
||||||
|
|||||||
4
.github/workflows/main-sonar-check.yml
vendored
4
.github/workflows/main-sonar-check.yml
vendored
@ -36,11 +36,11 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up JDK11
|
- name: Set up JDK17
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '11'
|
java-version: '17'
|
||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
|
|
||||||
- name: Cache SonarCloud packages
|
- name: Cache SonarCloud packages
|
||||||
|
|||||||
4
.github/workflows/rat.yml
vendored
4
.github/workflows/rat.yml
vendored
@ -31,10 +31,10 @@ jobs:
|
|||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Set up JDK 11
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
java-version: '11'
|
java-version: '17'
|
||||||
distribution: 'adopt'
|
distribution: 'adopt'
|
||||||
architecture: x64
|
architecture: x64
|
||||||
cache: maven
|
cache: maven
|
||||||
|
|||||||
4
.github/workflows/sonar-check.yml
vendored
4
.github/workflows/sonar-check.yml
vendored
@ -38,11 +38,11 @@ jobs:
|
|||||||
ref: "refs/pull/${{ github.event.number }}/merge"
|
ref: "refs/pull/${{ github.event.number }}/merge"
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up JDK11
|
- name: Set up JDK17
|
||||||
uses: actions/setup-java@v4
|
uses: actions/setup-java@v4
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '11'
|
java-version: '17'
|
||||||
cache: 'maven'
|
cache: 'maven'
|
||||||
|
|
||||||
- name: Cache SonarCloud packages
|
- name: Cache SonarCloud packages
|
||||||
|
|||||||
2
.github/workflows/ui.yml
vendored
2
.github/workflows/ui.yml
vendored
@ -36,7 +36,7 @@ jobs:
|
|||||||
- name: Set up Node
|
- name: Set up Node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: 14
|
node-version: 16
|
||||||
|
|
||||||
- name: Env details
|
- name: Env details
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@ -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 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:
|
Start the management server:
|
||||||
|
|
||||||
|
|||||||
2
debian/control
vendored
2
debian/control
vendored
@ -2,7 +2,7 @@ Source: cloudstack
|
|||||||
Section: libs
|
Section: libs
|
||||||
Priority: extra
|
Priority: extra
|
||||||
Maintainer: Wido den Hollander <wido@widodh.nl>
|
Maintainer: Wido den Hollander <wido@widodh.nl>
|
||||||
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-mysql.connector | python3-mysql.connector, maven (>= 3) | maven3,
|
||||||
python (>= 2.7) | python2 (>= 2.7), python3 (>= 3), python-setuptools, python3-setuptools,
|
python (>= 2.7) | python2 (>= 2.7), python3 (>= 3), python-setuptools, python3-setuptools,
|
||||||
nodejs (>= 12), lsb-release, dh-systemd | debhelper (>= 13)
|
nodejs (>= 12), lsb-release, dh-systemd | debhelper (>= 13)
|
||||||
|
|||||||
@ -28,6 +28,12 @@
|
|||||||
<version>4.20.0.0-SNAPSHOT</version>
|
<version>4.20.0.0-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.mysql</groupId>
|
||||||
|
<artifactId>mysql-connector-j</artifactId>
|
||||||
|
<version>${cs.mysql.version}</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-dbcp2</artifactId>
|
<artifactId>commons-dbcp2</artifactId>
|
||||||
@ -108,28 +114,25 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</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>
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>process-resources</phase>
|
<phase>process-resources</phase>
|
||||||
<id>create-schema</id>
|
<id>create-schema</id>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>java</goal>
|
<goal>exec</goal>
|
||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
<configuration>
|
<configuration>
|
||||||
<mainClass>com.cloud.upgrade.DatabaseCreator</mainClass>
|
<executable>java</executable>
|
||||||
|
<workingDirectory>${basedir}/..</workingDirectory>
|
||||||
<includePluginDependencies>true</includePluginDependencies>
|
<includePluginDependencies>true</includePluginDependencies>
|
||||||
<arguments>
|
<arguments>
|
||||||
|
<argument>--add-opens=java.base/java.lang=ALL-UNNAMED</argument>
|
||||||
|
<argument>-classpath</argument>
|
||||||
|
<classpath />
|
||||||
|
<argument>com.cloud.upgrade.DatabaseCreator</argument>
|
||||||
<!-- db properties file -->
|
<!-- db properties file -->
|
||||||
<argument>${basedir}/../utils/conf/db.properties</argument>
|
<argument>${basedir}/../utils/conf/db.properties</argument>
|
||||||
<argument>${basedir}/../utils/conf/db.properties.override</argument>
|
<argument>${basedir}/../utils/conf/db.properties.override</argument>
|
||||||
@ -177,27 +180,25 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.mysql</groupId>
|
|
||||||
<artifactId>mysql-connector-j</artifactId>
|
|
||||||
<version>${cs.mysql.version}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>process-resources</phase>
|
<phase>process-resources</phase>
|
||||||
<id>create-schema-simulator</id>
|
<id>create-schema-simulator</id>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>java</goal>
|
<goal>exec</goal>
|
||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
<configuration>
|
<configuration>
|
||||||
<mainClass>com.cloud.upgrade.DatabaseCreator</mainClass>
|
<executable>java</executable>
|
||||||
|
<workingDirectory>${basedir}/..</workingDirectory>
|
||||||
<includePluginDependencies>true</includePluginDependencies>
|
<includePluginDependencies>true</includePluginDependencies>
|
||||||
<arguments>
|
<arguments>
|
||||||
|
<argument>--add-opens=java.base/java.lang=ALL-UNNAMED</argument>
|
||||||
|
<argument>-classpath</argument>
|
||||||
|
<classpath />
|
||||||
|
<argument>com.cloud.upgrade.DatabaseCreator</argument>
|
||||||
<!-- db properties file -->
|
<!-- db properties file -->
|
||||||
<argument>${basedir}/../utils/conf/db.properties</argument>
|
<argument>${basedir}/../utils/conf/db.properties</argument>
|
||||||
<argument>${basedir}/../utils/conf/db.properties.override</argument>
|
<argument>${basedir}/../utils/conf/db.properties.override</argument>
|
||||||
@ -235,27 +236,25 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.mysql</groupId>
|
|
||||||
<artifactId>mysql-connector-j</artifactId>
|
|
||||||
<version>${cs.mysql.version}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>process-resources</phase>
|
<phase>process-resources</phase>
|
||||||
<id>create-schema-simulator</id>
|
<id>create-schema-simulator</id>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>java</goal>
|
<goal>exec</goal>
|
||||||
</goals>
|
</goals>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
<configuration>
|
<configuration>
|
||||||
<mainClass>com.cloud.upgrade.DatabaseCreator</mainClass>
|
<executable>java</executable>
|
||||||
|
<workingDirectory>${basedir}/..</workingDirectory>
|
||||||
<includePluginDependencies>true</includePluginDependencies>
|
<includePluginDependencies>true</includePluginDependencies>
|
||||||
<arguments>
|
<arguments>
|
||||||
|
<argument>--add-opens=java.base/java.lang=ALL-UNNAMED</argument>
|
||||||
|
<argument>-classpath</argument>
|
||||||
|
<classpath />
|
||||||
|
<argument>com.cloud.upgrade.DatabaseCreator</argument>
|
||||||
<!-- db properties file -->
|
<!-- db properties file -->
|
||||||
<argument>${basedir}/../utils/conf/db.properties</argument>
|
<argument>${basedir}/../utils/conf/db.properties</argument>
|
||||||
<argument>${basedir}/../utils/conf/db.properties.override</argument>
|
<argument>${basedir}/../utils/conf/db.properties.override</argument>
|
||||||
|
|||||||
@ -61,9 +61,16 @@
|
|||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.gmaven</groupId>
|
<groupId>org.codehaus.gmavenplus</groupId>
|
||||||
<artifactId>gmaven-plugin</artifactId>
|
<artifactId>gmavenplus-plugin</artifactId>
|
||||||
<version>1.5</version>
|
<version>${cs.gmavenplus.version}</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy-all</artifactId>
|
||||||
|
<version>${cs.groovy.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>setproperty</id>
|
<id>setproperty</id>
|
||||||
@ -72,12 +79,14 @@
|
|||||||
<goal>execute</goal>
|
<goal>execute</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>
|
<scripts>
|
||||||
def projectVersion = project.properties['project.systemvm.template.version']
|
<script><![CDATA[
|
||||||
String[] versionParts = projectVersion.tokenize('.')
|
def projectVersion = project.properties.getProperty('project.systemvm.template.version')
|
||||||
pom.properties['cs.version'] = versionParts[0] + "." + versionParts[1]
|
String[] versionParts = projectVersion.tokenize('.')
|
||||||
pom.properties['patch.version'] = versionParts[2]
|
project.properties.setProperty('cs.version', versionParts[0] + "." + versionParts[1])
|
||||||
</source>
|
project.properties.setProperty('patch.version', versionParts[2])
|
||||||
|
]]></script>
|
||||||
|
</scripts>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
<execution>
|
<execution>
|
||||||
@ -87,27 +96,29 @@
|
|||||||
<goal>execute</goal>
|
<goal>execute</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>
|
<scripts>
|
||||||
def csVersion = pom.properties['cs.version']
|
<script><![CDATA[
|
||||||
def patch = pom.properties['patch.version']
|
def csVersion = project.properties.getProperty('cs.version')
|
||||||
def templateList = []
|
def patch = project.properties.getProperty('patch.version')
|
||||||
templateList.add("systemvmtemplate-${csVersion}.${patch}-kvm")
|
def templateList = []
|
||||||
templateList.add("systemvmtemplate-${csVersion}.${patch}-vmware")
|
templateList.add("systemvmtemplate-${csVersion}.${patch}-kvm")
|
||||||
templateList.add("systemvmtemplate-${csVersion}.${patch}-xen")
|
templateList.add("systemvmtemplate-${csVersion}.${patch}-vmware")
|
||||||
templateList.add("systemvmtemplate-${csVersion}.${patch}-ovm")
|
templateList.add("systemvmtemplate-${csVersion}.${patch}-xen")
|
||||||
templateList.add("systemvmtemplate-${csVersion}.${patch}-hyperv")
|
templateList.add("systemvmtemplate-${csVersion}.${patch}-ovm")
|
||||||
File file = new File("./engine/schema/dist/systemvm-templates/md5sum.txt")
|
templateList.add("systemvmtemplate-${csVersion}.${patch}-hyperv")
|
||||||
def lines = file.readLines()
|
File file = new File("./engine/schema/dist/systemvm-templates/md5sum.txt")
|
||||||
for (template in templateList) {
|
def lines = file.readLines()
|
||||||
def data = lines.findAll { it.contains(template) }
|
for (template in templateList) {
|
||||||
if (data != null) {
|
def data = lines.findAll { it.contains(template) }
|
||||||
if (data.size() > 0) {
|
if (data != null) {
|
||||||
def hypervisor = template.tokenize('-')[-1]
|
if (data.size() > 0) {
|
||||||
pom.properties["$hypervisor" + ".checksum"] = data[0].tokenize(' ')[0]
|
def hypervisor = template.tokenize('-')[-1]
|
||||||
|
project.properties["$hypervisor" + ".checksum"] = data[0].tokenize(' ')[0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
]]></script>
|
||||||
</source>
|
</scripts>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
@ -135,7 +146,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>systemvm-template-metadata</id>
|
<id>systemvm-template-metadata</id>
|
||||||
|
|||||||
@ -66,6 +66,11 @@
|
|||||||
<build>
|
<build>
|
||||||
<finalName>engine</finalName>
|
<finalName>engine</finalName>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-war-plugin</artifactId>
|
||||||
|
<version>3.4.0</version>
|
||||||
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.eclipse.jetty</groupId>
|
<groupId>org.eclipse.jetty</groupId>
|
||||||
<artifactId>jetty-maven-plugin</artifactId>
|
<artifactId>jetty-maven-plugin</artifactId>
|
||||||
|
|||||||
@ -21,7 +21,6 @@ package org.apache.cloudstack.storage.motion;
|
|||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.Modifier;
|
|
||||||
|
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
@ -55,8 +54,6 @@ public class AncientDataMotionStrategyTest {
|
|||||||
@Mock
|
@Mock
|
||||||
PrimaryDataStoreTO dataStoreTO;
|
PrimaryDataStoreTO dataStoreTO;
|
||||||
@Mock
|
@Mock
|
||||||
ConfigKey<Boolean> vmwareKey;
|
|
||||||
@Mock
|
|
||||||
StorageManager storageManager;
|
StorageManager storageManager;
|
||||||
@Mock
|
@Mock
|
||||||
StoragePool storagePool;
|
StoragePool storagePool;
|
||||||
@ -66,9 +63,7 @@ public class AncientDataMotionStrategyTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setup() throws Exception {
|
public void setup() throws Exception {
|
||||||
replaceVmwareCreateCloneFullField();
|
overrideDefaultConfigValue(StorageManager.VmwareCreateCloneFull, String.valueOf(FULL_CLONE_FLAG));
|
||||||
|
|
||||||
when(vmwareKey.valueIn(POOL_ID)).thenReturn(FULL_CLONE_FLAG);
|
|
||||||
|
|
||||||
when(dataTO.getHypervisorType()).thenReturn(HypervisorType.VMware);
|
when(dataTO.getHypervisorType()).thenReturn(HypervisorType.VMware);
|
||||||
when(dataTO.getDataStore()).thenReturn(dataStoreTO);
|
when(dataTO.getDataStore()).thenReturn(dataStoreTO);
|
||||||
@ -76,14 +71,10 @@ public class AncientDataMotionStrategyTest {
|
|||||||
when(storageManager.getStoragePool(POOL_ID)).thenReturn(storagePool);
|
when(storageManager.getStoragePool(POOL_ID)).thenReturn(storagePool);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void replaceVmwareCreateCloneFullField() throws Exception {
|
private void overrideDefaultConfigValue(final ConfigKey configKey, final String value) throws IllegalAccessException, NoSuchFieldException {
|
||||||
Field field = StorageManager.class.getDeclaredField("VmwareCreateCloneFull");
|
final Field f = ConfigKey.class.getDeclaredField("_defaultValue");
|
||||||
field.setAccessible(true);
|
f.setAccessible(true);
|
||||||
// remove final modifier from field
|
f.set(configKey, value);
|
||||||
Field modifiersField = Field.class.getDeclaredField("modifiers");
|
|
||||||
modifiersField.setAccessible(true);
|
|
||||||
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
|
|
||||||
field.set(null, vmwareKey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@ -6,9 +6,9 @@ These scripts are also used by the CloudStack team to build packages for the off
|
|||||||
# Requirements
|
# 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.
|
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
|
* CentOS / RHEL: 8 and 9
|
||||||
* Debian 7 (Wheezy) and 8 (Jessy) (untested!)
|
* Ubuntu: 20.04, 22.04, 24.04
|
||||||
* Ubuntu: 16.04 (Xenial), 18.04 (Bionic) and 20.04 (Focal)
|
* Debian 12 (Bookworm, untested!)
|
||||||
|
|
||||||
# Building
|
# Building
|
||||||
Using the scripts in the *packaging* directory the RPM and DEB packages can be build.
|
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
|
## RPM
|
||||||
The *package.sh* script can be used to build RPM packages for CloudStack. In the *packaging* script you can run the following command:
|
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``
|
||||||
|
|||||||
@ -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 <dev@cloudstack.apache.org>
|
|
||||||
Packager: Apache CloudStack <dev@cloudstack.apache.org>
|
|
||||||
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/cloudstack-rolling-maintenance@.service ${RPM_BUILD_ROOT}%{_unitdir}/%{name}-rolling-maintenance@.service
|
|
||||||
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}-rolling-maintenance@.service
|
|
||||||
%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 <daan.hoogland@gmail.com> 4.18.0
|
|
||||||
- initialising sanity check pointer file
|
|
||||||
|
|
||||||
* Thu Apr 30 2015 Rohit Yadav <bhaisaab@apache.org> 4.6.0
|
|
||||||
- Remove awsapi package
|
|
||||||
|
|
||||||
* Wed Nov 19 2014 Hugo Trippaers <hugo@apache.org> 4.6.0
|
|
||||||
- Create a specific spec for CentOS 7
|
|
||||||
|
|
||||||
* Fri Jul 4 2014 Hugo Trippaers <hugo@apache.org> 4.5.0
|
|
||||||
- Add a package for the mysql ha module
|
|
||||||
|
|
||||||
* Fri Oct 5 2012 Hugo Trippaers <hugo@apache.org> 4.1.0
|
|
||||||
- new style spec file
|
|
||||||
@ -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
|
|
||||||
1
packaging/centos8
Symbolic link
1
packaging/centos8
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
el8
|
||||||
@ -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
|
|
||||||
@ -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
|
|
||||||
@ -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;
|
|
||||||
@ -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
|
|
||||||
@ -36,7 +36,7 @@ Group: System Environment/Libraries
|
|||||||
Source0: %{name}-%{_maventag}.tgz
|
Source0: %{name}-%{_maventag}.tgz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{_maventag}-%{release}-build
|
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: ws-commons-util
|
||||||
BuildRequires: jpackage-utils
|
BuildRequires: jpackage-utils
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
@ -181,7 +181,7 @@ echo Doing CloudStack build
|
|||||||
|
|
||||||
%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 VERSION=%{_maventag} >> build/replace.properties
|
||||||
echo PACKAGE=%{name} >> build/replace.properties
|
echo PACKAGE=%{name} >> build/replace.properties
|
||||||
touch build/gitrev.txt
|
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 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
|
python3 -m compileall ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/python-site/cloudutils
|
||||||
cp build/gitrev.txt ${RPM_BUILD_ROOT}%{_datadir}/%{name}-common/scripts
|
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
|
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
|
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 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 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/el8/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.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.service ${RPM_BUILD_ROOT}%{_unitdir}/%{name}-management.service
|
||||||
install -D packaging/systemd/cloudstack-management.default ${RPM_BUILD_ROOT}%{_sysconfdir}/default/%{name}-management
|
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
|
install -D server/target/conf/cloudstack-sudoers ${RPM_BUILD_ROOT}%{_sysconfdir}/sudoers.d/%{name}-management
|
||||||
@ -1 +1 @@
|
|||||||
centos8
|
el8
|
||||||
@ -22,11 +22,11 @@ Usage: ./package.sh -d DISTRO [OPTIONS]...
|
|||||||
Package CloudStack for specific distribution and provided 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
|
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.
|
note that you can override/provide "branding" string with "-b, --brand" flag as well.
|
||||||
|
|
||||||
Mandatory arguments:
|
Mandatory arguments:
|
||||||
-d, --distribution string Build package for specified distribution ("centos7")
|
-d, --distribution string Build package for specified distribution ("el8")
|
||||||
|
|
||||||
Optional arguments:
|
Optional arguments:
|
||||||
-p, --pack string Define which type of libraries to package ("oss"|"OSS"|"noredist"|"NOREDIST") (default "oss")
|
-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
|
-h, --help Display this help message and exit
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
package.sh --distribution centos7
|
package.sh --distribution el8
|
||||||
package.sh --distribution centos7 --pack oss
|
package.sh --distribution el8 --pack oss
|
||||||
package.sh --distribution centos7 --pack noredist
|
package.sh --distribution el8 --pack noredist
|
||||||
package.sh --distribution centos7 --pack noredist -t "kvm,xen"
|
package.sh --distribution el8 --pack noredist -t "kvm,xen"
|
||||||
package.sh --distribution centos7 --release 42
|
package.sh --distribution el8 --release 42
|
||||||
package.sh --distribution centos7 --pack noredist --release 42
|
package.sh --distribution el8 --pack noredist --release 42
|
||||||
|
|
||||||
USAGE
|
USAGE
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
centos8
|
el8
|
||||||
@ -34,7 +34,7 @@
|
|||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<forkMode>always</forkMode>
|
<forkMode>always</forkMode>
|
||||||
<argLine>@{argLine} -Xmx2048m -XX:MaxPermSize=1024m</argLine>
|
<argLine>@{argLine} -Xmx2048m -XX:MaxMetaspaceSize=1024m</argLine>
|
||||||
<excludes>
|
<excludes>
|
||||||
<exclude>org/apache/cloudstack/ratelimit/integration/*</exclude>
|
<exclude>org/apache/cloudstack/ratelimit/integration/*</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
|
|||||||
@ -55,7 +55,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<executable>java</executable>
|
<executable>java</executable>
|
||||||
<mainClass>com.cloud.agent.AgentShell</mainClass>
|
<mainClass>com.cloud.agent.AgentShell</mainClass>
|
||||||
@ -137,6 +137,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>compile</phase>
|
<phase>compile</phase>
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.jvnet.jaxb2.maven2</groupId>
|
<groupId>org.jvnet.jaxb2.maven2</groupId>
|
||||||
<artifactId>maven-jaxb2-plugin</artifactId>
|
<artifactId>maven-jaxb2-plugin</artifactId>
|
||||||
<version>0.14.0</version>
|
<version>0.15.3</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>interface</id>
|
<id>interface</id>
|
||||||
|
|||||||
@ -68,9 +68,16 @@
|
|||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.gmaven</groupId>
|
<groupId>org.codehaus.gmavenplus</groupId>
|
||||||
<artifactId>gmaven-plugin</artifactId>
|
<artifactId>gmavenplus-plugin</artifactId>
|
||||||
<version>1.5</version>
|
<version>${cs.gmavenplus.version}</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy-all</artifactId>
|
||||||
|
<version>${cs.groovy.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>set-properties</id>
|
<id>set-properties</id>
|
||||||
@ -79,15 +86,16 @@
|
|||||||
<goal>execute</goal>
|
<goal>execute</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<providerSelection>1.7</providerSelection>
|
<scripts>
|
||||||
<source>
|
<script><![CDATA[
|
||||||
File git = new File("./.git")
|
File git = new File("./.git")
|
||||||
if (!git.exists()) {
|
if (!git.exists()) {
|
||||||
pom.properties['storpool.skip.git.properties'] = 'true'
|
project.properties['storpool.skip.git.properties'] = 'true'
|
||||||
} else {
|
} else {
|
||||||
pom.properties['storpool.skip.git.properties'] = 'false'
|
project.properties['storpool.skip.git.properties'] = 'false'
|
||||||
}
|
}
|
||||||
</source>
|
]]></script>
|
||||||
|
</scripts>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
|
|||||||
@ -30,7 +30,6 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<ads.version>2.0.0.AM25</ads.version>
|
<ads.version>2.0.0.AM25</ads.version>
|
||||||
<gmaven.version>1.5</gmaven.version>
|
|
||||||
<ldap-maven.version>1.3.2</ldap-maven.version>
|
<ldap-maven.version>1.3.2</ldap-maven.version>
|
||||||
<ldapunit.version>1.1.3</ldapunit.version>
|
<ldapunit.version>1.1.3</ldapunit.version>
|
||||||
<groovy.version>1.1-groovy-2.4</groovy.version>
|
<groovy.version>1.1-groovy-2.4</groovy.version>
|
||||||
@ -41,18 +40,21 @@
|
|||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.gmaven</groupId>
|
<groupId>org.codehaus.gmavenplus</groupId>
|
||||||
<artifactId>gmaven-plugin</artifactId>
|
<artifactId>gmavenplus-plugin</artifactId>
|
||||||
<version>${gmaven.version}</version>
|
<version>${cs.gmavenplus.version}</version>
|
||||||
<configuration>
|
<dependencies>
|
||||||
<providerSelection>1.7</providerSelection>
|
<dependency>
|
||||||
<source/>
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
</configuration>
|
<artifactId>groovy-all</artifactId>
|
||||||
|
<version>${cs.groovy.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>compile</goal>
|
<goal>compile</goal>
|
||||||
<goal>testCompile</goal>
|
<goal>compileTests</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<sources>
|
<sources>
|
||||||
@ -66,29 +68,12 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</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>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
<argLine>@{argLine} --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED</argLine>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*Spec.groovy</include>
|
<include>**/*Spec.groovy</include>
|
||||||
<include>**/*Test.java</include>
|
<include>**/*Test.java</include>
|
||||||
|
|||||||
@ -19,7 +19,6 @@ package org.apache.cloudstack.ldap;
|
|||||||
import org.apache.cloudstack.framework.config.ConfigKey;
|
import org.apache.cloudstack.framework.config.ConfigKey;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.Modifier;
|
|
||||||
|
|
||||||
public class LdapTestConfigTool {
|
public class LdapTestConfigTool {
|
||||||
public LdapTestConfigTool() {
|
public LdapTestConfigTool() {
|
||||||
@ -31,18 +30,12 @@ public class LdapTestConfigTool {
|
|||||||
|
|
||||||
ConfigKey key = (ConfigKey)configKey.get(ldapConfiguration);
|
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");
|
Field f = ConfigKey.class.getDeclaredField("_value");
|
||||||
f.setAccessible(true);
|
f.setAccessible(true);
|
||||||
modifiersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);
|
|
||||||
f.set(key, o);
|
f.set(key, o);
|
||||||
|
|
||||||
Field dynamic = ConfigKey.class.getDeclaredField("_isDynamic");
|
Field dynamic = ConfigKey.class.getDeclaredField("_isDynamic");
|
||||||
dynamic.setAccessible(true);
|
dynamic.setAccessible(true);
|
||||||
modifiersField.setInt(dynamic, dynamic.getModifiers() & ~Modifier.FINAL);
|
|
||||||
dynamic.setBoolean(key, false);
|
dynamic.setBoolean(key, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
19
pom.xml
19
pom.xml
@ -58,7 +58,7 @@
|
|||||||
<cs.jdk.version>11</cs.jdk.version>
|
<cs.jdk.version>11</cs.jdk.version>
|
||||||
<cs.target.dir>target</cs.target.dir>
|
<cs.target.dir>target</cs.target.dir>
|
||||||
<cs.replace.properties>build/replace.properties</cs.replace.properties>
|
<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 -->
|
<!-- Plugins versions -->
|
||||||
<cs.antrun-plugin.version>1.8</cs.antrun-plugin.version>
|
<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.site-plugin.version>3.8.2</cs.site-plugin.version>
|
||||||
<cs.surefire-plugin.version>2.22.2</cs.surefire-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.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 -->
|
<!-- Logging versions -->
|
||||||
<cs.log4j.version>2.19.0</cs.log4j.version>
|
<cs.log4j.version>2.19.0</cs.log4j.version>
|
||||||
@ -137,6 +138,7 @@
|
|||||||
<cs.cxf.version>3.2.14</cs.cxf.version>
|
<cs.cxf.version>3.2.14</cs.cxf.version>
|
||||||
<cs.ehcache.version>2.6.11</cs.ehcache.version>
|
<cs.ehcache.version>2.6.11</cs.ehcache.version>
|
||||||
<cs.globodns-client.version>0.0.27</cs.globodns-client.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.google-http-client>1.42.3</cs.google-http-client>
|
||||||
<cs.groovy.version>2.4.17</cs.groovy.version>
|
<cs.groovy.version>2.4.17</cs.groovy.version>
|
||||||
<cs.gson.version>1.7.2</cs.gson.version>
|
<cs.gson.version>1.7.2</cs.gson.version>
|
||||||
@ -185,7 +187,6 @@
|
|||||||
<cs.xstream.version>1.4.20</cs.xstream.version>
|
<cs.xstream.version>1.4.20</cs.xstream.version>
|
||||||
<org.springframework.version>5.3.26</org.springframework.version>
|
<org.springframework.version>5.3.26</org.springframework.version>
|
||||||
<cs.ini.version>0.5.4</cs.ini.version>
|
<cs.ini.version>0.5.4</cs.ini.version>
|
||||||
<cs.gmaven.version>1.12.0</cs.gmaven.version>
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
@ -933,20 +934,6 @@
|
|||||||
<ignore />
|
<ignore />
|
||||||
</action>
|
</action>
|
||||||
</pluginExecution>
|
</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>
|
<pluginExecution>
|
||||||
<pluginExecutionFilter>
|
<pluginExecutionFilter>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
|||||||
@ -218,7 +218,7 @@
|
|||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<configuration>
|
<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>
|
<excludes>
|
||||||
<exclude>%regex[.*[0-9]*To[0-9]*.*Test.*]</exclude>
|
<exclude>%regex[.*[0-9]*To[0-9]*.*Test.*]</exclude>
|
||||||
<exclude>com/cloud/upgrade/AdvanceZone223To224UpgradeTest</exclude>
|
<exclude>com/cloud/upgrade/AdvanceZone223To224UpgradeTest</exclude>
|
||||||
|
|||||||
@ -83,7 +83,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
|
|||||||
@ -186,7 +186,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<goals>
|
<goals>
|
||||||
|
|||||||
@ -51,7 +51,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>compile</id>
|
<id>compile</id>
|
||||||
|
|||||||
@ -124,7 +124,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<phase>package</phase>
|
<phase>package</phase>
|
||||||
|
|||||||
@ -59,7 +59,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>generate-sources</id>
|
<id>generate-sources</id>
|
||||||
@ -113,7 +113,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>generate-sources</id>
|
<id>generate-sources</id>
|
||||||
@ -177,9 +177,16 @@
|
|||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.gmaven</groupId>
|
<groupId>org.codehaus.gmavenplus</groupId>
|
||||||
<artifactId>gmaven-plugin</artifactId>
|
<artifactId>gmavenplus-plugin</artifactId>
|
||||||
<version>1.5</version>
|
<version>${cs.gmavenplus.version}</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy-all</artifactId>
|
||||||
|
<version>${cs.groovy.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>setproperty</id>
|
<id>setproperty</id>
|
||||||
@ -188,10 +195,12 @@
|
|||||||
<goal>execute</goal>
|
<goal>execute</goal>
|
||||||
</goals>
|
</goals>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>
|
<scripts>
|
||||||
pom.properties['resolved.basedir']=project.basedir.absolutePath.replace('\','/').replace('D:','/cyg/d');
|
<script><![CDATA[
|
||||||
pom.properties['resolved.userdir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
|
project.properties['resolved.basedir']=project.basedir.absolutePath.replace('\','/').replace('D:','/cyg/d');
|
||||||
</source>
|
project.properties['resolved.userdir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
|
||||||
|
]]></script>
|
||||||
|
</scripts>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
@ -199,7 +208,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>pre-integration-test</id>
|
<id>pre-integration-test</id>
|
||||||
@ -234,9 +243,16 @@
|
|||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.gmaven</groupId>
|
<groupId>org.codehaus.gmavenplus</groupId>
|
||||||
<artifactId>gmaven-plugin</artifactId>
|
<artifactId>gmavenplus-plugin</artifactId>
|
||||||
<version>1.5</version>
|
<version>${cs.gmavenplus.version}</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy-all</artifactId>
|
||||||
|
<version>${cs.groovy.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>setproperty</id>
|
<id>setproperty</id>
|
||||||
@ -249,10 +265,12 @@
|
|||||||
<resolved.user.dir>${user.dir}</resolved.user.dir>
|
<resolved.user.dir>${user.dir}</resolved.user.dir>
|
||||||
<resolved.marvin.config>${marvin.config}</resolved.marvin.config>
|
<resolved.marvin.config>${marvin.config}</resolved.marvin.config>
|
||||||
</properties>
|
</properties>
|
||||||
<source>
|
<scripts>
|
||||||
project.properties['resolved.user.dir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
|
<script><![CDATA[
|
||||||
project.properties['resolved.marvin.config']='${marvin.config}'.replace('\','/').replace('D:','/cyg/d');
|
project.properties['resolved.user.dir']='${user.dir}'.replace('\','/').replace('D:','/cyg/d');
|
||||||
</source>
|
project.properties['resolved.marvin.config']='${marvin.config}'.replace('\','/').replace('D:','/cyg/d');
|
||||||
|
]]></script>
|
||||||
|
</scripts>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
@ -260,7 +278,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>integration-test</id>
|
<id>integration-test</id>
|
||||||
|
|||||||
@ -149,7 +149,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
<artifactId>exec-maven-plugin</artifactId>
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
<version>1.2.1</version>
|
<version>${cs.exec-maven-plugin.version}</version>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.cloudstack</groupId>
|
<groupId>org.apache.cloudstack</groupId>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user