Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta] OpenSearch / OpenSearch Dashboards - Support for RPM distribution #27

Closed
17 of 22 tasks
Tracked by #741
bbarani opened this issue May 12, 2021 · 26 comments
Closed
17 of 22 tasks
Tracked by #741
Assignees
Labels
distributions enhancement New Enhancement triaged This issue has been reviewed by the triage team

Comments

@bbarani
Copy link
Member

bbarani commented May 12, 2021

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Provide signed RPM artifact for OpenSearch / OpenSearch Dashboards


Tasks based on the updated requirements in #1452

[Milestone 1] OpenSearch build process design for RPM generation

[Milestone 2] RPM Package Signing

[Milestone 3] RPM Package Design

[Milestone 4] RPM Package Publishing

[Milestone 5] RPM Package installation

[Milestone 6] RPM Validation

Describe alternatives you've considered
Generating the artifact using the source code

Additional context
Currently there are no RPM artifacts for OpenSearch / OpenSearch Dashboards

@bbarani bbarani added the enhancement New Enhancement label May 12, 2021
@justchris1
Copy link

Continuing a discussion over from the forums, I wanted to see if the RPMs will be signed with SHA256? (Suggestion: they should). See this open issue back at the elastic area:
elastic/elasticsearch#58257

But there are others, I think including Logstash (I understand opensearch isn't distributing logstash or a logstash fork, atm) that suffer from this same problem.

This prevents the use of the rpms / yum repo for install on Redhat / Centos 8 when the machine is in FIPS mode, which is quite important for a segment of the user population and not something that can be resolved by 'turning it off'. Without SHA256, the rpm's won't install and there is no way of overriding on the dnf/yum command. Can you comment as to whether you think that the RPM distros will include a SHA256 digest/signature on them? Thanks!

@bbarani bbarani removed the v1.0.0 label Jun 16, 2021
@bbarani bbarani added v1.1.0 and removed v1.1.0 labels Aug 19, 2021
@peternied peternied added v1.2.0 OpenSearch 1.2 version triaged This issue has been reviewed by the triage team labels Sep 14, 2021
@jcgraybill
Copy link
Contributor

NB the ways that Elasticsearch could be administered with init or systemd - let's be sure the OpenSearch RPM offers the same options. https://www.elastic.co/guide/en/elasticsearch/reference/current/starting-elasticsearch.html#start-rpm

@peterzhuamazon
Copy link
Member

Fast forward work after this one complete is #849.

@peterzhuamazon
Copy link
Member

How we previously create DEB/RPM for ODFE:

  • ES: We create a small deb/rpm, link all plugins as dependencies, and link ES official RPM/DEB as dependency (DEB needs user to manually install ES DEB PKG)
  • KIBANA: We use fpm to create the pkg based on tarball.

https://github.com/opendistro-for-elasticsearch/opendistro-build/tree/main/elasticsearch/linux_distributions
https://github.com/opendistro-for-elasticsearch/opendistro-build/blob/main/kibana/linux_distributions/opendistro-kibana-build.sh#L133-L239

New ways: We should invoke the process creating pkg in assemble workflows.

As for APT/YUM repo, we use aptly and create repo, while using expect scripts to sign the whole repo, generate locally, then sync to the S3 bucket for access.

@dblock please take a look I think we can start with single pkg 1st by invoking into assemble, then start from them per our discussion today.

@dblock
Copy link
Member

dblock commented Nov 1, 2021

We have an assemble workflow (invoked by ./assemble.sh builds/manifest.yml) that goes over plugins, installs them (runs install.sh), then either makes a .zip distribution or a .tar.gz distribution depending on the platform/architecture. We already have DistZip and DistTar, so we need to extend that code to produce different types of artifacts (e.g. DistRpm and DistDeb) and expose that as a parameter to assemble.sh (e.g. --distribution rpm). We can implement some of that packaging in Python of shell depending on what actually needs to be invoked.

@peterzhuamazon
Copy link
Member

Understand majority of the code for assemble now and have an idea on how to implement it.
As for --distribution param seems like it does not exist, only --platform is there in build progress.
The assemble code is relying on the opensearch min archive extension to decide which Dist class to use.

A little bit more complicated to insert an rpm than I initially thought.
@dblock

@peterzhuamazon
Copy link
Member

peterzhuamazon commented Nov 3, 2021

It is probably better if we use setuptools to work on rpm creation, not fpm, as our code base for assemble are in python.

@peternied peternied changed the title OpenSearch / OpenSearch Dashboards - RPM distribution (X64) OpenSearch / OpenSearch Dashboards - Support for RPM distribution (X64) Nov 8, 2021
@peterzhuamazon
Copy link
Member

@peterzhuamazon
Copy link
Member

Able to automate the creation of rpm of OpenSearch now:


[root@0783bf938321 pkg]# ./generate_pkg.sh -v 1.1.0 -t rpm -p opensearch -a x64 -i opensearch-1.1.0/ -o "../../" -n opensearch-1.1.0-noarch
/usr/share/opensearch/opensearch-build/scripts/pkg
1.1.0 rpm opensearch x64 opensearch-1.1.0/
List content in /usr/share/opensearch/opensearch-build/scripts/pkg/opensearch-1.1.0 for opensearch 1.1.0
‘scripts/systemd-entrypoint’ -> ‘/usr/share/opensearch/opensearch-build/scripts/pkg/opensearch-1.1.0/bin/systemd-entrypoint’
total 272
drwxr-xr-x  2 opensearch opensearch   4096 Nov 12 00:34 bin
drwxr-xr-x  5 opensearch opensearch   4096 Oct  4 21:46 config
drwxr-xr-x  9 opensearch opensearch   4096 Oct  4 21:32 jdk
drwxr-xr-x  3 opensearch opensearch   4096 Oct  4 21:32 lib
-rw-r--r--  1 opensearch opensearch  11358 Oct  4 21:26 LICENSE.txt
drwxr-xr-x  2 opensearch opensearch   4096 Oct  4 21:29 logs
-rw-r--r--  1 opensearch opensearch   3690 Oct  4 21:46 manifest.yml
drwxr-xr-x 19 opensearch opensearch   4096 Oct  4 21:33 modules
-rw-r--r--  1 opensearch opensearch 215355 Oct  4 21:32 NOTICE.txt
-rwxrwxr-x  1 opensearch opensearch   3092 Oct  4 21:25 opensearch-tar-install.sh
drwxr-xr-x  6 opensearch opensearch   4096 Oct  4 21:46 performance-analyzer-rca
drwxr-xr-x 14 opensearch opensearch   4096 Oct  4 21:46 plugins
-rw-r--r--  1 opensearch opensearch   1761 Oct  4 21:26 README.md
Setting workdir {:workdir=>"/tmp", :level=>:info}
Setting from flags: architecture=x86_64 {:level=>:info}
Setting from flags: description=opensearch rpm 1.1.0 {:level=>:info}
Setting from flags: epoch= {:level=>:info}
Setting from flags: iteration= {:level=>:info}
Setting from flags: license=ASL 2.0 {:level=>:info}
Setting from flags: maintainer=OpenSearch {:level=>:info}
Setting from flags: name=opensearch {:level=>:info}
Setting from flags: url=https://opensearch.org/ {:level=>:info}
Setting from flags: vendor=OpenSearch {:level=>:info}
Setting from flags: version=1.1.0 {:level=>:info}
Converting dir to rpm {:level=>:info}
Removing excluded path {:path=>"usr/share/opensearch/config", :matches=>"usr/share/opensearch/config", :level=>:info}
Removing excluded path {:path=>"usr/share/opensearch/data", :matches=>"usr/share/opensearch/data", :level=>:info}
Reading template {:path=>"/usr/local/rvm/gems/ruby-2.3.3/gems/fpm-1.13.0/templates/rpm.erb", :level=>:info}
Running rpmbuild {:args=>["rpmbuild", "-bb", "--define", "buildroot /tmp/package-rpm-build-a7f0b688231befa610b8bbfa28262a6bdd642768ab182ab11d1422cae5e0/BUILD", "--define", "_topdir /tmp/package-rpm-build-a7f0b688231befa610b8bbfa28262a6bdd642768ab182ab11d1422cae5e0", "--define", "_sourcedir /tmp/package-rpm-build-a7f0b688231befa610b8bbfa28262a6bdd642768ab182ab11d1422cae5e0", "--define", "_rpmdir /tmp/package-rpm-build-a7f0b688231befa610b8bbfa28262a6bdd642768ab182ab11d1422cae5e0/RPMS", "--define", "_tmppath /tmp", "/tmp/package-rpm-build-a7f0b688231befa610b8bbfa28262a6bdd642768ab182ab11d1422cae5e0/SPECS/opensearch.spec"], :level=>:info}
Executing(%prep): /bin/sh -e /tmp/rpm-tmp.MRaAVT {:level=>:info}
Executing(%build): /bin/sh -e /tmp/rpm-tmp.JVy5Ok {:level=>:info}
Executing(%install): /bin/sh -e /tmp/rpm-tmp.0vHPIL {:level=>:info}
Processing files: opensearch-1.1.0-1.x86_64 {:level=>:info}
Provides: opensearch = 1.1.0-1 opensearch(x86-64) = 1.1.0-1 {:level=>:info}
Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh {:level=>:info}
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 {:level=>:info}
Requires(pre): /bin/sh {:level=>:info}
Requires(post): /bin/sh {:level=>:info}
Requires(preun): /bin/sh {:level=>:info}
Requires(postun): /bin/sh {:level=>:info}
Wrote: /tmp/package-rpm-build-a7f0b688231befa610b8bbfa28262a6bdd642768ab182ab11d1422cae5e0/RPMS/x86_64/opensearch-1.1.0-1.x86_64.rpm {:level=>:info}
Executing(%clean): /bin/sh -e /tmp/rpm-tmp.cGwv9f {:level=>:info}
Created package {:path=>"../..//opensearch-1.1.0-noarch"}
[root@0783bf938321 pkg]# ll ../../ | grep rpm
-rw-r--r--  1 root root 440336496 Nov 12 00:43 opensearch-1.1.0.rpm

@peterzhuamazon
Copy link
Member

We switch back to fpm as it is still the most complete tool for package creation.
We will update the dockerfiles for the corresponding changes to include ruby + fpm.
Thanks.

@peterzhuamazon
Copy link
Member

Invoke fpm generation of rpm through assemble workflows
[opensearch@aca0a56c468a opensearch-build]$ ./assemble.sh builds/manifest.yml --distribution rpm
Installing dependencies in . ...
Installing dependencies from Pipfile.lock (c3492c)...
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
Running ./src/run_assemble.py builds/manifest.yml --distribution rpm ...
2021-11-12 23:36:09 INFO     Bundling OpenSearch (x64) on linux into /usr/share/opensearch/opensearch-build/dist ...
2021-11-12 23:36:10 INFO     Copied min bundle to /tmp/tmppf1mvfhd/opensearch-min-1.2.0-linux-x64.tar.gz.
2021-11-12 23:36:10 INFO     Extracting dist into /tmp/tmppf1mvfhd.
2021-11-12 23:36:13 INFO     Extracted dist into /tmp/tmppf1mvfhd.
2021-11-12 23:36:13 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/components/OpenSearch/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
++ dirname /usr/share/opensearch/opensearch-build/scripts/components/OpenSearch/install.sh
+ DIR=/usr/share/opensearch/opensearch-build/scripts/components/OpenSearch
+ echo /usr/share/opensearch/opensearch-build/scripts/components/OpenSearch
/usr/share/opensearch/opensearch-build/scripts/components/OpenSearch
+ cd /usr/share/opensearch/opensearch-build/scripts/components/OpenSearch
+ cp ../../../scripts/legacy/tar/linux/opensearch-tar-install.sh /tmp/tmppf1mvfhd/opensearch-1.2.0/
2021-11-12 23:36:13 INFO     Installing job-scheduler
2021-11-12 23:36:13 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-job-scheduler-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-job-scheduler-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-job-scheduler-1.2.0.0.zip
-> Installed opensearch-job-scheduler with folder name opensearch-job-scheduler
2021-11-12 23:36:14 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:14 INFO     Installing alerting
2021-11-12 23:36:14 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-alerting-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-alerting-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-alerting-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission createClassLoader
* java.lang.RuntimePermission getClassLoader
* java.net.NetPermission getProxySelector
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-alerting with folder name opensearch-alerting
2021-11-12 23:36:16 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:16 INFO     Installing asynchronous-search
2021-11-12 23:36:16 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-asynchronous-search-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-asynchronous-search-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-asynchronous-search-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission createClassLoader
* java.lang.RuntimePermission getClassLoader
* java.net.NetPermission getProxySelector
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-asynchronous-search with folder name opensearch-asynchronous-search
2021-11-12 23:36:17 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:17 INFO     Installing index-management
2021-11-12 23:36:17 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-index-management-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-index-management-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-index-management-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission createClassLoader
* java.lang.RuntimePermission getClassLoader
* java.net.NetPermission getProxySelector
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-index-management with folder name opensearch-index-management
2021-11-12 23:36:19 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:19 INFO     Installing k-NN
2021-11-12 23:36:19 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-knn-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-knn-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-knn-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission loadLibrary.opensearchknn_faiss
* java.lang.RuntimePermission loadLibrary.opensearchknn_nmslib
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-knn with folder name opensearch-knn
2021-11-12 23:36:20 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:20 INFO     Installing security
2021-11-12 23:36:20 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-security-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-security-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-security-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.io.FilePermission /proc/sys/net/core/somaxconn#plus read
* java.io.SerializablePermission enableSubstitution
* java.lang.RuntimePermission accessClassInPackage.com.sun.jndi.*
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessClassInPackage.sun.nio.ch
* java.lang.RuntimePermission accessClassInPackage.sun.security.x509
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission accessUserInformation
* java.lang.RuntimePermission createClassLoader
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.RuntimePermission shutdownHooks
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.NetPermission getNetworkInformation
* java.net.NetPermission getProxySelector
* java.net.SocketPermission * connect,accept,resolve
* java.security.SecurityPermission getProperty.ssl.KeyManagerFactory.algorithm
* java.security.SecurityPermission insertProvider.BC
* java.security.SecurityPermission org.apache.xml.security.register
* java.security.SecurityPermission putProviderProperty.BC
* java.security.SecurityPermission setProperty.ocsp.enable
* java.util.PropertyPermission * read,write
* java.util.PropertyPermission org.apache.xml.security.ignoreLineBreaks write
* javax.security.auth.AuthPermission doAs
* javax.security.auth.AuthPermission modifyPrivateCredentials
* javax.security.auth.kerberos.ServicePermission * accept
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-security with folder name opensearch-security
2021-11-12 23:36:22 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:22 INFO     Installing performance-analyzer
2021-11-12 23:36:23 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-performance-analyzer-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-performance-analyzer-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-performance-analyzer-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* com.sun.tools.attach.AttachPermission attachVirtualMachine
* com.sun.tools.attach.AttachPermission createAttachProvider
* java.io.FilePermission /-#plus read,write,execute,delete,readlink
* java.io.FilePermission build/tmp/junit_metrics#plus read
* java.lang.RuntimePermission accessClassInPackage.jdk.internal.misc
* java.lang.RuntimePermission accessClassInPackage.sun.tools.attach
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission createClassLoader
* java.lang.RuntimePermission defineClass
* java.lang.RuntimePermission loadLibrary.attach
* java.lang.RuntimePermission manageProcess
* java.lang.reflect.ReflectPermission suppressAccessChecks
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-performance-analyzer with folder name opensearch-performance-analyzer
2021-11-12 23:36:25 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/components/performance-analyzer/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ cp -r /tmp/tmppf1mvfhd/opensearch-1.2.0/plugins/opensearch-performance-analyzer/performance-analyzer-rca /tmp/tmppf1mvfhd/opensearch-1.2.0/
+ mv /tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-performance-analyzer/performance-analyzer-agent-cli /tmp/tmppf1mvfhd/opensearch-1.2.0/bin
+ rm -rf /tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-performance-analyzer
2021-11-12 23:36:25 INFO     Installing anomaly-detection
2021-11-12 23:36:25 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-anomaly-detection-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-anomaly-detection-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-anomaly-detection-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] registerMBean
* javax.management.MBeanPermission org.apache.commons.pool2.impl.GenericObjectPool#-[org.apache.commons.pool2:name=pool,type=GenericObjectPool] unregisterMBean
* javax.management.MBeanServerPermission createMBeanServer
* javax.management.MBeanTrustPermission register
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-anomaly-detection with folder name opensearch-anomaly-detection
2021-11-12 23:36:27 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:27 INFO     Installing cross-cluster-replication
2021-11-12 23:36:27 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-cross-cluster-replication-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-cross-cluster-replication-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-cross-cluster-replication-1.2.0.0.zip
-> Installed opensearch-cross-cluster-replication with folder name opensearch-cross-cluster-replication
2021-11-12 23:36:28 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:28 INFO     Installing sql
2021-11-12 23:36:28 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-sql-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-sql-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-sql-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission defineClass
* java.lang.reflect.ReflectPermission suppressAccessChecks
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-sql with folder name opensearch-sql
2021-11-12 23:36:30 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:30 INFO     Installing dashboards-reports
2021-11-12 23:36:30 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-reports-scheduler-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-reports-scheduler-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-reports-scheduler-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission createClassLoader
* java.lang.RuntimePermission getClassLoader
* java.net.NetPermission getProxySelector
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-reports-scheduler with folder name opensearch-reports-scheduler
2021-11-12 23:36:32 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:32 INFO     Installing opensearch-observability
2021-11-12 23:36:32 INFO     Executing "/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/opensearch-plugin install --batch file:/tmp/tmppf1mvfhd/opensearch-observability-1.2.0.0.zip" in /tmp/tmppf1mvfhd/opensearch-1.2.0
-> Installing file:/tmp/tmppf1mvfhd/opensearch-observability-1.2.0.0.zip
-> Downloading file:/tmp/tmppf1mvfhd/opensearch-observability-1.2.0.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission createClassLoader
* java.lang.RuntimePermission getClassLoader
* java.net.NetPermission getProxySelector
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed opensearch-observability with folder name opensearch-observability
2021-11-12 23:36:34 INFO     Executing "bash /usr/share/opensearch/opensearch-build/scripts/default/install.sh -v 1.2.0 -p linux -a x64 -f /usr/share/opensearch/opensearch-build/builds -o /tmp/tmppf1mvfhd/opensearch-1.2.0" in /tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ VERSION=1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ PLATFORM=linux
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARCHITECTURE=x64
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ ARTIFACTS=
+ getopts :h:v:s:o:p:a:f: arg
+ case $arg in
+ OUTPUT=/tmp/tmppf1mvfhd/opensearch-1.2.0
+ getopts :h:v:s:o:p:a:f: arg
+ '[' -z 1.2.0 ']'
+ '[' -z '' ']'
+ SNAPSHOT=false
+ '[' -z linux ']'
+ '[' -z x64 ']'
+ exit 0
2021-11-12 23:36:34 INFO     Installed plugins: ['opensearch-cross-cluster-replication', 'opensearch-observability', 'opensearch-anomaly-detection', 'opensearch-alerting', 'opensearch-index-management', 'opensearch-asynchronous-search', 'opensearch-knn', 'opensearch-security', 'opensearch-performance-analyzer', 'opensearch-job-scheduler', 'opensearch-reports-scheduler', 'opensearch-sql']
2021-11-12 23:36:34 INFO     build for rpm distribution.
/usr/share/opensearch/opensearch-build/scripts/pkg
1.2.0 rpm opensearch x64 /tmp/tmppf1mvfhd/opensearch-1.2.0 /usr/share/opensearch/opensearch-build opensearch-1.2.0-linux-x64.rpm
List content in /tmp/tmppf1mvfhd/opensearch-1.2.0 for opensearch 1.2.0
‘scripts/systemd-entrypoint’ -> ‘/tmp/tmppf1mvfhd/opensearch-1.2.0/bin/systemd-entrypoint’
total 272
drwxr-xr-x  2 opensearch opensearch   4096 Nov 12 23:36 bin
drwxr-xr-x  5 opensearch opensearch   4096 Nov 12 23:36 config
drwxrwxr-x  2 opensearch opensearch   4096 Nov 12 23:36 data
drwxr-xr-x  9 opensearch opensearch   4096 Nov 12 21:55 jdk
drwxr-xr-x  3 opensearch opensearch   4096 Nov 12 21:55 lib
-rw-r--r--  1 opensearch opensearch  11358 Nov 12 21:51 LICENSE.txt
drwxr-xr-x  2 opensearch opensearch   4096 Nov 12 21:52 logs
-rw-rw-r--  1 opensearch opensearch   3674 Nov 12 23:36 manifest.yml
drwxr-xr-x 19 opensearch opensearch   4096 Nov 12 21:55 modules
-rw-r--r--  1 opensearch opensearch 215355 Nov 12 21:55 NOTICE.txt
-rwxrwxr-x  1 opensearch opensearch   2946 Nov 12 23:36 opensearch-tar-install.sh
drwxr-xr-x  6 opensearch opensearch   4096 Nov 12 23:36 performance-analyzer-rca
drwxr-xr-x 14 opensearch opensearch   4096 Nov 12 23:36 plugins
-rw-r--r--  1 opensearch opensearch   1761 Nov 12 21:51 README.md
Setting workdir {:workdir=>"/tmp", :level=>:info}
Setting from flags: architecture=x86_64 {:level=>:info}
Setting from flags: description=opensearch rpm 1.2.0 {:level=>:info}
Setting from flags: epoch= {:level=>:info}
Setting from flags: iteration= {:level=>:info}
Setting from flags: license=ASL 2.0 {:level=>:info}
Setting from flags: maintainer=OpenSearch {:level=>:info}
Setting from flags: name=opensearch {:level=>:info}
Setting from flags: url=https://opensearch.org/ {:level=>:info}
Setting from flags: vendor=OpenSearch {:level=>:info}
Setting from flags: version=1.2.0 {:level=>:info}
Converting dir to rpm {:level=>:info}
Removing excluded path {:path=>"usr/share/opensearch/config", :matches=>"usr/share/opensearch/config", :level=>:info}
Removing excluded path {:path=>"usr/share/opensearch/data", :matches=>"usr/share/opensearch/data", :level=>:info}
Reading template {:path=>"/usr/share/opensearch/.rvm/gems/ruby-2.3.3/gems/fpm-1.13.0/templates/rpm.erb", :level=>:info}
Running rpmbuild {:args=>["rpmbuild", "-bb", "--define", "buildroot /tmp/package-rpm-build-86cf472749315d9c44a4e325c572b93ad9990b9dcfb0ea9021935b79a28e/BUILD", "--define", "_topdir /tmp/package-rpm-build-86cf472749315d9c44a4e325c572b93ad9990b9dcfb0ea9021935b79a28e", "--define", "_sourcedir /tmp/package-rpm-build-86cf472749315d9c44a4e325c572b93ad9990b9dcfb0ea9021935b79a28e", "--define", "_rpmdir /tmp/package-rpm-build-86cf472749315d9c44a4e325c572b93ad9990b9dcfb0ea9021935b79a28e/RPMS", "--define", "_tmppath /tmp", "/tmp/package-rpm-build-86cf472749315d9c44a4e325c572b93ad9990b9dcfb0ea9021935b79a28e/SPECS/opensearch.spec"], :level=>:info}
Executing(%prep): /bin/sh -e /tmp/rpm-tmp.fxZEkX {:level=>:info}
Executing(%build): /bin/sh -e /tmp/rpm-tmp.dBulJ6 {:level=>:info}
Executing(%install): /bin/sh -e /tmp/rpm-tmp.RLqi8f {:level=>:info}
Processing files: opensearch-1.2.0-1.x86_64 {:level=>:info}
Provides: opensearch = 1.2.0-1 opensearch(x86-64) = 1.2.0-1 {:level=>:info}
Requires(interp): /bin/sh /bin/sh /bin/sh /bin/sh {:level=>:info}
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 {:level=>:info}
Requires(pre): /bin/sh {:level=>:info}
Requires(post): /bin/sh {:level=>:info}
Requires(preun): /bin/sh {:level=>:info}
Requires(postun): /bin/sh {:level=>:info}
Wrote: /tmp/package-rpm-build-86cf472749315d9c44a4e325c572b93ad9990b9dcfb0ea9021935b79a28e/RPMS/x86_64/opensearch-1.2.0-1.x86_64.rpm {:level=>:info}
Executing(%clean): /bin/sh -e /tmp/rpm-tmp.FzBAqk {:level=>:info}
Created package {:path=>"/usr/share/opensearch/opensearch-build/opensearch-1.2.0-linux-x64.rpm"}
2021-11-12 23:37:37 INFO     Published /usr/share/opensearch/opensearch-build/dist/opensearch-1.2.0-linux-x64.rpm.
2021-11-12 23:37:37 INFO     Package for rpm
2021-11-12 23:37:38 INFO     Done.

