Skip to content

Commit c6920e4

Browse files
Support new OS core systemd and integTests in 3.0.0 and manifest updates (#5345)
Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>
1 parent 96ab4ab commit c6920e4

10 files changed

+36
-11
lines changed

docker/ci/dockerfiles/current/test.almalinux8.systemd-base.x64.arm64.ppc64le.dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ RUN dnf install -y sudo && \
112112
usermod -a -G opensearch-dashboards $CONTAINER_USER && \
113113
usermod -a -G adm $CONTAINER_USER && \
114114
id && \
115-
echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which usermod`, `which dnf`, `which yum`, `which rpm`, `which chmod`, `which kill`, `which curl`, `which rm`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER
115+
echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which su`, `which usermod`, `which dnf`, `which yum`, `which rpm`, `which chmod`, `which kill`, `which curl`, `which rm`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER
116116

117117
# Copy from Stage0
118118
COPY --from=linux_stage_0 --chown=$CONTAINER_USER:$CONTAINER_USER $CONTAINER_USER_HOME $CONTAINER_USER_HOME

docker/ci/dockerfiles/current/test.ubuntu2004.systemd-base.x64.arm64.ppc64le.dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ RUN apt-get install -y sudo && \
130130
usermod -a -G opensearch-dashboards $CONTAINER_USER && \
131131
usermod -a -G adm $CONTAINER_USER && \
132132
id && \
133-
echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which usermod`, `which apt`, `which apt-get`, `which apt-key`, `which dpkg`, `which chmod`, `which kill`, `which curl`, `which tee`, `which rm`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER
133+
echo "$CONTAINER_USER ALL=(root) NOPASSWD:`which systemctl`, `which env`, `which su`, `which usermod`, `which apt`, `which apt-get`, `which apt-key`, `which dpkg`, `which chmod`, `which kill`, `which curl`, `which tee`, `which rm`, /usr/share/opensearch-dashboards/bin/opensearch-dashboards-plugin" >> /etc/sudoers.d/$CONTAINER_USER
134134

135135
# Copy from Stage0
136136
COPY --from=linux_stage_0 --chown=$CONTAINER_USER:$CONTAINER_USER $CONTAINER_USER_HOME $CONTAINER_USER_HOME

jenkins/check-for-build.jenkinsfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ pipeline {
2727
H 1 * * * %INPUT_MANIFEST=2.20.0/opensearch-2.20.0.yml;TARGET_JOB_NAME=distribution-build-opensearch;BUILD_PLATFORM=linux windows;BUILD_DISTRIBUTION=tar rpm deb zip
2828
H 3 * * * %INPUT_MANIFEST=3.0.0-alpha1/opensearch-3.0.0-alpha1.yml;TARGET_JOB_NAME=distribution-build-opensearch;BUILD_PLATFORM=linux windows;BUILD_DISTRIBUTION=tar rpm deb zip
2929
H 3 * * * %INPUT_MANIFEST=3.0.0-alpha1/opensearch-dashboards-3.0.0-alpha1.yml;TARGET_JOB_NAME=distribution-build-opensearch-dashboards;BUILD_PLATFORM=linux windows;BUILD_DISTRIBUTION=tar rpm deb zip
30-
H 6 * * * %INPUT_MANIFEST=3.0.0-beta1/opensearch-3.0.0-beta1.yml;TARGET_JOB_NAME=distribution-build-opensearch;BUILD_PLATFORM=linux windows;BUILD_DISTRIBUTION=tar rpm deb zip
31-
H 6 * * * %INPUT_MANIFEST=3.0.0-beta1/opensearch-dashboards-3.0.0-beta1.yml;TARGET_JOB_NAME=distribution-build-opensearch-dashboards;BUILD_PLATFORM=linux windows;BUILD_DISTRIBUTION=tar rpm deb zip
30+
H 6 * * * %INPUT_MANIFEST=3.0.0-beta1/opensearch-3.0.0-beta1.yml;TARGET_JOB_NAME=distribution-build-opensearch;BUILD_PLATFORM=linux windows;BUILD_DISTRIBUTION=tar rpm deb zip;UPDATE_GITHUB_ISSUE=false
31+
H 6 * * * %INPUT_MANIFEST=3.0.0-beta1/opensearch-dashboards-3.0.0-beta1.yml;TARGET_JOB_NAME=distribution-build-opensearch-dashboards;BUILD_PLATFORM=linux windows;BUILD_DISTRIBUTION=tar rpm deb zip;UPDATE_GITHUB_ISSUE=false
3232
'''
3333
}
3434
parameters {

manifests/2.19.1/opensearch-2.19.1-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ci:
66
name: opensearchstaging/ci-runner:ci-runner-al2-opensearch-build-v1
77
args: -e JAVA_HOME=/opt/java/openjdk-21
88
components:
9-
- name: opensearch
9+
- name: OpenSearch
1010
smoke-test:
1111
test-spec: opensearch.yml
1212
- name: alerting

manifests/2.20.0/opensearch-2.20.0-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ci:
66
name: opensearchstaging/ci-runner:ci-runner-al2-opensearch-build-v1
77
args: -e JAVA_HOME=/opt/java/openjdk-21
88
components:
9-
- name: opensearch
9+
- name: OpenSearch
1010
smoke-test:
1111
test-spec: opensearch.yml
1212
- name: alerting

manifests/3.0.0-alpha1/opensearch-3.0.0-alpha1-test.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ ci:
66
name: opensearchstaging/ci-runner:ci-runner-al2-opensearch-build-v1
77
args: -e JAVA_HOME=/opt/java/openjdk-23
88
components:
9-
- name: opensearch
9+
- name: OpenSearch
10+
integ-test:
11+
test-configs:
12+
- with-security
13+
- without-security
1014
smoke-test:
1115
test-spec: opensearch.yml
1216
- name: alerting

manifests/3.0.0-beta1/opensearch-3.0.0-beta1-test.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ ci:
66
name: opensearchstaging/ci-runner:ci-runner-al2-opensearch-build-v1
77
args: -e JAVA_HOME=/opt/java/openjdk-23
88
components:
9-
- name: opensearch
9+
- name: OpenSearch
10+
integ-test:
11+
test-configs:
12+
- with-security
13+
- without-security
1014
smoke-test:
1115
test-spec: opensearch.yml
1216
- name: alerting

manifests/3.0.0-beta1/opensearch-dashboards-3.0.0-beta1.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ci:
1010
components:
1111
- name: OpenSearch-Dashboards
1212
repository: https://github.com/opensearch-project/OpenSearch-Dashboards.git
13-
ref: 'node-2x'
13+
ref: 'feature/node-2x'
1414
- name: functionalTestDashboards
1515
repository: https://github.com/opensearch-project/opensearch-dashboards-functional-test.git
1616
ref: main

scripts/components/OpenSearch/install.sh

+17-1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ if [ -z "$VERSION" ]; then
6868
exit 1
6969
fi
7070

71+
if ! command -v yq > /dev/null; then
72+
echo "Error: yq not found, please install v4 version of yq"
73+
exit 1
74+
fi
75+
7176
[ -z "$SNAPSHOT" ] && SNAPSHOT="false"
7277
[ -z "$PLATFORM" ] && PLATFORM=$(uname -s | awk '{print tolower($0)}')
7378
[ -z "$ARCHITECTURE" ] && ARCHITECTURE=`uname -m`
@@ -82,12 +87,23 @@ cd $DIR
8287
MAJOR_VERSION=`echo $VERSION | cut -d. -f1`
8388
if [ "$DISTRIBUTION" = "tar" ]; then
8489
cp -v ../../../scripts/startup/tar/linux/opensearch-tar-install.sh "$OUTPUT/"
85-
elif [ "$DISTRIBUTION" = "deb" -o "$DISTRIBUTION" = "rpm" ]; then
90+
elif [ "$DISTRIBUTION" = "deb" ] || [ "$DISTRIBUTION" = "rpm" ]; then
8691
cp -va ../../../scripts/pkg/service_templates/opensearch/* "$OUTPUT/../"
8792
if [ "$MAJOR_VERSION" = "1" ]; then
8893
cp -va ../../../scripts/pkg/build_templates/legacy/opensearch/$DISTRIBUTION/* "$OUTPUT/../"
94+
elif [ "$MAJOR_VERSION" = "2" ]; then
95+
cp -va ../../../scripts/pkg/build_templates/current/opensearch/$DISTRIBUTION/* "$OUTPUT/../"
8996
else
9097
cp -va ../../../scripts/pkg/build_templates/current/opensearch/$DISTRIBUTION/* "$OUTPUT/../"
98+
OS_REF=`yq -e '.components[] | select(.name == "OpenSearch") | .ref' ../../../manifests/$VERSION/opensearch-$VERSION.yml`
99+
curl -SfL "https://raw.githubusercontent.com/opensearch-project/OpenSearch/$OS_REF/distribution/packages/src/common/env/opensearch" -o "$OUTPUT/../etc/sysconfig/opensearch" || { echo "Failed to download env file"; exit 1; }
100+
curl -SfL "https://raw.githubusercontent.com/opensearch-project/OpenSearch/$OS_REF/distribution/packages/src/common/systemd/opensearch.service" -o "$OUTPUT/../usr/lib/systemd/system/opensearch.service" || { echo "Failed to download env file"; exit 1; }
101+
# k-NN lib setups
102+
echo -e "\n\n################################" >> "$OUTPUT/../etc/sysconfig/opensearch"
103+
echo -e "# Plugin properties" >> "$OUTPUT/../etc/sysconfig/opensearch"
104+
echo -e "################################" >> "$OUTPUT/../etc/sysconfig/opensearch"
105+
echo -e "\n# k-NN Lib Path" >> "$OUTPUT/../etc/sysconfig/opensearch"
106+
echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/share/opensearch/plugins/opensearch-knn/lib" >> "$OUTPUT/../etc/sysconfig/opensearch"
91107
fi
92108
elif [ "$DISTRIBUTION" = "zip" ] && [ "$PLATFORM" = "windows" ]; then
93109
cp -v ../../../scripts/startup/zip/windows/opensearch-windows-install.bat "$OUTPUT/"

scripts/components/OpenSearch/integtest.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
# this file be licensed under the Apache-2.0 license or a
88
# compatible open source license.
99

10-
# TODO: This is used by ScriptFinder tests, needs a working integtest.sh for OpenSearch.
10+
echo "Run systemd integTest for OpenSearch core engine"
11+
./gradlew qa:systemd-test:integTest --tests org.opensearch.systemdinteg.SystemdIT --console=plain

0 commit comments

Comments
 (0)