This effort was started long time ago by Mike Perez.[1] I now completed the remaining steps to achieve the Passing level of the OpenSSF Best Practices Badge.[2]
It should be used as an opportunity to implement best practices in the Ceph community. For example, the Passing level was achieved without meeting the optional compliance with Dynamic Analysis or Security Scanning.
[1] https://www.bestpractices.dev/en/projects/2220
[2] https://www.bestpractices.dev/en/criteria/0
Signed-off-by: Ernesto Puerta <37327689+epuertat@users.noreply.github.com>
An indentation of five spaces relative to the previous line creates a
command that is copyable with a single mouse click. This commit adds
those copyabale commands to the procedure in the section "Building
Ceph".
Signed-off-by: Zac Dover <zac.dover@proton.me>
Add "tip" alert styling (what in Docbook XML is called "an admonition")
to information about Ninja in an ordered list (which is what markdown
has here instead of procedures).
Signed-off-by: Zac Dover <zac.dover@proton.me>
Add information in the "Building Ceph" procedure to the steps where it
belongs. Add information about "do_cmake.sh" to the step about
"do_cmake.sh". Add information about Ninja to the step about Ninja.
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
Ceph has lots of submodules that needs to be cloned before building
binaries from the repository. Seeing the progress when these submodules
are being cloned is useful, especially when developers/users have a
network issue or a slow network.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
The "rbd" pool has not been created by default since Luminous. This
commit removes a command that assumed the existence of the "rbd" pool.
Signed-off-by: Zac Dover <zac.dover@proton.me>
Add subheadings to the "CMake Options" section of ceph/README.md. Remove
modal verbs when appropriate and make sentences tidier.
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
Improve the "Building Ceph" section of ceph/README.md.
Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
Improve the portion of README.md that directs the reader to update the
submodules. Previously, the text assumed that the reader knew that they
should cd into the ceph directory. Now the text is explicit about the
necessity of this action.
Signed-off-by: Zac Dover <zac.dover@proton.me>
Add instructions directing the reader to install the "python3-routes"
package. This package is required in order to launch the dashboard after
the installation procedure has completed, but is not yet included in the
install-deps.sh script.
Signed-off-by: Zac Dover <zac.dover@proton.me>
I searched the existing documentation for a link to the tracker and had a hard time finding it. Other folks like myself might like it so prominently displayed.
Added a link to https://tracker.ceph.com/projects/ceph as https://tracker.ceph.com/ is basically blank and not totally intuitive how to get to issues.
Signed-off-by: John Bent <john.bent@seagate.com>
per https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
> -Og
> Optimize debugging experience. -Og should be the optimization level of
> choice for the standard edit-compile-debug cycle, offering a reasonable
> level of optimization while maintaining fast compilation and a good
> debugging experience. It is a better choice than -O0 for producing
> debuggable code because some compiler passes that collect debug
> information are disabled at -O0.
so instead of using -O0, for better developer experience, -Og is
recommended.
Signed-off-by: Kefu Chai <kchai@redhat.com>
OFED_PREFIX was added to compile with xio messenger for supporting RDMA
using the Accelio and/or MLNX_OFED package. but xio messenger was removed in
in cc9a9142fd
let remove the leftover in CMakeLists
Signed-off-by: Kefu Chai <kchai@redhat.com>
it's stale. as we now require 3.10 after dropping the support of xenial.
and it's incomplete, we have a ton of build dependencies apart from
cmake.
Signed-off-by: Kefu Chai <kchai@redhat.com>
This patch adds a new env variables that users can set to define the
location of the checked out ceph git repo.
The documentation mentions having to go edit the script directly to
point to the ceph git directory if the build dir isn't in the
top directory of the checked out git repo. This patch changes the '..'
into an env variable, CEPH_GIT_DIR, that defaults to '..'. To make it
easy to script and change.
This allows someone to do things like:
export CEPH_GIT_DIR=~/git/ceph
./do_cmake.sh
or
CEPH_GIT_DIR=~/git/ceph ./do_cmake.sh
Which is much better then editing the script directly.
The README.md has been modified to mention this variable and also
includes a drive by to mention `make -j` for new contributors to
build ceph quicker.
Signed-off-by: Matthew Oliver <moliver@suse.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>
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>
The commands in README.md are aligned using one tab or eight spaces,
the github markdown engine not handle this properly, so using one tab
universely.
Signed-off-by: Yao Zongyou <yaozongyou@vip.qq.com>
Using long options where possible to make it easier to understand directly
and adding bluestore by default as it is the default storage backend.
Signed-off-by: Fabian Vogt <fvogt@suse.com>
Deleted README.cmake.md and put any helpful
information it had into README.md.
Also a added note about which tests get executed
by ctest.
Signed-off-by: Ali Maredia <amaredia@redhat.com>