Describe the advanced build options provided by build.py and how
to use `cephadm version --verbose` to print the internal metadata.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Now that cephadm is based on zipapp, add a short section to the
developer docs explaining how to build cephadm yourself.
Note: This commit is a cherry-pick of
9ad38033cc, which was introduced by John
Mulligan in #48180. This is one of three commits introduced in that PR,
and this cherry-pick cleans up omissions I (Zac Dover) inadvertently
introduced while attempting to rectify the merge conflicts in #51843. I
expect that one more cherry-picked commit (specifically,
d11cf0e82a, which cannot be merged easily
until d7921e88d6 has been merged into
main, for reasons that are too
Rick-and-Morty-there-should-never-be-more-than-one-dot to go into here)
will follow this one.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 9ad38033cc)
Starting with reef, cephadm is a compiled (zipapp) python application.
The cephadm script has been renamed and thus the old curl-based
download instructions will no loner work. While cephadm still has
no dependencies outside the Python stdlib, this will be changed in
future versions so it is no longer appropriate to just download the
source file of cephadm and run it either.
This change updates the `Install cephadm` section of the doc to explain
how to acquire a "compiled" version of cephadm as well as:
* moving and tweaking the note that the two installation methods are
distinct
* adding a new note linking to instructions on building cephadm
* moving the distribution-specific installations before the curl-based
installation to subtly hint that we prefer you to get it using
packages if you can
* Noting cephadm's minimal required python verision and how to run it
with a particular python version.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Now that cephadm is based on zipapp, add a short section to the
developer docs explaining how to build cephadm yourself.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
With ./box.py --engine docker you can specify you want to use docker
instead of podman. With docker box.py command should be run with sudo.
Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
Even though box is a rootless podman container, there are some
capabilities that are need like SYS_ADMIN, NET_ADMIN and SYS_TIME.
In rootless podman chronyd is not capabable of using adjtimex syscall
so we had to add -x flag to chronyd entrypoint which states it will
not try to call that function.
To test run `./box.py -v cluster start`.
To fix: There are some problems with /dev permissions so osds cannot be
deployed still. `./box.py cluster start --expanded` won't fully work.
Details:
- Dockerfile:
- Fedora image instead of centos.
- Tons of basic packages aren't installed, therefore, those are
explicitly installed.
- Some container folders are created. It isn't clear/tested whether
those are needed.
- .box_container is an empty file to identify if a command is ran on
containers (see box.py for usage).
- box.py
- podman-compose is missing some features but it compensates with args
as --podman-run-args so you can add some extra commands whenever
podman-compose calls podman run.
- sudo ./box.py cluster start will exit since it can be dangerous.
- Added some sed trickeroo to modify chronyd options. (I don't know
how can I pass OPTIONS to it :P)
- host.py
- setup_ssh now is need on every box container.
- util.py
- rice command printing :3.
- run multiple commands with a multiline string.
Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
How to use kcli to create ceph clusters (cephadm) and made easy code changes in
manager modules.
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Add a few notes about possible future scalability improvements
Co-authored-by: Joshua Schmid <jschmid@suse.de>
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
A first document where to discuss how to improve and make more easy and effective for final users the storage devices and OSD management.
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Development document defining the goals, requirements,
design and implementation details for the exporter mode
of the cephadm 'binary'
Signed-off-by: Paul Cuzner <pcuzner@redhat.com>