Commit Graph

89 Commits

Author SHA1 Message Date
Samuel Just 383091e89f .gitmodules: remove shallow=true config from nvmeof/gateway
shallow=true seems to prevent the checkout from actually finding
the correct sha1.

Fixes: https://tracker.ceph.com/issues/67640
Signed-off-by: Samuel Just <sjust@redhat.com>
2024-08-20 18:25:12 -07:00
Casey Bodley 89a547822d submodule: remove the boost_redis submodule again (again)
5843c6b04b accidentally added back to the
boost_redis submodule that was last removed in 924f2e9f87

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-07-31 15:58:03 -04:00
Leonid Chernin 5843c6b04b mon: add NVMe-oF gateway monitor and HA
- gateway submodule

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

This PR adds high availability support for the nvmeof Ceph service. High availability means that even in the case that a certain GW is down, there will be another available path for the initiator to be able to continue the IO through another GW. High availability is achieved by running nvmeof service consisting of at least 2 nvmeof GWs in the Ceph cluster. Every GW will be seen by the host (initiator) as a separate path to the nvme namespaces (volumes).

The implementation consists of the following main modules:

- NVMeofGWMon - a PaxosService. It is a monitor that tracks the status of the nvmeof running services, and take actions in case that services fail, and in case services restored.
- NVMeofGwMonitorClient – It is an agent that is running as a part of each nvmeof GW. It is sending beacons to the monitor to signal that the GW is alive. As a part of the beacon, the client also sends information about the service. This information is used by the monitor to take decisions and perform some operations.
- MNVMeofGwBeacon – It is a structure used by the client and the monitor to send/recv the beacons.
- MNVMeofGwMap – The map is tracking the nvmeof GWs status. It also defines what should be the new role of every GW. So in the events of GWs go down or GWs restored, the map will reflect the new role of each GW resulted by these events. The map is distributed to the NVMeofGwMonitorClient on each GW, and it knows to update the GW with the required changes.

It is also adding 3 new mon commands:
- nvme-gw create
- nvme-gw delete
- nvme-gw show

The commands are used by the ceph adm to update the monitor that a new GW is deployed. The monitor will update the map accordingly and will start tracking this GW until it is deleted.

Signed-off-by: Leonid Chernin <lechernin@gmail.com>
Signed-off-by: Alexander Indenbaum <aindenba@redhat.com>
2024-07-31 08:50:10 +00:00
Casey Bodley 924f2e9f87 submodule: remove the boost_redis submodule again
b6d585645c accidentally added back the
boost_redis submodule that was removed in 862246cdef

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-07-04 12:20:52 -04:00
Matt Benjamin b6d585645c common/rgw: add BLAKE3 submodule
Fast, cryptographic hash functions suitable for block checksums.
BLAKE3 is the faster, more portable successor to Blake2(b,s),
now with 4x throughput.

Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2024-07-03 14:19:15 -04:00
Adam Emerson 862246cdef submodule: Remove boost_redis submodule
This is no longer needed as Boost 1.85 contains Boost.Redis.

Signed-off-by: Adam Emerson <aemerson@redhat.com>
2024-05-22 21:38:33 -04:00
Casey Bodley 79a64599c3 spawn: remove spawn submodule
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-05-13 12:57:03 -04:00
Samarah c6ddf86972 rgw/d4n: this commit squashes the following commits related to
clean up and removal of cpp_redis.

d4n/filter: Add `optional_yield` to CacheDriver calls in D4N Filter and
make minor updates to several filter methods
rgw/d4n: fix compilation issue.
rgw/cache: Add `del` method to CacheDriver and SSDDriver
cmake/d4n: Remove unnecessary D4N lines
rgw: Add `io_context` to D4N Filter and RedisDriver, remove `cpp_redis`
library from RedisDriver, and perform minor cleanup
d4n: Remove `cpp_redis` library from D4N directory and policy; update calls in filter; move Entry struct to base CachePolicy class
build/cpp_redis: Remove `cpp_redis` library
rgw/d4n: including <boost/asio/detached.hpp> wheerever needed.
rgw/d4n : fixes to d4n filter, policy, directory and redis driver files
for compilation errors.

