Skip to content

Commit 51a2862

Browse files
opensearch-trigger-bot[bot]cwperkspeterzhuamazon
authored
[Backport 2.x] Add install_demo_configuration Batch script for Windows (#2203)
* Add install_demo_configuration Batch script for Windows (#2161) Signed-off-by: Craig Perkins <cwperx@amazon.com> Signed-off-by: Stephen Crawford <steecraw@amazon.com> Co-authored-by: Stephen Crawford <steecraw@amazon.com> Co-authored-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> (cherry picked from commit 45c766f) * Change to 2.4.0 for the min url Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> Co-authored-by: Craig Perkins <cwperx@amazon.com> Co-authored-by: Peter Zhu <zhujiaxi@amazon.com>
1 parent 27dfc46 commit 51a2862

File tree

2 files changed

+475
-58
lines changed

2 files changed

+475
-58
lines changed

.github/workflows/plugin_install.yml

Lines changed: 115 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -3,63 +3,120 @@ name: Plugin Install
33
on: [push, pull_request, workflow_dispatch]
44

55
jobs:
6-
plugin_install:
7-
name: Plugin Install
6+
7+
linux-install:
8+
89
runs-on: ubuntu-latest
10+
911
steps:
10-
- uses: actions/checkout@v2
11-
12-
- name: Set up JDK
13-
uses: actions/setup-java@v1
14-
with:
15-
java-version: 11
16-
17-
- name: Build
18-
run: ./gradlew clean assemble -Dbuild.snapshot=false
19-
20-
- name: Download OpenSearch Core
21-
run: |
22-
opensearch_version=`./gradlew properties -q | grep "opensearch_version:" | awk '{print $2}' | sed 's/-SNAPSHOT//g'`
23-
wget https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/$opensearch_version/latest/linux/x64/tar/builds/opensearch/dist/opensearch-min-$opensearch_version-linux-x64.tar.gz
24-
tar -xzf opensearch-*.tar.gz
25-
rm -f opensearch-*.tar.gz
26-
27-
- name: Move and rename security plugin for installation
28-
run: mv build/distributions/opensearch-security-*.zip opensearch-security.zip
29-
30-
- name: Run OpenSearch with plugin
31-
run: |
32-
cat > os-ep.sh <<EOF
33-
yes | opensearch-plugin install file:///docker-host/security-plugin.zip
34-
chmod +x plugins/opensearch-security/tools/install_demo_configuration.sh
35-
yes | plugins/opensearch-security/tools/install_demo_configuration.sh
36-
chown 1001:1001 -R /opensearch
37-
su -c "/opensearch/bin/opensearch" -s /bin/bash opensearch
38-
EOF
39-
docker build -t opensearch-test:latest -f- . <<EOF
40-
FROM ubuntu:latest
41-
COPY --chown=1001:1001 os-ep.sh /docker-host/
42-
COPY --chown=1001:1001 opensearch-security.zip /docker-host/security-plugin.zip
43-
COPY --chown=1001:1001 opensearch* /opensearch/
44-
RUN chmod +x /docker-host/os-ep.sh
45-
RUN useradd -u 1001 -s /sbin/nologin opensearch
46-
ENV PATH="/opensearch/bin:${PATH}"
47-
WORKDIR /opensearch/
48-
ENTRYPOINT /docker-host/os-ep.sh
49-
EOF
50-
docker run --name ops -d -p 9200:9200 -p 9600:9600 -i opensearch-test:latest
51-
52-
- name: Sleep while OpenSearch finishes starting up
53-
uses: whatnick/wait-action@v0.1.2
54-
with:
55-
time: '30s'
56-
57-
- name: Check OpenSearch Running
58-
run: curl -XGET https://localhost:9200 -u 'admin:admin' -k -v
59-
60-
- name: Get Docker Logs
61-
if: always()
62-
run: docker logs ops
63-
64-
- name: Run sanity tests
65-
run: ./gradlew integTestRemote -Dtests.rest.cluster=localhost:9200 -Dtests.cluster=localhost:9200 -Dtests.clustername="opensearch" -Dhttps=true -Duser=admin -Dpassword=admin
12+
- uses: actions/checkout@v2
13+
14+
- name: Set up JDK
15+
uses: actions/setup-java@v1
16+
with:
17+
java-version: 11
18+
19+
- name: Build
20+
run: ./gradlew clean assemble -Dbuild.snapshot=false
21+
22+
- name: Download OpenSearch Core
23+
run: |
24+
opensearch_version=`./gradlew properties -q | grep "opensearch_version:" | awk '{print $2}' | sed 's/-SNAPSHOT//g'`
25+
wget https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/$opensearch_version/latest/linux/x64/tar/builds/opensearch/dist/opensearch-min-$opensearch_version-linux-x64.tar.gz
26+
tar -xzf opensearch-*.tar.gz
27+
rm -f opensearch-*.tar.gz
28+
29+
- name: Move and rename security plugin for installation
30+
run: mv build/distributions/opensearch-security-*.zip opensearch-security.zip
31+
32+
- name: Run OpenSearch with plugin
33+
run: |
34+
cat > os-ep.sh <<EOF
35+
yes | opensearch-plugin install file:///docker-host/security-plugin.zip
36+
chmod +x plugins/opensearch-security/tools/install_demo_configuration.sh
37+
yes | plugins/opensearch-security/tools/install_demo_configuration.sh
38+
chown 1001:1001 -R /opensearch
39+
su -c "/opensearch/bin/opensearch" -s /bin/bash opensearch
40+
EOF
41+
docker build -t opensearch-test:latest -f- . <<EOF
42+
FROM ubuntu:latest
43+
COPY --chown=1001:1001 os-ep.sh /docker-host/
44+
COPY --chown=1001:1001 opensearch-security.zip /docker-host/security-plugin.zip
45+
COPY --chown=1001:1001 opensearch* /opensearch/
46+
RUN chmod +x /docker-host/os-ep.sh
47+
RUN useradd -u 1001 -s /sbin/nologin opensearch
48+
ENV PATH="/opensearch/bin:${PATH}"
49+
WORKDIR /opensearch/
50+
ENTRYPOINT /docker-host/os-ep.sh
51+
EOF
52+
docker run --name ops -d -p 9200:9200 -p 9600:9600 -i opensearch-test:latest
53+
54+
- name: Sleep while OpenSearch finishes starting up
55+
uses: whatnick/wait-action@v0.1.2
56+
with:
57+
time: '30s'
58+
59+
- name: Check OpenSearch Running
60+
run: curl -XGET https://localhost:9200 -u 'admin:admin' -k -v
61+
62+
- name: Get Docker Logs
63+
if: always()
64+
run: docker logs ops
65+
66+
- name: Run sanity tests
67+
run: ./gradlew integTestRemote -Dtests.rest.cluster=localhost:9200 -Dtests.cluster=localhost:9200 -Dtests.clustername="opensearch" -Dhttps=true -Duser=admin -Dpassword=admin
68+
69+
windows-install:
70+
71+
runs-on: windows-latest
72+
73+
steps:
74+
- name: Enable longer filenames for Windows
75+
run: git config --system core.longpaths true
76+
77+
- name: Checkout Plugin
78+
uses: actions/checkout@v2
79+
80+
- name: Set up JDK
81+
uses: actions/setup-java@v1
82+
with:
83+
java-version: 11
84+
85+
- name: Download OpenSearch Core
86+
run: |
87+
cd ..
88+
Invoke-WebRequest https://artifacts.opensearch.org/snapshots/core/opensearch/2.4.0-SNAPSHOT/opensearch-min-2.4.0-SNAPSHOT-windows-x64-latest.zip -Outfile opensearch-2.4.0.zip
89+
tar -xzf opensearch-2.4.0.zip
90+
del opensearch-2.4.0.zip
91+
Rename-Item opensearch-* Opensearch
92+
93+
- name: Build Security Plugin with Gradle
94+
run: |
95+
.\gradlew.bat assemble
96+
env:
97+
_JAVA_OPTIONS: -Xmx4096M
98+
99+
- name: Move and rename security plugin
100+
run: move build\distributions\opensearch-security-*.zip ..\opensearch-security.zip
101+
102+
- name: Install the plugin
103+
run: |
104+
cd ..
105+
'y' | .\Opensearch\bin\opensearch-plugin.bat install file:\a\security\opensearch-security.zip
106+
'y', 'y', 'N' | .\Opensearch\plugins\opensearch-security\tools\install_demo_configuration.bat
107+
108+
- name: Run OpenSearch with plugin
109+
run: |
110+
cd ..
111+
start .\Opensearch\bin\opensearch.bat
112+
113+
- name: Sleep while OpenSearch finishes starting up
114+
run: Start-Sleep -s 30
115+
116+
- name: Check OpenSearch Running
117+
run: |
118+
$credentialBytes = [Text.Encoding]::ASCII.GetBytes("admin:admin")
119+
$encodedCredentials = [Convert]::ToBase64String($credentialBytes)
120+
$baseCredentials = "Basic $encodedCredentials"
121+
$Headers = @{ Authorization = $baseCredentials }
122+
Invoke-WebRequest -SkipCertificateCheck -Uri 'https://localhost:9200' -Headers $Headers

0 commit comments

Comments
 (0)