[opensearch@aca0a56c468a opensearch-build]$ ll /usr/share/opensearch/opensearch-build/dist/
total 874572
-rw-rw-r-- 1 opensearch opensearch      3674 Nov 12 23:37 manifest.yml
-rw-rw-r-- 1 opensearch opensearch 447815657 Nov 12 23:37 opensearch-1.2.0-linux-x64.rpm
-rw-rw-r-- 1 opensearch opensearch 447731620 Nov 12 22:11 opensearch-1.2.0-linux-x64.tar.gz

[opensearch@aca0a56c468a opensearch-build]$ rpm -qip /usr/share/opensearch/opensearch-build/dist/opensearch-1.2.0-linux-x64.rpm
Name        : opensearch
Version     : 1.2.0
Release     : 1
Architecture: x86_64
Install Date: (not installed)
Group       : default
Size        : 682232369
License     : ASL 2.0
Signature   : (none)
Source RPM  : opensearch-1.2.0-1.src.rpm
Build Date  : Fri 12 Nov 2021 11:36:36 PM UTC
Build Host  : aca0a56c468a
Relocations : /
Packager    : OpenSearch
Vendor      : OpenSearch
URL         : https://opensearch.org/
Summary     : opensearch rpm 1.2.0
Description :
opensearch rpm 1.2.0