Signed-off-by: Samarah <samarah.uriarte@ibm.com>
Signed-off-by: Casey Bodley <cbodley@redhat.com>
Co-authored-by: Pritha Srivastava <prsrivas@redhat.com>
2024-04-02 21:24:51 +05:30
Samarah Uriarte 979452a122 rgw/cache: This commit squashes commits related to boost::redis library.
RGW: Add boost_redis library
RGW: Add boost_redis to CMake
RGW: Add aedis methods to RedisDriver
RGW: Minor RedisDriver cleanup
build: Remove build/boost_redis
build: remove src/redis
build: Set src/boost_redis submodule to release version
RGW: Remove broken boost_redis
RGW: Add boost_redis
rgw: Get rgw_redis_driver to build
rgw/redis: Update `boost::redis` library
rgw/cache: fixing compilation error, by removing aedis header
file and src file includes from redis driver

Signed-off-by: Samarah <samarah.uriarte@ibm.com>
Co-authored-by: Adam Emerson <aemerson@redhat.com>
Co-authored-by: Pritha Srivastava <prsrivas@redhat.com>
2024-04-02 21:24:50 +05:30
Casey Bodley 1df11fd17c cmake: build from qatzip submodule
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-02-07 11:13:20 -05:00
Casey Bodley 74c437a0c8 cmake: build from qatlib submodule
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2024-02-07 11:10:41 -05:00
Casey Bodley 1d5580919e point cpp_redis submodule to ceph/cpp_redis
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2023-06-05 13:06:47 -04:00
Arjun Sharma b9df058885 rgw: Add cpp-redis submodule to ceph
Signed-off-by: Ali Maredia <amaredia@redhat.com>
Signed-off-by: Arjun Sharma <arjsharm@redhat.com>
2023-06-05 13:06:46 -04:00
Casey Bodley a3a65ca6de remove rapidjson submodule
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-11-30 14:59:27 -05:00
Richael Zhuang 4ad4e1fbc7 .gitmodules: update isa-l_crypto source address
Update address to https://github.com/intel/isa-l_crypto for it's
moved under intel repo.

Signed-off-by: Richael Zhuang <richael.zhuang@arm.com>
2022-07-28 07:41:26 +08:00
Deepika Upadhyay 2c15a80a67 .gitmodules: add opentelemetry-cpp submodule
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2022-06-22 00:50:57 +00:00
Casey Bodley b10364dc21 cmake: add submodule for utf8proc at v2.2.0
adds utf8proc submodule, needed by the arrow submodule in centos. add a
WITH_SYSTEM_UTF8PROC option that controls whether or not utf8proc is
built from submodule

non-system utf8proc is built as a static library to avoid conflicts with
system-provided libraries

ceph.spec.in sets WITH_SYSTEM_UTF8PROC=OFF until it's available in
centos

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-14 10:19:02 -04:00
Casey Bodley 2ca6d75521 cmake: add submodule for Apache Arrow at v6.0.1
adds an arrow submodule. when WITH_RADOSGW_SELECT_PARQUET is enabled,
the submodule is built as an external project and rgw links against its
imported Arrow::Parquet target

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2022-03-14 10:19:02 -04:00
Deepika Upadhyay 602b1ac207 .gitmodules: remove submodule jaeger-cpp-client
instead we'll be using opentelemetry exporter for jaeger client services

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-11-24 19:59:18 +05:30
Deepika Upadhyay 010c795802 .gitmodules: remove submodule opentracing-cpp
Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-11-24 03:59:54 +05:30
Deepika Upadhyay 2c265be3e0 .gitmodules: remove thrift submodule
with 80e82686eb we now use thrift as a
distro based dependency, hence we no longer need it as a submodule.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-08-21 12:10:19 +05:30
Casey Bodley 46c0292870 rgw: remove the civetweb frontend from src and qa
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2021-05-17 15:00:31 -04:00
Marcus Watts bb72f10f86 Added libkmip as a submodule.
Signed-off-by: Marcus Watts <mwatts@redhat.com>
2021-03-03 19:14:09 -05:00
Deepika Upadhyay 4b69d3a184 jaeger, build/op: add jaeger and it's dependencies as submodules
* This commit introduces Jaegertracing library as package libjaeger,
  pickwhich would be consumed by other ceph pacakges such as ceph-common0

