Commit Graph

287 Commits

Author SHA1 Message Date
luo rixin
04691123ed install-deps: Force remove ceph-libboost* packages
As `apt-get remove ceph-libboost*` show the error and cause the make check failed.
`E: The package ceph-libboost1.79-dev needs to be reinstalled, but I can't find an archive for it.`
The ceph-libboost* packages may be not removed, so use `dpkg` to force remove ceph-libboost*.

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

Signed-off-by: luo rixin <luorixin@huawei.com>
2024-01-19 11:50:30 +08:00
Adam Emerson
87f4a8914c build: Don't kill install-deps.sh if we can't get ceph-libboost
We can still use the submodule.

Signed-off-by: Adam Emerson <aemerson@redhat.com>
2023-10-27 19:18:19 -04:00
Adam Emerson
0c3f511e14 build: Remove old ceph-libboost* packages in install-deps
Here, we extract `clean_boost_on_ubuntu()` and call it before other
installs on Debian distributions so that if we install a system boost,
a potentially newer `ceph-libboost` won't get in the way.

As the sources.list.d being removed in the original cleanup code isn't
the one we're currently installing in the install code, add a removal
for the currently used source, then do apt-update so packages from the
removed source are no longer included as available.

Two subsidiary dev packages from conflicting boost libraries can be
installed, but it leaves apt in an inconsistent state. To clean this
up, add `--fix-missing` to the removal line and call
`clean_boost_on_ubuntu()` before other uses of apt.

Fixes: https://tracker.ceph.com/issues/62097
Signed-off-by: Adam Emerson <aemerson@redhat.com>
2023-07-31 11:17:43 -04:00
Nizamudeen A
d179b95ddf install-deps: remove the legacy resolver flags
This was a workaround that was introduced long time ago. This will be
something that could be deprectaed at some point [1]. And its preventing some of the dependencies to be
downloaded or stored into the wheelhouse. Deps like jsonschema, parse,
mypy, cryptography etc.

[1] https://pip.pypa.io/en/latest/user_guide/#deprecation-timeline

Fixes: https://tracker.ceph.com/issues/62082
Signed-off-by: Nizamudeen A <nia@redhat.com>
2023-07-20 17:16:34 +05:30
Adam C. Emerson
244c5ebbd4 build: Bump boost to 1.82
Needed to fix coroutine detection under Clang

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2023-07-05 15:45:07 -04:00
luo rixin
2671fadf80 install-deps: remove leveldb pkg
Signed-off-by: luo rixin <luorixin@huawei.com>
2023-05-04 11:35:30 +08:00
Adam King
ce08eda429
Merge pull request #48697 from phlogistonjohn/jjm-cleaner-build-sh
build scripts: various cleanups and minor changes preparing for containerized build and test

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2023-03-06 11:04:09 -05:00
John Mulligan
1361f2e850 install-deps.sh: use ci_debug function
Replace a number of boilerplate CI_DEBUG lines with the recently added
ci_debug function.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
9b7db758c3 install-deps.sh: source lib-build.sh
Currently, only in_jenkins is used. More will come later.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
e8b370a9c7 install-deps.sh: copy ubuntu/apt retry logic from run-make.sh
Copy the logic from run-make.sh into install-deps.sh so that we can later
remove it from run-make.sh. It helps prevent breakage when apt-get is
interrupted.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
8b529a0d41 install-deps.sh: support INSTALL_EXTRA_PKGS
Instead of requiring other scripts to install packages independently,
teach install-deps.sh to install additional packages from the variable
INSTALL_EXTRA_PKGS. Now, other scripts should just set
INSTALL_EXTRA_PKGS and call install-deps.sh.

In particular, this fixes an issue installing packages in a clean (ex.
container) system that doesn't yet have repositories set up. Since this
task is performed by install-deps.sh already we avoid a chicken-and-egg
issue (or doing redundant work of setting up repos) in other scripts.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
John Mulligan
b315700bbf install-deps.sh: move functions above all "main" script body
Previously, the main part (top level body) of the script started and
then some function definitions occurred and then the main part of the
script resumed after that. I, and others, find this confusing so this
change moves the function definitions to occur before the main body of
the install-deps.sh script.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2023-02-07 14:17:09 -05:00
Zack Cerza
349a92bdb7 install-deps.sh: Fail when downloading apt repos
More specifically, if we get e.g. a 504 while attempting to download a
.list file, fail the build and log the status code.

Signed-off-by: Zack Cerza <zack@redhat.com>
2023-02-06 13:50:46 -07:00
John Mulligan
cd1cd1bd33 install-deps: switch to C.UTF-8 locale
The en_US.UTF-8 locale is not always going to present on all systems.
Specifically, setting en_US.UTF-8 causes numerous warnings when running
this script on a CentOS Stream 8 container. Rather than install
additional packages to suppress the warning, use the C.UTF-8 locale.

Additionally, try to update the comment explaining the line to something
based on the commit history rather than the confusing term "vulnerable".

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-10-16 11:50:50 -04:00
John Mulligan
8c1281965e install-deps: for consistency, reformat tabs to spaces
The majority of the install-deps.sh file was already using spaces to
indent, convert the remaining hard tabs to 8 spaces.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-10-16 11:50:50 -04:00
John Mulligan
e8b20c0d1f install-deps: remove emacs modeline from script
The majority of the lines in this shell script uses spaces to indent,
but I *think* this modeline tells emacs to indent with tabs. In a very
near future change I'm going to make all indents use spaces. So we first
remove the emacs modeline that tells it to use the opposite.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2022-10-16 11:50:50 -04:00
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