Commit Graph

271 Commits

Author SHA1 Message Date
Laura Flores
0d2a5f3466 install-deps.sh: fix install-deps script for focal and bionic
When run on focal and bionic, install-deps ends early
due to this extra debug message that was added to the
end of `ensure_decent_gcc_on_ubuntu`. The debug message
prints when the script is run in a jenkins environment.

When the script is not run in a jenkins environment, the
value returned there is "false" or "0", which acts as
an early return. This stops the script from completing.

We can remove this line, as `ensure_decent_gcc_on_ubuntu`
is only called for focal and bionic, and most of the jenkins
nodes are running jammy. Also, there is a debug message at the
beginning of the function that should suffice.

Fixes: https://tracker.ceph.com/issues/57466
Signed-off-by: Laura Flores <lflores@redhat.com>
2022-09-07 19:45:57 +00:00
David Galloway
f4df4090b0
Merge pull request #47885 from ceph/boost-focal
install-deps: Actually install libboost we built for Jammy
2022-09-01 10:02:07 -04:00
David Galloway
e2fba2d228 install-deps: Actually install libboost we built for Jammy
Follow up to 947ac23979

Signed-off-by: David Galloway <dgallowa@redhat.com>
2022-08-31 14:02:36 -04:00
Nizamudeen A
b73d7d22d4 install-deps: script exit on /ValueError: in centos_stream8
this is happening locally as well as in our ceph-dev runs too https://github.com/rhcs-dashboard/ceph-dev/runs/7850564011

Signed-off-by: Nizamudeen A <nia@redhat.com>
2022-08-30 14:50:40 +05:30
Kefu Chai
23b2e983ae
Merge pull request #47609 from cbodley/wip-install-deps-rhel
install-deps: remove outdated rhel8 devtool packages

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-08-16 19:19:07 +08:00
Casey Bodley
d55598b329 install-deps: remove outdated rhel8 devtool packages
these were accidentally resurrected in 65b1a13139

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-08-15 13:25:52 -04:00
Casey Bodley
51e09d1c8a build: temporarily disable WITH_RADOSGW_MOTR in make check
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-08-11 13:50:42 -04:00
Casey Bodley
296dff4cd4 install-deps: bump gcc-toolset version to 11
match the toolset versions installed from ceph.spec.in

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-08-10 18:07:18 -04:00
Casey Bodley
c62970a86d install-deps: update ensure_decent_gcc_on_rh for gcc-toolset
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-08-10 18:07:18 -04:00
Casey Bodley
eee43b2628 install-deps: centos8 doesn't have or need centos-release-scl
Fixes: https://tracker.ceph.com/issues/57073

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-08-10 16:05:03 -04:00
Kefu Chai
d750718922
Merge pull request #43155 from ljflores/wip-install-deps-fix
install-deps.sh: ensure that pip ugrades to most recent version within virtualenv

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-08-10 22:06:12 +08:00
Kefu Chai
9dc71eb68e install-deps: install cortx-motr from chacra
this is an intermediate solution before cotx-motr upstream builds the
packages for jammy and upload them to github.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-08-09 22:53:53 +08:00
Kefu Chai
d1d14d58e4 install-deps: extract install_cortx_motr_on_ubuntu out
for better readability and maintainability

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-08-09 22:53:53 +08:00
Casey Bodley
8f342a32ce install-deps: remove use of update-alternatives
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-07-30 13:02:16 +08:00
Casey Bodley
797da43648 install-deps.sh: centos/rhel require gcc 10.2 and devtoolset-10
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-07-30 10:05:04 +08:00
Casey Bodley
65b1a13139 Revert "install-deps.sh: drop devtoolset(DTS) check for centos"
This reverts commit 66e81b8b08.

Signed-off-by: Casey Bodley <cbodley@redhat.com>

Conflicts:
	install-deps.sh for centos/rhel 8 instead of 7
2022-07-30 10:05:04 +08:00
Casey Bodley
856e93d7e5 install-deps: enable ubuntu toolchain ppa for gcc11 on focal
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-07-30 10:05:04 +08:00
Kefu Chai
606ec517f7
Merge pull request #46554 from adamemerson/wip-up-the-boost
build: Bump Boost version to 1.79

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-07-26 07:39:10 +08:00
Adam C. Emerson
947ac23979 build: Bump Boost version to 1.79
Also remove bind_allocator, as Boost.Asio now provides this function.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2022-07-22 11:04:43 -04:00
Yin Congmin
693ad56503 install-deps: install pmdk libraries
Install libpmem and libpmemobj under focal ubuntu. the version of apt
list can meet the current requirements. libpmemobj require >=1.8.
Libpmem has no version requirements.