@peternied peternied removed the v1.2.0 OpenSearch 1.2 version label Nov 16, 2021
@marcinwisniowski
Copy link

Any updates regarding OpenSearch DEB/RPM packages?

@dblock
Copy link
Member

dblock commented Nov 26, 2021

Any updates regarding OpenSearch DEB/RPM packages?

See #1117, there's a PR up in #1156.

@zelinh zelinh changed the title OpenSearch / OpenSearch Dashboards - Support for RPM distribution (X64) [Meta] OpenSearch / OpenSearch Dashboards - Support for RPM distribution (X64) Dec 6, 2021
@zelinh zelinh changed the title [Meta] OpenSearch / OpenSearch Dashboards - Support for RPM distribution (X64) [Meta] OpenSearch / OpenSearch Dashboards - Support for RPM distribution Dec 6, 2021
@dblock dblock mentioned this issue Jan 11, 2022
4 tasks
@bbarani
Copy link
Member Author

bbarani commented Jan 13, 2022

Design document for RPM and the FAQ has been added to #1452. Feel free to comment on that issue as well.

@bbarani
Copy link
Member Author

bbarani commented Mar 10, 2022

We will be tracking the distributions in a different road map (not tied to OpenSearch releases) - https://github.com/orgs/opensearch-project/projects/13