* adds the following dependencies, which would be build from source
  using ExternalProjectHelper.cmake +IncludeJaeger.cmake +
  Build<package>.cmake scripts:

  jaegertracing: v0.6.0 [added as a submodule]
  opentracing: v1.6.0 [added as a submodule]
  thrift: 0.13.0 [added as a submodule]
  yaml-cpp: 0.6.0
  json(optional)

* updates Boost to be installed instead of being build only, because
  jaegertracing them during their build process.

* ceph.spec.in: introduces a default enabled jaeger packaging option,
  which could be disabled using --without-jaeger flag during rpmbuild

* note: libjaeger package if enabled will be a dependency on ceph-common, ceph-mon, rgw_common and transitively will be a dependency for modules that have them as  a dependency.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
2020-12-11 07:55:46 +00:00
Yuval Lifshitz 80223d8b3c rpm/deb/cmake: remove the lua submodule
instead use the official lua-dev/el packages

Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
2020-11-04 17:01:58 +02:00
gal salomon 61d6813726 adding s3select sub-module; integrating sub-module into RGW; current commit is able to run s3-select queries on CSV-s3object;
Signed-off-by: gal salomon <gal.salomon@gmail.com>
2020-06-23 05:19:02 +03:00
Sage Weil 53c34e4f14 remove cephadm-adoption-corpus as submodule
The test_adoption.sh just clones from master--no need to make this a
submodule.

Signed-off-by: Sage Weil <sage@redhat.com>
2020-02-27 11:46:42 -06:00
Sebastian Wagner 26424d3f0c Add submodule to rook-client-python.git
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
2020-02-13 11:33:55 +01:00
Kefu Chai 8a2088dda9 dpdk: drop dpdk submodule
we are using spdk/dpdk for async msgr's dpdk backend since 01a9f178. so
no need to keep dpdk submodule anymore.

Fixes: http://tracker.ceph.com/issues/24032
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-01-31 11:59:37 +08:00
David Galloway 2d3dc03878 Revert "dpdk: drop dpdk submodule"
This reverts commit cb8087dfac.

The seastar submodule's .gitmodules links to `../dpdk` which is no longer present after removing dpdk from ceph.git's .gitmodules.

```
<dwfreed> the ceph/seastar repo uses awful URLs for the submodules
<dwfreed> and those awful URLs are the real reason it's failing
<dwfreed> dgalloway: ^^^
<dwfreed> seastar's .gitmodules references repos in the parent directory, so that when it's checked out as a submodule of ceph, you don't download the repos twice (and git will probably also use references instead of duplicating the local .git); however, ceph doesn't have a submodule for dpdk anymore
<dwfreed> so seastar's referencing a dpdk repo that doesn't exist
<dgalloway> i think i follow.  so you're suggesting revert cb8087dfac ?
<dwfreed> yep
<dwfreed> that'd be one way to fix it
...
<joshd> dgalloway: I'd suggest revert for now, and let the crimson folks figure out the longer term fix when they're back
```

Signed-off-by: David Galloway <dgallowa@redhat.com>
2020-01-30 13:41:28 -05:00
Casey Bodley c84fc4036e git: add submodule for spawn library
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2020-01-08 10:35:05 -05:00
Sage Weil d120ffcdff ceph-daemon-adoption-corpus -> cephadm-adoption-corpus
Signed-off-by: Sage Weil <sage@redhat.com>
2019-12-11 19:14:17 -06:00
Michael Fritch da36bdfb61
ceph-daemon: add ceph-daemon-adoption-corpus.git submodule
Signed-off-by: Michael Fritch <mfritch@suse.com>
2019-12-10 11:32:15 -07:00
Kefu Chai 98fecbdeaf fmt: add fmt submodule back
seastar does not bring fmt as a submodule, so let's ready it by
ourselves.

