In Debian "gdisk" is already listed under ceph-base, so this commit is
RPM-only.
sgdisk is only used by ceph-disk (part of "ceph-base"), not by ceph-volume
(part of "ceph-osd")
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>
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>
* 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>
build/ops: change WITH_SYSTEMD default to ON
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
The expectation is that _defined_if_python2_absent will be defined
if (and only if) the python2 bcond is not set. Before this patch, if
somebody were to build the package on suse_version 1500 with
--with-python2, the _defined_if_python2_absent would be defined,
which is a bug.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This eliminates several ugly conditional blocks. This commit also does some
cleanup like dropping the ceph-base runtime dependency on "python", which is
implicit in "python-requests".
Signed-off-by: Nathan Cutler <ncutler@suse.com>
The python3-ceph-argparse package is only necessary in environments where
Python 3 might not be available. For distros where Python 3 has become
standard with Python 2 an optional extension (instead of vice versa as
in the current status quo), the files in this package can (and should)
be included in ceph-common directly.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Sometimes the build machine has lots of processor cores and not enough
memory to successfully build Ceph on all of them at once. Calculate
how many parallel build processes we can sustain with the memory we
have and set a lower build parallelism if necessary. Never exceed
the value set by %_smp_mflags even if memory is aplenty.
Credits to Tomáš Chvátal for the original idea and implementation.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Fixes RPMLINT warning "non-standard-group Development/Libraries"
Also, the Group: line is only needed for SUSE so put it in an appropriate
distro conditional.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
With this macro, we can use a single Source0 line for all supported distros.
RH/CentOS/Fedora needs the prefix, while SUSE builds in the OBS use a local
tarball.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
"rcceph" is a SysVinit-style command-line interface for stopping, starting,
enabling, etc. all ceph-osd and ceph-mon systemd units on a machine, in one go.
Since the same functionality is provided by ceph-{osd,mon}.target, the script
is obsolete. It is also unmaintained. Judging from the absence of recent
mentions of the script online, I guess it is no longer used.
Leaving dead code in the tree can cause confusion, especially when the code is
packaged and shipped to customers. Therefore I propose to rip it out.
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>
this is the rpm's counterpart of debian/control changes related to the
ceph-{osdomap,kvstore,monstore}-tool feature move. see #19328 and #19356.
the commit introducing this move is 6dba25e. and
$ git describe 6dba25e
v12.2.2-8-g6dba25e39d
so the first release that have this change is 12.2.2-8. in other words,
ceph-{base,osd,mon} >= 12.2.2.8 cannot co-exist with ceph-test < 12.2.2-8
in the same system. so we let ceph-test Requires ceph-common with the
same version. and since ceph-{osd,mon} Requires ceph-base with the same
version, and ceph-base Requires ceph-common with the same version, so by
tiering ceph-test with ceph-common with the same version, we enforce
this restriction.
Fixes: http://tracker.ceph.com/issues/22558
Signed-off-by: Kefu Chai <kchai@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>
* 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>
rpm: build-depends on "cunit-devel" for suse
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Requiring the file /usr/share/selinux/devel/policyhelp breaks fc27 and
Rawhide builds as they do not have that file. This exposed the fact this
code had not worked in some time due to changes in selinux policy
modules packaging. See
https://bugzilla.redhat.com/show_bug.cgi?id=999584
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
The influxdb module won't run if python-influxdb is not present (but it will be
graceful about not running). That means python-influxdb is a dependency of
that module, not mgr itself. However, we are not (yet) packaging the modules
separately. (When we do, this could become a Requires: of the module.)
RPM itself does not support "Recommends", and ignores this line. Higher-level
tools may or may not support it, so put this line in a SUSE-only conditional
since we know that zypper supports it.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Tim Serong <tserong@suse.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>
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>
As reported by Ademar de Souza Reis Jr <areis@redhat.com>:
This symlink should not be necessary anymore. QEMU is properly linked to
ceph/librbd these days (look at the qemu-block-rbd sub-package in Fedora and
the respective package in RHEL).
The symlink was a hack from a time when librbd was distributed and supported by
ceph and the rbd driver would be enabled at runtime only when/if the symlink
was present.
So the right fix is to actually get rid of the symlink altogether and never
touch (much less own) /usr/lib64/qemu.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
The ceph-fuse(8) man page describes using the "fusermount" tool to mount
CephFS. This utility is in the "fuse" package. Prior to this change, the
ceph-fuse RPM only depends on "fuse-libs", not "fuse".
The Debian packaging has always depended on the full "fuse" (previously
"fuse-utils") package, so we should make the RPM packaging do the same.
Fixes: http://tracker.ceph.com/issues/21057
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
rpm expands all macros in a .spec file, even those in comments. Drop the
percent signs so rpm will not expand these.
This change silences rpmlint's warning about macros in comments.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Header files are currently installed under a hardcoded "include" path.
Use CMAKE_INSTALL_INCLUDEDIR instead, which defaults to "include" but
allows for customisation alongside other (already used) CMAKE_INSTALL_X
paths.
Signed-off-by: David Disseldorp <ddiss@suse.de>
Add a set of new tests for the case when public_addr and public_bind_addr
are different for a mon. In order to test this properly I had to employ
port forwarding with socat. This helps simulate what would happen in a
environment like Kubernetes. socat is now a build dependency.
Also, moved jq_success to ceph-helpers.sh and refactored run_mon to enable
creating the mons without creating the rbd pool immediately.
Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
If FIRST_ARG is undefined, the rpms will show an error on upgrade
because the condition in the postun script gets broken.
This was a regression introduced by commit for issue 20077 that moved
ceph-disk unit files to ceph-base.
Fixes: http://tracker.ceph.com/issues/20077
Signed-off-by: Boris Ranto <branto@redhat.com>
RHEL's ceph-common package is "1". Move our upstream packages' epoch
ahead of that, so that upstream will always override whatever is in
RHEL, even if it happens to have a higher NVR one day.
Fixes: http://tracker.ceph.com/issues/20508
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
Although under normal packaging circumstances this would probably not be done,
in Ceph there is no reasonable deployment scenario where multiple major
versions of libcephfs would need to be present at the same time.
Signed-off-by: Nathan Cutler <ncutler@suse.com>
All options to en/disable inclusion of libraries or other software
are of the format WITH_ so that the Cmake commaind like ahs all
WITH_* options. The WITH_=ON option will result in a HAVE_ setting
in CMAKE so that tests can use that variable.
Last "abusers" to actually follow this format.
- HAVE_BABELTRACE
- HAVE_ZFSLIB is fixed in #15907
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
9164804416 introduced a build error:
ceph-common-12.1.0+git.1498286248.2fcedc7b3d-1.1.x86_64.rpm: directories not
owned by a package:
- /usr/share/doc/packages/ceph
The %docdir directive is a way of flagging anything in that directory as being
documentation. It does not actually package the directory. And we don't need
it because we're not dumping a large number of files into this directory.
For more information, see the "Directory-related Directives" section of
http://ftp.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html
Signed-off-by: Nathan Cutler <ncutler@suse.com>
This implements a create-self-signed-cert command for the ceph-mgr
restful interface.
It is designed so that it will try to restart the module once the cert
is created.
Signed-off-by: Boris Ranto <branto@redhat.com>