From: Samuel Just Date: Sun, 16 Oct 2022 04:31:28 +0000 (-0700) Subject: doc/dev/crimson/crimson.rst: update/clarify cephadm crimson instructions X-Git-Tag: v18.1.0~299^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=41d12bab495c45a1f5c9aa8965a2d5eb56efe1cf;p=ceph.git doc/dev/crimson/crimson.rst: update/clarify cephadm crimson instructions Signed-off-by: Samuel Just --- diff --git a/doc/dev/crimson/crimson.rst b/doc/dev/crimson/crimson.rst index 655ca80e97b..175c431d0d1 100644 --- a/doc/dev/crimson/crimson.rst +++ b/doc/dev/crimson/crimson.rst @@ -24,44 +24,45 @@ cloned using git. .. _ASan: https://github.com/google/sanitizers/wiki/AddressSanitizer -Installing Crimson with ready-to-use images -=========================================== +Testing crimson with cephadm +=============================== -An alternative to building Crimson from source is to use container images built -by Ceph CI/CD and deploy them with one of the orchestrators: ``cephadm`` or ``Rook``. -In this chapter documents the ``cephadm`` way. +The Ceph CI/CD pipeline includes ceph container builds with +crimson-osd subsitituted for ceph-osd. -NOTE: We know that this procedure is suboptimal, but it has passed internal -external quality assurance.:: +Once a branch at commit has been built and is available in +shaman, you can deploy it using the cephadm instructions outlined +in :ref:`cephadm` with the following adaptations. +First, while performing the initial bootstrap, use the --image flag to +use a crimson build rather than a default build: - $ curl -L https://raw.githubusercontent.com/ceph/ceph-ci/wip-bharat-crimson/src/cephadm/cephadm -o cephadm - $ cp cephadm /usr/sbin - $ vi /usr/sbin/cephadm +.. prompt:: bash # -In the file change ``DEFAULT_IMAGE = 'quay.ceph.io/ceph-ci/ceph:master'`` -to ``DEFAULT_IMAGE = 'quay.ceph.io/ceph-ci/ceph:-crimson`` where ```` -is the commit ID built by the Ceph CI/CD. You may use -https://shaman.ceph.com/builds/ceph/ to monitor branches built by Ceph's Jenkins -and to also discover those IDs. + cephadm --image quay.ceph.io/ceph-ci/ceph:-crimson --allow-mismatched-release bootstrap ... -An example:: +You'll likely need to include the --allow-mismatched-release flag to +use a non-release branch. - DEFAULT_IMAGE = 'quay.ceph.io/ceph-ci/ceph:1647216bf4ebac6bcf5ad7739e02b38569736cfd-crimson +Additionally, prior to deploying the osds, you'll need enable crimson +and default pools to be created as crimson pools (from cephadm shell): -When the edition is finished:: +.. prompt:: bash # - chmod 777 cephadm - podman pull quay.ceph.io/ceph-ci/ceph:-crimson - cephadm bootstrap --mon-ip 10.1.172.208 --allow-fqdn-hostname - # Set "PermitRootLogin yes" for other nodes you want to use - echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config - systemctl restart sshd + ceph config set global 'enable_experimental_unrecoverable_data_corrupting_features' crimson + ceph osd set-allow-crimson --yes-i-really-mean-it + ceph config set mon osd_pool_default_crimson true - ssh-copy-id -f -i /etc/ceph/ceph.pub root@ - cephadm shell - ceph orch host add - ceph orch apply osd --all-available-devices +The first command enables the crimson experimental feature. Crimson +is highly experimental, and malfunctions up to and including crashes +and data loss are to be expected. + +The second enables the allow_crimson OSDMap flag. The monitor will +not allow crimson-osd to boot without that flag. + +The last causes pools to be created by default with the crimson flag. +crimson pools are restricted to operations supported by crimson. +crimson-osd won't instantiate pgs from non-crimson pools. Running Crimson ===============