diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-23 16:45:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-23 16:45:13 +0000 |
commit | 389020e14594e4894e28d1eb9103c210b142509e (patch) | |
tree | 2ba734cdd7a243f46dda7c3d0cc88c2293d9699f /doc/dev/cephadm/developing-cephadm.rst | |
parent | Adding upstream version 18.2.2. (diff) | |
download | ceph-389020e14594e4894e28d1eb9103c210b142509e.tar.xz ceph-389020e14594e4894e28d1eb9103c210b142509e.zip |
Adding upstream version 18.2.3.upstream/18.2.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/dev/cephadm/developing-cephadm.rst')
-rw-r--r-- | doc/dev/cephadm/developing-cephadm.rst | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/doc/dev/cephadm/developing-cephadm.rst b/doc/dev/cephadm/developing-cephadm.rst index 49b771caa..a213b5f1e 100644 --- a/doc/dev/cephadm/developing-cephadm.rst +++ b/doc/dev/cephadm/developing-cephadm.rst @@ -401,3 +401,64 @@ own copy of the cephadm "binary" use the script located at ``./src/cephadm/build.py [output]``. .. _Python Zip Application: https://peps.python.org/pep-0441/ + +You can pass a limited set of version metadata values to be stored in the +compiled cepadm. These options can be passed to the build script with +the ``--set-version-var`` or ``-S`` option. The values should take the form +``KEY=VALUE`` and valid keys include: +* ``CEPH_GIT_VER`` +* ``CEPH_GIT_NICE_VER`` +* ``CEPH_RELEASE`` +* ``CEPH_RELEASE_NAME`` +* ``CEPH_RELEASE_TYPE`` + +Example: ``./src/cephadm/build.py -SCEPH_GIT_VER=$(git rev-parse HEAD) -SCEPH_GIT_NICE_VER=$(git describe) /tmp/cephadm`` + +Typically these values will be passed to build.py by other, higher level, build +tools - such as cmake. + +The compiled version of the binary may include a curated set of dependencies +within the zipapp. The tool used to fetch the bundled dependencies can be +Python's ``pip``, locally installed RPMs, or bundled dependencies can be +disabled. To select the mode for bundled dependencies use the +``--bundled-dependencies`` or ``-B`` option with a value of ``pip``, ``rpm``, +or ``none``. + +The compiled cephadm zipapp file retains metadata about how it was built. This +can be displayed by running ``cephadm version --verbose``. The command will +emit a JSON formatted object showing version metadata (if available), a list of +the bundled dependencies generated by the build script (if bundled dependencies +were enabled), and a summary of the top-level contents of the zipapp. Example:: + + $ ./cephadm version --verbose + { + "name": "cephadm", + "ceph_git_nice_ver": "18.0.0-6867-g6a1df2d0b01", + "ceph_git_ver": "6a1df2d0b01da581bfef3357940e1e88d5ce70ce", + "ceph_release_name": "reef", + "ceph_release_type": "dev", + "bundled_packages": [ + { + "name": "Jinja2", + "version": "3.1.2", + "package_source": "pip", + "requirements_entry": "Jinja2 == 3.1.2" + }, + { + "name": "MarkupSafe", + "version": "2.1.3", + "package_source": "pip", + "requirements_entry": "MarkupSafe == 2.1.3" + } + ], + "zip_root_entries": [ + "Jinja2-3.1.2-py3.9.egg-info", + "MarkupSafe-2.1.3-py3.9.egg-info", + "__main__.py", + "__main__.pyc", + "_cephadmmeta", + "cephadmlib", + "jinja2", + "markupsafe" + ] + } |