this package is commented out using `# Crimson`. and it will be enabled
only if we are building "crimson" flavor builds.
this package depends on ceph-osd, because it'll basically be a drop-in
replacement of ceph-osd. and it shares all the dependencies of ceph-osd.
so let's just reuse ceph-osd package for now.
Signed-off-by: Kefu Chai <kchai@redhat.com>
The next patch adds netlink support to rbd-nbd. This patch just adds the
build related changes to bring in the netlink lib and test and build
against it.
Signed-off-by: Mike Christie <mchristi@redhat.com>
Instead of self-written validation methods to validate IPv4 and IPv6 addresses.
Use Python's standard library functions `ipaddress`.
Signed-off-by: Ashish Singh <assingh@redhat.com>
The primary motivation to relicense is a desire to integrate with projects
that are licensed under the Apache License version 2.0. Although opinions
vary, there are some who argue the the LGPL-2.1 and Apache-2.0 licenses
are not fully compatible. We would like to avoid the ambiguity and
potential for controversy.
Projects we would like to consume that are Apache-2.0 licensed include
Seastar, OpenSSL (which is in the process of relicensing to Apache-2.0),
and Swagger (swagger.io). Note that some of these are dynamically linked
or consumed via a high-level language and may or may not require a change
to LGPL-3.0, but providing the option for LGPL-3.0 certainly avoids any
uncertainty.
A few other source files are already incorporated into Ceph that claim an
Apache-2.0 license:
src/common/deleter.h
src/common/sstring.h
src/include/cpp-btree
The Ceph developers would further like to provide a license option that is
more modern than the current LGPL-2.1. LGPL-3.0 includes updated,
clarified language around several issues and is widely considered
more modern, superior license.
Signed-off-by: Sage Weil <sage@redhat.com>
ceph-common depends on librados2, but ceph-immutable-object-cache only
uses librados2's C++ API, so librados2 would suffice.
rpmbuild is able to figure out the .so dependencies, and let
ceph-immutable-object-cache depend on the package which offers
librados2, but we'd better make sure immutable-object-cache is linked
against the librados2 of the same version, to ensure that librados2
offers the correct C++ symbols. as we only version the C++ API in the
librados2 after nautilus.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/26237/head:
Revert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split"
doc/librados: explicitly mention that the C++ API is not stable
ceph.spec: force use of upgrade devtoolset-gcc under RHEL 7
librados: add symbol versioning to the C++ API
librados: add symbol versioning to the C API
librados: revert librados3/libradoscc back to librados2
Reviewed-by: Kefu Chai <kchai@redhat.com>
The future goal would be to change the version for each Ceph major
release to ensure C++ applications will need to be recompiled against
the librados C++ API since we don't guarentee ABI stability.
Fixes: https://tracker.ceph.com/issues/38177
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
* refs/pull/26526/head:
rpm,deb: remove btrfs-tools as a build-dependency
rpm,deb: remove bc as a build-dependency
Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
For backwards compatibility and upgrade reasons, the librados2
API needs to be preserved and it needs to continue to be compatible
with dependent libraries like librbd1.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
this change reverts 7d48d21a
we are using bluestore for testing by default on GNU/Linux now. and on
FreeBSD, install-deps.sh does not look at spec.in or d/control.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/24805/head:
qa/suite: add dedup test
src/tools: fix compile error (master version issue)
src/tools: add stats (fixed objects,total objects)
src/tools: make room for cdc
src/tools: make enhacned stats and interface class
src/tools: set timelimit and add signal handler to check progress
src/tools: use the slice thing and make parallel (chunk_scrub)
src/test: add max-thread test in test_dedup_tool.sh
src/tools: use the slice thing and make parallel
src/test: add chunk-scrub test in test_dedup_tool.sh
src/tools: add chunk-scrub op in dedup tool
src/cls/cas: add has_chunk op
src/test: add test_dedup_tool.sh
src/tools: initial works for dedup tool
Reviewed-by: Sage Weil <sage@redhat.com>
mark dependencies used for `make check` run with `Make-Check`
in which, socat is used only by `qa/standalone/mon/mon-bind.sh`, we
could mark it with QA-Run, but since there only a single dependency in
this bucket, let's wait for more of them before adding the QA-Run
category.
Signed-off-by: Kefu Chai <kchai@redhat.com>
this change reverts 7d48d21a
we are using bluestore for testing by default on GNU/Linux now. and on
FreeBSD, install-deps.sh does not look at spec.in or d/control.
Signed-off-by: Kefu Chai <kchai@redhat.com>
to make ceph-mgr-dashboard a separated package
- helps to reduce the repo size of downstream. because
ceph-mgr-dashboard is an architecture independent package. by
making it separated package avoids needless duplication of
the same data in mutiple .debs.
- gives user a fine grained control of selection.
Signed-off-by: Kefu Chai <kchai@redhat.com>
python-jinja2 dependency was added for the dashboard v1 in 87399bea. but
dashboard v2, which is now known as "dashboard" has taken the place of
the old dashboard. and dashboard now does not use jinja2, so we should
drop this dependency.
Signed-off-by: Kefu Chai <kchai@redhat.com>
change following plugins' Architecture to "all", as they are pure python
plugins, and are architecture-independent packages.
- ceph-mgr-diskprediction-cloud
- ceph-mgr-diskprediction-local
- ceph-mgr-rook
this also matches their couterparts in ceph.spec.in, where we have
```
BuildArch: noarch
```
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/25977/head:
qa/suites: exclude new packages when installing old versions
rpm: add dependency on python-kubernetes module to ceph-mgr-rook package
rpm,deb: add rbd_support module to ceph-mgr
packaging: split ceph-mgr diskprediction and rook plugins into own packages
Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
We can re-enable after we branch. For N, though, there is no point in dragging
in the dependencies and implying there is something that works.
Signed-off-by: Sage Weil <sage@redhat.com>
This provides an 'iostat' and 'top'-like IO monitor for all
RBD images
Fixes: http://tracker.ceph.com/issues/37913
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
The ambiguous shebang now produces an error in rawhide and halts the
build. In f29 this was a warning. Add python3 as a dependency for
ceph-fuse.
Fixes: http://tracker.ceph.com/issues/37787
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
Cython version 0.29 removed the support for python subinterpreters,
which completely breaks ceph-mgr funcionality.
See cython repo commit:
7e27c7cd51
Fixes: http://tracker.ceph.com/issues/37472
Signed-off-by: Ricardo Dias <rdias@suse.com>
Fixes: https://tracker.ceph.com/issues/367419fd30b93f7 moved
/etc/bash_completion.d/radosgw-admin from radosgw to ceph-common. This
means that if you try and install a newer ceph-common over an older
radosgw, there's a conflict, and the install fails:
```
Unpacking ceph-common (12.2.8-1xenial) over (10.2.9-0ubuntu0.16.04.1) ...
dpkg: error processing archive ceph-common_12.2.8-1xenial_amd64.deb (--install):
trying to overwrite '/etc/bash_completion.d/radosgw-admin', which is also in package radosgw 10.2.9-0ubuntu0.16.04.1
```
Per Debian policy (
https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-in-other-packages
) the correct way to handle a package taking over a file is for a
versioned Replaces and Breaks.
The change went into 12.0.3, so this commit adds Replaces and Breaks
against radosgw less than that version. It should be backported to
Luminous to avoid issues with upgrades from older versions (Jewel and
Kraken).
Signed-off-by: Matthew Vernon <mv3@sanger.ac.uk>
Currently /var/lib/ceph/bootstrap-rbd-mirror is absent, which means we
need to create it manually in order to pool the
client.bootstrap-rbd-mirror key.
Signed-off-by: Sébastien Han <seb@redhat.com>
be more explicit on what we are packaging. because only
libceph-common.so.${soversion} will be packaged, since libceph-common.so
won't be installed by cmake anymore.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Add second dh_python2 call with the "private" dir /usr/lib/ceph/mgr
Fixes: http://tracker.ceph.com/issues/26883
Signed-off-by: Dan Mick <dan.mick@redhat.com>
* refs/pull/23240/head:
qa/suites/rados, qa/workunits/rados: Add suite/workunit for ceph-crash
add ceph-crash service
common/options: enable mgr 'crash' module by default
global/signal_handler: add 'done' file to signal crashdump is ready
Reviewed-by: Sage Weil <sage@redhat.com>
ceph-crash runs from systemd and watches /var/lib/ceph/crash
for crashdumps, posting them to the mgrs using the mgr's
crash plugin
Signed-off-by: Dan Mick <dan.mick@redhat.com>
python-ceph-argparse is required by ceph_volume_client.py. hence we do
need list it as a dependency of python-cephfs.
Fixes: http://tracker.ceph.com/issues/24919
Signed-off-by: Kefu Chai <kchai@redhat.com>
in `cephfs.pyx` we `cimport rados`, and in
LibCephFs.create_with_rados(), Rados.cluster is accesssed without GIL,
so we need to import the rados module for cephfs to ensure that it's
safe to access this attribute without GIL.
dh_python2 and dh_python3 cannot fill ${python:Depends} and
${python3:Depends} with this dependency, so we need to set it
explicitly.
Fixes: http://tracker.ceph.com/issues/24918
Signed-off-by: Kefu Chai <kchai@redhat.com>
python-six is used by dashboard's controllers. please note,
${python:Depends} is able to fill the installation dependencies for
debian package. so python-six is not added to Requires of ceph-mgr.
Signed-off-by: Kefu Chai <kchai@redhat.com>
memory.h was introduced back when the shared_ptrs were still in TR1, but
we've moved to C++17 now. and the C++ clients should be compiled with
a C++11 compatible compiler. so there is no need to have this file anymore.
also replace all references of ceph::shared_ptr and ceph::weak_ptr with
std::shared_ptr and std::weak_ptr accordingly.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/22586/head:
global/signal_handler: one less frame of context
global/signal_handler: write crash dumps to /var/lib/ceph/crash/$uuid/
common/ceph_context: add "assert" and "abort" asok commands
common/assert: record assert info in g_assert_* globals
common: add crash_dir option
common/assert: get rid of duplicate log dump from assert handler
common/BackTrace: add dump()
log: do not discard recent after dumping it
debian,rpm: /var/lib/ceph/crash
* install and package librgw_admin_user.h, so developers can use it to
create rgw user.
* package librgw_admin_user, so user can use it to create rgw user.
Signed-off-by: Kefu Chai <kchai@redhat.com>
the influx plugin requires influxdb python module to function, but
influxdb mgr plugin is optional for users who don't use influxdb.
so it's marked "Suggests" at this moment before we use a more flexible
packaging scheme.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Since ceph-disk has been moved from "ceph-osd" to "ceph-base", all of
ceph-disk's dependencies should also be moved, provided they are not
needed by anything else.
Fixes: http://tracker.ceph.com/issues/23657
Signed-off-by: Nathan Cutler <ncutler@suse.com>
in ceph/ceph-container we've realized that `e2fsprogs` isn't installed in
centos container image because ceph hasn't a dependency for it.
It has for consequence to fail when deploying a containerized cluster
with dmcrypt when using centos image.
Typical error encountered:
typical error:
```
......
get_dm_uuid: get_dm_uuid /dev/sda uuid path is /sys/dev/block/8:0/dm/uuid
get_dm_uuid: get_dm_uuid /dev/sda uuid path is /sys/dev/block/8:0/dm/uuid
get_dm_uuid: get_dm_uuid /dev/sda5 uuid path is /sys/dev/block/8:5/dm/uuid
populate: Creating lockbox fs on %s: mkfs -t ext4 /dev/sda5
command_check_call: Running command: /usr/sbin/mkfs -t ext4 /dev/sda5
mkfs.ext4: No such file or directory
Traceback (most recent call last):
File "/usr/sbin/ceph-disk", line 9, in <module>
load_entry_point('ceph-disk==1.0.0', 'console_scripts', 'ceph-disk')()
......
```
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Back in commit 7469f26a33 when the COPYING
file was added to the repository and the project was "licensed," the
license file was
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
However, the license was abbreviated as LGPL2 in various places (pretty
much everywhere, actually), due to my own ignorance/carelessness. (I was
distinguishing it from shiny new version 3, released 6 months earlier.)
Version 2 of LGPL is the "Library General Public License," published in
June 1991: https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html
Note that this ambiguity persists for most of the project's lifetime. For
example, the original debian/copyright in 8adc9dac1d
said "LGPL2" bug in 4545f8b929 (2009, a year
later) it is changed to LGPL2.1 to satisfy Debian's lintian checks. (It's
remained LGPL2.1 ever since.)
"Correct" the record by changing LGPL2 references to LGPL2.1.
Signed-off-by: Sage Weil <sage@redhat.com>
The license applicable to the files under doc/ was originally declared (in the
top-level file COPYING) to be "Creative Commons Attribution-ShareAlike (CC
BY-SA)" by ed0653b493
This license declaration omitted a version number.
Some time later ef7418421b was merged, mentioning
CC-BY-SA-1.0 as one of the Ceph source code licenses. Although the purpose of that
commit was only to summarize the canonical license information from COPYING, it
unintentionally became the only place in the source code where the doc license
version was specified.
In March 2018, the Debian project warned that CC-BY-SA-1.0 does not meet its
criteria for inclusion in the "free" section of the Debian distribution. (For
that, at least version 3.0 must be used.)
This new commit removes the doc license ambiguity by setting it to CC-BY-SA-3.0
in all places where the license is mentioned.
The exact spelling of the license name is taken from https://spdx.org/licenses/
Fixes: http://tracker.ceph.com/issues/23336
Signed-off-by: Nathan Cutler <ncutler@suse.com>
87399bea83 introduced an explicit dependency on
python-jinja2, but mistakenly as an overall build dependency instead of as a
runtime dependency of ceph-mgr as intended.
Fixes: http://tracker.ceph.com/issues/22457
Signed-off-by: Nathan Cutler <ncutler@suse.com>
* Added new CMake flag `WITH_MGR_DASHBOARD_V2_FRONTEND`:
Build the mgr/dashboard_v2 frontend using `npm install && npm run build`
* Set this flag to `OFF` when building packages.
* Removed creation of the frontend from `vstart.sh`
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
curl + gnutls has some big significant performance hits at least
when doing keystone validation. nss has long-term memory growth
issues.
Signed-off-by: Marcus Watts <mwatts@redhat.com>
this change also fix the EnvironmentFile specified in rbdmap.service.
without this change EnvironmentFile in rbdmap.service is always
/etc/sysconfig/ceph even on debian derived distros. after this change,
this variable is /etc/default/ceph in rbdmap.service shipped by the deb
packages.
Signed-off-by: Kefu Chai <kchai@redhat.com>
Since ceph-common is a hard dependency of ceph-base, packages that
require ceph-base do not need to recommend ceph-common.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This script is pointless. It is equivalent to the built-in default
behavior, which makes it only useful as a sample for what a location
hook's output should be. The documentation has been updated to provide
that.
Signed-off-by: Sage Weil <sage@redhat.com>
adds a more specific option for this boost::context dependency, which was
previously only used by the radosgw beast frontend. see
http://tracker.ceph.com/issues/20048 for more background
Signed-off-by: Casey Bodley <cbodley@redhat.com>
We were getting this via python-flask, when mgr was
installed on nodes with ceph-mon, but for correctness
in general we should depend on it from ceph-mgr (it
is imported by the dashboard module).
Fixes: http://tracker.ceph.com/issues/22457
Signed-off-by: John Spray <john.spray@redhat.com>
this is a follow-up of #19328. we need to get this change into 12.2.3.
so better off do the switch somewhere after 12.2.2 which has been
tagged, and before 12.2.3, which is not tagged yet.
please note, this is not targetting master, because i want to make
sure the change number (the <num> in << 12.2.2-<num>) is correct. it
does not hurt if it's not, as long as it is ">> 12.2.2", so the replace
machinery in 12.2.3 works, and it covers the releases where the
ceph-{osdomap,kvstore,monstore}-tool are not move yet. but why don't
make it more right?
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit cdf49ba664)
The backport didn't make 12.2.2, but it will be in 12.2.3.
Fixes: http://tracker.ceph.com/issues/22319
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit e0c814266f)
* cmake/modules/BuildSPDK.cmake: add lvol
* cmake/modules/BuildDPDK.cmake: add pci and bus_pci
* ceph.spec.in, cmake/modules/BuildSPDK.cmake, debian/control:
re-introduce libuuid dependency, as 17.07 added lvol. and the latter
depends on uuid.
* cmake/modules/BuildSPDK.cmake: avoid introducing local variable of
`iface_libs`.
* cmake/modules/patch-dpdk-conf.sh: disable
CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES, this option introduces the
balanced allocation of memory. but it also requires libnuma-dev.
let's disable it for now.
Signed-off-by: Kefu Chai <kchai@redhat.com>
when osd is more than 14 in one host,it report error that aio is not enough.
As the default aio-max-nr is 65536, one OSD needs 4096 aios and other programs may use aios.
This patch change aio-max-nr to 1048576 when install ceph-osd rpm package and debian package
Signed-off-by: chenliuzhong <liuzhong.chen@easystack.cn>
d3ac8d18 moves ceph-client-debug from ceph-test to ceph-base without
updating the package relationships between the two involved packages.
which results in:
dpkg: error processing archive /var/cache/apt/archives/ceph-test_12.2.1-241-g43e027b-1trusty_amd64.deb (--unpack):
trying to overwrite '/usr/bin/ceph-client-debug', which is also in package ceph-base 10.2.10-14-gcbaddae-1trusty
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Signed-off-by: Kefu Chai <kchai@redhat.com>
we have issues when running upgrade tests:
dpkg: error processing archive /var/cache/apt/archives/ceph-osd_13.0.0-2201-g6cc0b41-1trusty_amd64.deb (--unpack):
trying to overwrite '/usr/bin/ceph-osdomap-tool', which is also in package ceph-test 10.2.10-14-gcbaddae-1trusty
in 40caf6a6, we moves some tools from ceph-test out into ceph-osd,
ceph-mon and ceph-base respectively. but didn't update the relationships
between these packages accordingly. this causes the upgrade failure.
see https://www.debian.org/doc/debian-policy/#document-ch-relationships
for more details on "Breaks" and "Conflicts".
the reason why the package version to be replaced/conflicted is 12.2.2
is that: i assume that this change will be backported to luminous, and
the next release of it will be 12.2.2 .
Signed-off-by: Kefu Chai <kchai@redhat.com>
os/bluestore: allow reconstruction of osd data dir from bluestore bdev label
Reviewed-By: Alfredo Deza <adeza@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
ceph-osdomap-tool into ceph-osd subpackage
ceph-monstore-tool into ceph-mon subpackage
ceph-kvstore-tool into the ceph-base subpackage
Fixes: http://tracker.ceph.com/issues/21762
Signed-off-by: Nathan Cutler <ncutler@suse.com>