This reverts commit 53a38bf57e.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-03-21 15:11:33 +08:00
Kefu Chai 53a38bf57e fmt: remove fmt submodule
since seastar contains fmt 5.2.1 as a submodule. there is no need
to have our own copy.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-12-17 21:05:05 +08:00
Kefu Chai e6f053d6b6 c-ares: add c-ares submodule
c-ares is a C library for asynchronous DNS requests, seastar requires
c-ares 1.13.0 or up. but xenial and EPEL offer 1.10.0, so we need to
build and ship it as part of Ceph.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-25 13:13:45 +08:00
Kefu Chai a7f30e860e fmt: add libfmt submodule
libfmt is a library for fast printf() support in C++, it is used by
seastar. but it's missing in xenial. so we need to ship it in our dist
tarball and build if if it's not found in system.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-07-25 13:13:45 +08:00
Kefu Chai 7c2107cbc2 seastar: add seastar as a submodule
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-06-08 20:58:15 +08:00
Josh Durgin 4516870a52
Merge pull request #21651 from ceph/wip-da-dmclock-submodule
move dmclock subtree into submodule

Reviewed-by: Eric Ivancich <ivancich@redhat.com>
2018-05-17 13:57:39 -07:00
Kefu Chai cb8087dfac dpdk: drop dpdk submodule
we are using spdk/dpdk for async msgr's dpdk backend since 01a9f178. so
no need to keep dpdk submodule anymore.

Fixes: http://tracker.ceph.com/issues/24032
Signed-off-by: Kefu Chai <kchai@redhat.com>
2018-05-07 23:04:01 +08:00
Danny Al-Gaaf df60c74c79 move dmclock from subtree to submodule
This way we use only one concept (submodules) to manage external
code in the ceph git repository. It also prevents occasional commits
into the wrong git repository.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
2018-04-25 20:24:46 +02:00
Casey Bodley d85f42dd69 cmake: remove Beast submodule and include path
the beast library is included in boost 1.66

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2018-01-05 14:55:23 -05:00
Jianpeng Ma 73fb6eef73 Revert "submodule: make libmpem as a submodule."
This reverts commit 6a14159ee4.
Using ExternalProject_Add::GIT to download nvml source .

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2017-10-20 17:55:48 +08:00
Kefu Chai dc3efc4f9d Merge pull request #17405 from tchaikov/wip-remove-boost-submodule
boost: remove boost submodule

Reviewed-by: Alfredo Deza <adeza@redhat.com>
2017-09-02 01:47:18 +08:00
Kefu Chai 6b23056cf8 boost: remove boost submodule
Signed-off-by: Kefu Chai <kchai@redhat.com>
2017-09-01 01:01:16 +08:00
Jianpeng Ma 6a14159ee4 submodule: make libmpem as a submodule.
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2017-08-16 05:36:48 +08:00
Adam C. Emerson c3f2447c80 submodule: Tencent's RapidJSON library
This is a high performance, MIT licensed JSON parsing library. It
provides a SAX interface so that I can compile an S3 policy without
building up a JSONObject tree in the middle that gets thrown away.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
2017-05-17 12:26:39 -04:00
Sage Weil bbe6d24184 src/blkin: add blkin submodule
Signed-off-by: Sage Weil <sage@redhat.com>
2017-05-05 14:05:24 -04:00
Adam Kupczyk 31c659e684 Changed dir structure of crypto/isal
Signed-off-by: Adam Kupczyk <akupczyk@mirantis.com>
2017-04-05 18:31:17 +02:00
Adam Kupczyk dbbf052fa0 Introduced plugins for crypto and isal implementation.
Added submodule for isa-l_crypto
Fixed problem with uninitialised var.
Enable to use crypto plugin if available.
Now isal crypto plugin compiles only on intel.

Signed-off-by: Adam Kupczyk <akupczyk@mirantis.com>
2017-04-05 18:31:17 +02:00