Signed-off-by: Yin Congmin <congmin.yin@intel.com>
2022-06-25 20:44:02 +08:00
Kefu Chai
fbfb369722 install-deps.sh: do not install libpmem from chacra
this change reverts 17d2bc3707, before
we recreate a chacra repo hosting libpmem packages, we are not able
to query the repo from shaman or pull the dependencies from chacra.

in future, we should be able to get the libpmem dependencies from
offical ubuntu package repo and fedora, CentOS Stream and RHEL repos.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2022-06-21 23:28:25 +08:00
Yuval Lifshitz
042f3c7978
Merge pull request #44684 from zenomri/wip-omri-tracing-compiled
tracer: set tracing compiled in by default
2022-06-02 20:22:17 +03:00
Kefu Chai
b7b8838a56
Merge pull request #35598 from tchaikov/wip-cephfs-java
rpm,install-dep.sh: build cephfs java binding

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2022-05-28 13:29:25 +08:00
Deepika Upadhyay
028751bce6 install-deps: make jaeger package install default, removes with_jaeger
flag

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-05-17 04:38:01 -04:00
Nizamudeen A
72841fdcbe build: install-deps failing in docker build
install-deps.sh was failing in our docker build due to the recent change in
the script. Failure can be seen here: https://github.com/rhcs-dashboard/ceph-dev/runs/5844502455?check_suite_focus=true#step:3:2586

This seems to fix the issue.

Signed-off-by: Nizamudeen A <nia@redhat.com>
2022-04-07 23:09:05 +05:30
David Galloway
57edb76ea4 build: Add some debugging messages
Having a unique string like "CI_DEBUG" will help me know where we are in the build process in Jenkins logs.

Signed-off-by: David Galloway <dgallowa@redhat.com>
2022-04-01 13:33:36 -04:00
Matan
2a10ab8481
Merge pull request #44805 from Matan-B/wip-matanb-deps-unicode
install-deps.sh: set a UTF-8 locale when running pip

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2022-01-31 20:38:02 +02:00
Andriy Tkachuk
71ab238a5d install-deps.sh: fix cortx-motr installation condition
Don't try to install cortx-motr if it is already installed
or not needed. (Currently, it installs on any run from an
interactive terminal session).

Signed-off-by: Andriy Tkachuk <andriy.tkachuk@seagate.com>
2022-01-28 12:57:18 +00:00
Matan Breizman
5e5c47090a install-deps.sh: set a UTF-8 locale when running pip
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2022-01-27 11:32:28 +00:00
Andriy Tkachuk
bf24c479b9 rgw: add CORTX Motr SAL implementation
To build with Motr backend, use -DWITH_RADOSGW_MOTR=YES cmake
option. cortx-motr-devel rpm should be installed beforehand.

To connect to Motr cluster, add the following configuration
parameters to ceph.conf:

    [client]
            ...
            rgw backend store = motr
            motr profile fid  = 0x7000000000000001:0x4f
            motr ha endpoint  = inet:tcp:10.0.0.1@2001
    ...
    [client.rgw.8000]
            ...
            motr my endpoint  = inet:tcp:10.0.0.1@5001
            motr my fid       = 0x7200000000000001:0x29

The correct values for the Motr connection parameters can be
taken from `hctl status` cmd output after Motr cluster is
bootstrapped. In the example above, the values were taken from
the following output:

    Profile:
        0x7000000000000001:0x4f
    Services:
        centos8n1
        [started] hax       0x7200000000000001:0x6  inet:tcp:10.0.0.1@5001
        ...
        [unknown] m0_client 0x7200000000000001:0x29 inet:tcp:10.0.0.1@5001

Motr pkgs for the build/run can be taken from
https://github.com/Seagate/cortx-motr/releases/tag/2.0.0-rgw.

Co-authored-by: Sining Wu <sining.wu@seagate.com>