@justchris1
Copy link

We will be tracking the distributions in a different road map (not tied to OpenSearch releases) - https://github.com/orgs/opensearch-project/projects/13

Does that mean we won't actually be seeing RPMs at the opensearch 1.3 release?

@dblock
Copy link
Member

dblock commented Mar 15, 2022

@bbarani ^

@peterzhuamazon
Copy link
Member

New blocker:
opensearch-project/OpenSearch#2517

@deknos
Copy link

deknos commented Mar 24, 2022

as i said in #28:

Hello, please consider to generate not only debian/rpm binary packages, but also source packages (dsc,gz,sprm).

This will for one ensure that your packaging quality will be better, it also would enhance the possibilities that your software would be included in standard repositories of systems like redhat, debian, ubuntu, suse as they will only include packages where the have the source version of.

Please consider this. This would dramatically enhance your position as a project in the opensource community.

@peterzhuamazon
Copy link
Member

peterzhuamazon commented Mar 24, 2022

as i said in #28:

Hello, please consider to generate not only debian/rpm binary packages, but also source packages (dsc,gz,sprm).

This will for one ensure that your packaging quality will be better, it also would enhance the possibilities that your software would be included in standard repositories of systems like redhat, debian, ubuntu, suse as they will only include packages where the have the source version of.