Signed-off-by: Andriy Tkachuk <andriy.tkachuk@seagate.com>
2022-01-27 10:45:25 +00:00
Casey Bodley
fb90d0ebdf build: revert arrow package dependency
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-01-14 14:54:09 -05:00
gal salomon
2c8d1e6e18 handling arm64(arrow installation)
Signed-off-by: gal salomon <gal.salomon@gmail.com>
2022-01-13 17:47:23 +02:00
gal salomon
e3254b6306 parquet implementation:
(1) adding arrow/parquet to make(install is missing)
(2) s3select-operation contains 2 flows CSV and Parquet
(3) upon parquet-flow s3select processing engine is calling (via callback) to get-size and range-request, the range-requests are a-sync, thus the caller is waiting until notification.
(4) flow : execute --> s3select --(arrow layer)--> range-request --> GetObj::execute --> send_response_data --> notify-range-request --> (back-to) --> s3select
(5) on parquet flow the s3select is handling the response (using call-backs) because of aws-response-limitation (16mb)

add unique pointer (rgw_api); verify magic number for parquet objects; s3select module update
fix buffer-over-flow (copy range request)
change the range-request flow. now,it needs to use the callback parametrs (ofs & len) and not to use the element length
refactoring.  seperate the CSV flow from the parquet flow, a phase before adding conditional build(depend on arrow package installation)
adding arrow/parquet installation to debian/control
align s3select repo with RGW (missing API"s, such as get_error_description)
undefined reference to arrow symbol
fix comment: using optional_yield by value
fix comments; remove future/promise
s3select: a leak fix
s3select: fixing result production
s3select,s3tests : parquet alignments
typo: git-remote --> git_remote
s3select: remove redundant comma(end of projections); bug fix in parquet flow upon aggregation queries
adding arrow/parquet
editorial. remove blank lines
s3select: merged with master(output serialization,presto alignments)
merging(not rebase) master functionlities into parquet branch

(*) a dedicated source-files for s3select operation.
(*) s3select-engine: fix leaks on parquet flows, enabling allocate csv_object and parquet_object on stack
(*) the csv_object and parquet object allocated on stack (no heap allocation)

move data-members from heap to stack allocation, refactoring, separate flows for CSV and parquet. s3select: bug fix

conditional build: upon arrow package is installed the parquet flow become visable, thus enables to process parquet object. in case the package is not installed only CSV is usable

remove redundant try/catch, s3select: fix compile warning

arrow-devel version should be higher than 4.0.0, where arrow::io::AsyncContext become depecrated

missing sudo; wrong url;move the rm -f arrow.list

replace codename with $(lsb_release -sc)

arrow version should be >= 4.0.0; iocontext not exists in namespace on lower versions

RGW points to s3select/master

s3select submodule

sudo --> $SUDO

Signed-off-by: gal salomon <gal.salomon@gmail.com>
2022-01-12 23:15:21 +02:00
Brad Hubbard
c9ca523157 install-deps.sh: Use legacy pip resolver
Due to the issue described in https://github.com/pypa/pip/issues/9818 I
am seeing lots of downloads and prolonged runtime when installing
dependencies.

Fixes: https://tracker.ceph.com/issues/52660

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2021-09-24 10:16:28 +10:00
Matan Breizman
8f0678c3dd install-deps.sh: install newer version of pip
although pip comes with virtualenv, having a recent version of pip matters to use wheel packages.

Signed-off-by: Matan Breizman <Matan.Brz@gmail.com>
2021-09-17 13:35:28 +00:00
Laura Flores
edeee3f6a4 install-deps.sh: ensure that pip ugrades to most recent version within virtualenv
Upon re-executing `install-deps.sh` recently, I got this error message:

```
You are using pip version 9.0.3, however version 21.2.4 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
```

The issue was that pip was not up to date within the virtualenv that `install-deps.sh` sets up. Adding the line `python3 -m pip install --upgrade pip` right after the virtualenv is activated should help to ensure that pip is up to date in that context.

Signed-off-by: Laura Flores <lflores@redhat.com>
2021-09-13 21:47:37 +00:00
Kefu Chai
3185854c80 install-deps.sh: s/virtualenv/python -m venv/
so we don't need to use virtualenv python package for creating a
virtualenv, the "venv" module in Python3 would suffice.

see also https://docs.python.org/3/library/venv.html

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-07-31 21:16:56 +08:00
Kefu Chai
7048172cad
Merge pull request #38783 from ideepika/wip-osd-tracing
cmake/ninja: support ninja for jaegertracing

Reviewed-by: Kefu Chai <kchai@redhat.com>
2021-07-22 15:33:13 +08:00
Deepika
52fc62520f debian, install-deps.sh: use Build-Profiles to optionally build debian libjaeger
library

* use pkg.ceph.jaeger for debian optional pkgs
remove mangling needing install-deps, instead use, buildProfileSpec feature
introduced for debian.  https://wiki.debian.org/BuildProfileSpec * check and

* set extraopts in debian/rules using pkg.ceph.jaeger
see: https://github.com/ceph/ceph/pull/38783#discussion_r662995612

* cleanup libjaeger.install mangling from CMakeLists

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-07-19 21:01:42 +00:00
Danny Abukalam
38f3b0ac8c
build: Add SoftIron Linux as valid debian-based distro in install-deps
Signed-off-by: Danny Abukalam <danny@softiron.com>
2021-07-15 07:15:56 -04:00
Deepika
bd0ca9dcb8 install-deps.sh: add missing with_jaeger option for ceph.spec mangling
Signed-off-by: Deepika <dupadhya@redhat.com>
2021-07-05 14:14:22 +00:00
Kefu Chai
9b1d524839 debian: mark "crimson" specific deps with "pkg.ceph.crimson"
see also https://wiki.debian.org/BuildProfileSpec

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-06-07 12:36:19 +08:00
Kefu Chai
c0fad448e9 debian: mark "make check" deps with "pkg.ceph.check" build
instead of inventing our way for defining "make check" dependencies, use
build profile for adding "make check" specific dependencies. see
https://wiki.debian.org/BuildProfileSpec

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-06-07 12:35:00 +08:00
Willem Jan Withagen
1851621793 common: make y2c.py work on FreeBSD
1) make reference to python3 indepedant of explicit path
2) add required py-yaml module to install list