Please consider this. This would dramatically enhance your position as a project in the opensource community.

Hi @deknos the code in this repo already allows you to build a opensearch bundle rpm directly.
We are based on this spec file and will expand to dashboards soon.
https://github.com/opensearch-project/opensearch-build/blob/main/scripts/pkg/build_templates/opensearch/opensearch.rpm.spec

With above things available is a srpm still necessary? As far as I know our srpm is basically spec + binaries to be regenerate on another build env.

Thanks.

@peterzhuamazon
Copy link
Member

As you can see the spec file, our case is a bit different because we did not compile source in build section of spec file, we are running the code base of this repo to generate binaries, and use spec file to assemble into rpm.

@deknos
Copy link

deknos commented Mar 24, 2022

Well, actually the idea is that with the source package and the spec you can create a package for that platform.
it also looks like, at least for opensuse there are intentions to work on this https://build.opensuse.org/package/show/security:logging/opensearch !

@deknos
Copy link

deknos commented Apr 16, 2022

i just looked into the opensuse packaging, that will not work for some reasons right now. also if your srpm (or dsc for debian/ubuntu) only includes the binary it will not be picked up by the system repositories.

they want to build the file from the source package (with the instructions in there to build the software) to generate the binary package from it.

the advantage is: if you have at least done that, even with "design errors", maintainers from the distro will pick it up and include it potentially in their base distribution which would increase the chances massively that everyone will use opensearch.

trust in opensource is built when you enable people with your software to be independent of you :)

@dblock
Copy link
Member

dblock commented Apr 18, 2022

@deknos Happy to see other/alt distribution mechanisms build from source. I believe the ask for RPM here has been to distribute signed binaries that can be verified and trusted. Any reason why we can't have both?

@bbarani
Copy link
Member Author

bbarani commented May 4, 2022

Closing this issue as we have shipped RPM artifacts with 2.0 RC1 and 1.3.2 version. Feel free to re-open if needed.

@bbarani bbarani closed this as completed May 4, 2022
@doktormd5
Copy link

It would be great to have RPM for opensearch-min (OpenSearch Minimum). I understand that it contains no security features and is designed to be used only when embedded with another solution or service. Exactly what I need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distributions enhancement New Enhancement triaged This issue has been reviewed by the triage team
Projects
None yet
Development

No branches or pull requests

10 participants