fixes: #40731
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
2021-04-13 10:17:01 +02:00
Kefu Chai
17d2bc3707 install-deps.sh: install libpmem libraries if WITH_PMEM is set
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-08 17:15:15 +08:00
Kefu Chai
89121189ac cmake,install-deps,make-dist: use boost 1.75
so we can use the latest boost

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-04-05 15:09:29 +08:00
Brad Hubbard
2e1ee019d2 install-deps: Use dnf config-manager
Using subscription-manager will fail in a container so use dnf
config-manager which should work on bare metal as well as in a
container.

Fixes: https://tracker.ceph.com/issues/50118

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2021-04-03 16:57:50 +10:00
Kefu Chai
e33e3a931d ceph.spec,install-deps: use golang-github-prometheus for promtools
instead of installing docker for using promtools, install
golang-github-prometheus.

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-03-22 14:13:17 +08:00
Kefu Chai
939b147a55 install-deps.sh: remove existing ceph-libboost of different version
we install different versions of precompiled ceph-libboost packages
for different branches when building and testing them on ubuntu test
nodes. for instance,

- nautilus: v1.72
- octopus, pacific: v1.73

they share the same set of test nodes. and these ceph-libboost packages
conflict with each other, because they install files to the same places.

in order to avoid the confliction, we should uninstall existing packages
before installing a different version of ceph-libboost packages.

ceph-libboost${version}-dev is a package providing the shared headers of
boost library, so, in this change we check if it is installed before
returning or removing the existing packages.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-03-20 13:06:08 +08:00
Kefu Chai
f381aa8bf0 test: run promtool test without docker on ubuntu/focal
before this change, we use docker for running promtools offered by
a docker image, but this is not efficient, and quite a few developers
do not want to use docker for running "make check". this change was
introduced by #39246, the reason was that, in Ceph's CI process, we
are using Ubuntu/Bionic for running "make check" jobs, but prometheus
packaged by Bionic does not offer the "test rules" command. so, to
address problem, we are using "dnanexus/promtool:2.9.2" docker image
for verifying monitoring/prometheus/alerts/test_alerts.yml.

after this change, we use prometheus packaged by debian derivatives
instead of pulling a docker image.

* debian/control: add prometheus as a "make check" dependency
* install-deps.sh: partially revert
  53a5816ded, as we don't need to
  pull docker or start docker service for using promtool anymore.
* cmake: check if promtool is capable of running "test rules"
  command, bail out if it is not.

see also: https://tracker.ceph.com/issues/49653

Signed-off-by: Kefu Chai <kchai@redhat.com>
2021-03-19 20:35:51 +08:00