### Example Git Configuration Source: https://docs.ceph.com/en/latest/start/documenting-ceph Provides an example of how to set your global Git user name and email address. ```bash git config --global user.name "John Doe" git config --global user.email johndoe@example.com ``` -------------------------------- ### Example Enabled Debug Status Output Source: https://docs.ceph.com/en/latest/mgr/dashboard Example output after enabling debug mode. ```text Debug: 'enabled' ``` -------------------------------- ### Install Git Tools (Debian/Ubuntu) Source: https://docs.ceph.com/en/latest/start/documenting-ceph Install graphical Git tools like gitk and git-gui on Debian-based systems using apt-get. ```bash sudo apt-get install gitk git-gui ``` -------------------------------- ### Install Git Tools (Fedora/CentOS/RHEL) Source: https://docs.ceph.com/en/latest/start/documenting-ceph Install graphical Git tools like gitk and git-gui on Fedora-based systems using yum. ```bash sudo yum install gitk git-gui ``` -------------------------------- ### Install Git on Fedora Source: https://docs.ceph.com/en/latest/start/documenting-ceph Installs the Git version control system on Fedora systems. This is a prerequisite for cloning the Ceph repository. ```bash sudo yum install git ``` -------------------------------- ### Install Git on Debian/Ubuntu Source: https://docs.ceph.com/en/latest/start/documenting-ceph Installs the Git version control system on Debian or Ubuntu-based systems. This is a prerequisite for cloning the Ceph repository. ```bash sudo apt-get install git ``` -------------------------------- ### Setup SAML2 Single Sign-On for Ceph Dashboard Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt Configure SAML2 SSO by providing the dashboard's base URL, IdP metadata, and optional identity provider and service provider details. Ensure the python-saml library is installed. ```bash ceph dashboard sso setup saml2 {} {} {} {} ``` -------------------------------- ### Serve Documentation Locally Source: https://docs.ceph.com/en/latest/start/documenting-ceph Start an HTTP server to view the built documentation locally. The server will be accessible at http://localhost:8080/. ```bash admin/serve-doc ``` -------------------------------- ### Example Feature Status Output Source: https://docs.ceph.com/en/latest/mgr/dashboard Example output from the 'ceph dashboard feature status' command, showing the status of various features. ```text Feature 'cephfs': 'enabled' Feature 'iscsi': 'enabled' Feature 'nvmeof': 'enabled' Feature 'mirroring': 'enabled' Feature 'rbd': 'enabled' Feature 'rgw': 'enabled' Feature 'nfs': 'enabled' ``` -------------------------------- ### Install Grafana Plugins Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt Install necessary Grafana plugins using the grafana-cli tool. These plugins provide custom panels for dashboards. ```bash grafana-cli plugins install vonage-status-panel grafana-cli plugins install grafana-piechart-panel ``` -------------------------------- ### Example Debug Status Output Source: https://docs.ceph.com/en/latest/mgr/dashboard Example output from the 'ceph dashboard debug status' command. ```text Debug: 'disabled' ``` -------------------------------- ### Install Debian/Ubuntu Ceph Docs Dependencies Source: https://docs.ceph.com/en/latest/start/documenting-ceph Installs essential packages for building Ceph documentation on Debian/Ubuntu systems using apt-get. ```bash sudo apt-get install gcc python-dev python3-pip libxml2-dev libxslt-dev doxygen graphviz ant ditaa sudo apt-get install python3-sphinx python3-venv cython3 ``` -------------------------------- ### Example Role Specification Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt This Python dictionary demonstrates the structure for defining a custom role, including its name, description, and the mapping of security scopes to permissions. ```python # example of a role { 'role': 'my_new_role', 'description': 'My new role', 'scopes_permissions': { 'pool': ['read', 'create'], 'rbd-image': ['read', 'create', 'update', 'delete'] } } ``` -------------------------------- ### Example Disabled Feature Output Source: https://docs.ceph.com/en/latest/mgr/dashboard Example output after disabling features, indicating the new status of the affected features. ```text Feature 'iscsi': 'disabled' Feature 'mirroring': 'disabled' ``` -------------------------------- ### Install Ditaa Dependencies on CentOS/RHEL Source: https://docs.ceph.com/en/latest/start/documenting-ceph Installs ditaa and its required dependencies (jericho-html, jai-imageio-core, batik) on CentOS/RHEL by downloading RPMs from rpmfind.net and using yum. ```bash wget http://rpmfind.net/linux/fedora/linux/releases/22/Everything/x86_64/os/Packages/j/jericho-html-3.3-4.fc22.noarch.rpm sudo yum install jericho-html-3.3-4.fc22.noarch.rpm wget http://rpmfind.net/linux/centos/7/os/x86_64/Packages/jai-imageio-core-1.2-0.14.20100217cvs.el7.noarch.rpm sudo yum install jai-imageio-core-1.2-0.14.20100217cvs.el7.noarch.rpm wget http://rpmfind.net/linux/centos/7/os/x86_64/Packages/batik-1.8-0.12.svn1230816.el7.noarch.rpm sudo yum install batik-1.8-0.12.svn1230816.el7.noarch.rpm wget http://rpmfind.net/linux/fedora/linux/releases/22/Everything/x86_64/os/Packages/d/ditaa-0.9-13.r74.fc21.noarch.rpm sudo yum install ditaa-0.9-13.r74.fc21.noarch.rpm ``` -------------------------------- ### Install CentOS/RHEL Ceph Docs Base Dependencies Source: https://docs.ceph.com/en/latest/start/documenting-ceph Installs core packages for Ceph documentation on CentOS/RHEL using yum and pip. ```bash sudo yum install gcc python-devel python-pip libxml2-devel libxslt-devel doxygen graphviz ant sudo pip install html2text ``` -------------------------------- ### Git Push Output Example Source: https://docs.ceph.com/en/latest/start/documenting-ceph This is the output from a force push operation, showing the enumeration, compression, and writing of objects, as well as the forced update on the remote. ```git Enumerating objects: 9, done. Counting objects: 100% (9/9), done. Delta compression using up to 8 threads Compressing objects: 100% (5/5), done. Writing objects: 100% (5/5), 722 bytes | 722.00 KiB/s, done. Total 5 (delta 4), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (4/4), completed with 4 local objects. To github.com:zdover23/ceph.git + b34986e2922...02e3a5cb763 wip-doc-2023-03-28-glossary-cephx -> wip-doc-2023-03-28-glossary-cephx (forced update) ``` -------------------------------- ### Get Configured MOTD Source: https://docs.ceph.com/en/latest/mgr/dashboard Retrieve and display the currently configured message of the day. ```bash ceph dashboard motd get ``` -------------------------------- ### Example Custom Role Creation and Assignment Source: https://docs.ceph.com/en/latest/mgr/dashboard Demonstrates the CLI commands to create a custom role ('rbd/pool-manager') with specific permissions for 'rbd-image' and 'pool' scopes, and then assigns this role along with the 'read-only' system role to a user named 'bob'. ```bash ceph dashboard ac-role-create rbd/pool-manager ceph dashboard ac-role-add-scope-perms rbd/pool-manager rbd-image read create update delete ceph dashboard ac-role-add-scope-perms rbd/pool-manager pool read create ceph dashboard ac-user-set-roles bob rbd/pool-manager read-only ``` -------------------------------- ### Example Commit for Glossary Update Source: https://docs.ceph.com/en/latest/start/documenting-ceph This example shows a typical commit message for updating the glossary, including the file modified and a brief description. It also includes the standard commit message template comments. ```git commit doc/glossary: improve "CephX" entry Improve the glossary entry for "CephX". Signed-off-by: Zac Dover # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch wip-doc-2023-03-28-glossary-cephx # Changes to be committed: # modified: glossary.rst ``` -------------------------------- ### Example RGW Request Metric Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt This example shows how a ceph_rgw_req metric might look, indicating the number of requests processed by an RGW instance. ```bash ceph_rgw_req{instance="192.168.122.7:9283", instance_id="154247", job="ceph"} = 12345 ``` -------------------------------- ### Get Firmware Details Report Source: https://docs.ceph.com/en/latest/hardware-monitoring Retrieve firmware details for components on a specific host. This includes the component name, firmware name, date, version, and status. ```bash ceph orch hardware status node-10 --category firmwares ``` -------------------------------- ### Enable EPEL Repository on CentOS/RHEL Source: https://docs.ceph.com/en/latest/start/documenting-ceph Installs the EPEL (Extra Packages for Enterprise Linux) repository, which provides additional packages for CentOS/RHEL systems. ```bash sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm ``` -------------------------------- ### Start Development-Mode Ceph Cluster Source: https://docs.ceph.com/en/latest/_sources/dev/internals.rst.txt Compile the source and run this command to start a development-mode Ceph cluster. Use the -n and -x flags for non-networked and debug modes respectively. Check cluster health with 'ceph health'. ```bash cd build OSD=3 MON=3 MGR=3 ../src/vstart.sh -n -x # check that it's there bin/ceph health ``` -------------------------------- ### Example Prometheus Query Result with Labels Source: https://docs.ceph.com/en/latest/monitoring This example illustrates a typical Prometheus query result for Ceph performance metrics, showing common labels like `ceph_daemon`, `instance`, and `job`. ```promql ceph_osd_op_r{ceph_daemon="osd.0", instance="192.168.122.7:9283", job="ceph"} = 73981 ``` -------------------------------- ### Install Fedora Ceph Docs Dependencies Source: https://docs.ceph.com/en/latest/start/documenting-ceph Installs necessary packages for Ceph documentation on Fedora using yum and pip. Includes html2text and ditaa. ```bash sudo yum install gcc python-devel python-pip libxml2-devel libxslt-devel doxygen graphviz ant sudo pip install html2text sudo yum install python-jinja2 python-pygments python-docutils python-sphinx sudo yum install jericho-html ditaa ``` -------------------------------- ### Start a Development Ceph Cluster Source: https://docs.ceph.com/en/latest/dev/internals Compile Ceph source and run this script to start a development-mode cluster with 3 OSDs, 3 MONs, and 3 MGRs. Use 'bin/ceph health' to check its status. ```shell cd build OSD=3 MON=3 MGR=3 ../src/vstart.sh -n -x # check that it's there bin/ceph health ``` -------------------------------- ### CephFS MDS Metadata Example Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt Example of CephFS MDS metadata, providing contextual information about the MDS daemon. Includes version, filesystem ID, hostname, and rank. ```bash ceph_mds_metadata{ceph_daemon="mds.test.cephtest-node-00.hmhsoh", ceph_version="ceph version 17.2.6 (d7ff0d10654d2280e08f1ab989c7cdf3064446a5) quincy (stable)", fs_id="-1", hostname="cephtest-node-00.cephlab.com", instance="cephtest-node-00.cephlab.com:9283", job="ceph", public_addr="192.168.122.145:6801/118896446", rank="-1"} ``` -------------------------------- ### Get All Hardware Status by Category Source: https://docs.ceph.com/en/latest/_sources/hardware-monitoring/index.rst.txt Retrieves hardware status information for a specified category across all hosts. ```APIDOC ## GET /status?category={category} ### Description Retrieves hardware status information for a specified category across all hosts. ### Method GET ### Endpoint /status ### Parameters #### Query Parameters - **category** (string) - Required - The category of hardware status to retrieve (e.g., "firmwares", "criticals"). ``` -------------------------------- ### Get Hardware Status by Category Source: https://docs.ceph.com/en/latest/_sources/hardware-monitoring/index.rst.txt Retrieves hardware status information for a specified category on a given host. ```APIDOC ## GET /host/{hostname}/status?category={category} ### Description Retrieves hardware status information for a specified category on a given host. ### Method GET ### Endpoint /host/{hostname}/status ### Parameters #### Query Parameters - **category** (string) - Required - The category of hardware status to retrieve (e.g., "firmwares", "criticals"). #### Path Parameters - **hostname** (string) - Required - The name of the host to query. ``` -------------------------------- ### Get Hardware Firmware Details Source: https://docs.ceph.com/en/latest/hardware-monitoring Retrieve detailed information about the firmware of various hardware components on a host. This is essential for managing firmware updates and ensuring system stability. ```bash ceph orch hardware status --category firmwares ``` -------------------------------- ### Get Hardware Storage Devices Report Source: https://docs.ceph.com/en/latest/hardware-monitoring Fetch a detailed report on the storage devices for a specific host. This command is useful for diagnosing storage-related issues. ```bash ceph orch hardware status --category storage ``` -------------------------------- ### Get Hardware Health Status Summary Source: https://docs.ceph.com/en/latest/_sources/hardware-monitoring/index.rst.txt Retrieve a summary of the hardware health status for all hosts, including storage, CPU, network, memory, power, and fans. ```bash ceph orch hardware status ``` -------------------------------- ### Create Self-Signed Certificate for Dashboard Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt Generates a self-signed SSL/TLS certificate for quick dashboard setup. Browsers will show a warning for self-signed certificates. ```bash ceph dashboard create-self-signed-cert ``` -------------------------------- ### Example Role Specification in Python Source: https://docs.ceph.com/en/latest/mgr/dashboard Defines a custom role with specific permissions for 'pool' and 'rbd-image' security scopes. This format is used to illustrate role structure. ```python # example of a role { 'role': 'my_new_role', 'description': 'My new role', 'scopes_permissions': { 'pool': ['read', 'create'], 'rbd-image': ['read', 'create', 'update', 'delete'] } } ``` -------------------------------- ### RGW GET Bandwidth Source: https://docs.ceph.com/en/latest/monitoring Calculates the total bandwidth consumed by GET operations. ```promql sum(rate(ceph_rgw_op_global_get_obj_bytes[30s])) ``` -------------------------------- ### Get Storage Devices Report Source: https://docs.ceph.com/en/latest/_sources/hardware-monitoring/index.rst.txt Retrieve a detailed report of storage devices for a specific host, including model, size, protocol, serial number, status, and state. ```bash ceph orch hardware status IBM-Ceph-1 --category storage ``` -------------------------------- ### Build Documentation Source: https://docs.ceph.com/en/latest/start/documenting-ceph Execute the build script to compile the documentation. This command is used on Debian/Ubuntu, Fedora, or CentOS/RHEL systems. ```bash admin/build-doc ``` -------------------------------- ### View Firmware Details Source: https://docs.ceph.com/en/latest/_sources/hardware-monitoring/index.rst.txt This command displays detailed firmware information for components on a specified node. ```bash # ceph orch hardware status node-10 --category firmwares +------------+----------------------------------------------------------------------------+--------------------------------------------------------------+----------------------+-------------+--------+ | HOST | COMPONENT | NAME | DATE | VERSION | STATUS | +------------+----------------------------------------------------------------------------+--------------------------------------------------------------+----------------------+-------------+--------+ | node-10 | current-107649-7.03__raid.backplane.firmware.0 | Backplane 0 | 2022-12-05T00:00:00Z | 7.03 | OK | | | | node-10 | previous-25227-6.10.30.20__idrac.embedded.1-1 | Integrated Remote Access Controller | 00:00:00Z | 6.10.30.20 | OK | +------------+----------------------------------------------------------------------------+--------------------------------------------------------------+----------------------+-------------+--------+ ``` -------------------------------- ### Git Commit Message Example Source: https://docs.ceph.com/en/latest/start/documenting-ceph This is an example of a Git commit message used for documentation changes in Ceph. ```git # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch wip-doc-2023-03-28-glossary-cephx # Your branch is up to date with 'origin/wip-doc-2023-03-28-glossary-cephx'. # # Changes to be committed: # modified: architecture.rst ``` ```git # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch wip-doc-2023-03-28-glossary-cephx # Your branch is up to date with 'origin/wip-doc-2023-03-28-glossary-cephx'. # # Changes to be committed: # modified: glossary.rst ``` -------------------------------- ### Example Audit Log Entry Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt An example of a log entry generated when the Ceph Dashboard audit API is enabled. ```log 2018-10-22 15:27:01.302514 mgr.x [INF] [DASHBOARD] from='https://[::ffff:127.0.0.1]:37022' path='/api/rgw/user/klaus' method='PUT' user='admin' params='{"max_buckets": "1000", "display_name": "Klaus Mustermann", "uid": "klaus", "suspended": "0", "email": "klaus.mustermann@ceph.com"}' ``` -------------------------------- ### Enable Crimson Experimental Features Source: https://docs.ceph.com/en/latest/_sources/crimson/crimson.rst.txt Set global and monitor configurations to enable Crimson. This includes enabling experimental features, the allow_crimson OSDMap flag, and setting pools to default to Crimson. ```bash ceph config set global 'enable_experimental_unrecoverable_data_corrupting_features' crimson ``` ```bash ceph osd set-allow-crimson --yes-i-really-mean-it ``` ```bash ceph config set mon osd_pool_default_crimson true ``` -------------------------------- ### Create User with Password from File Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt Create a new dashboard user, specifying the password in a file. Ensure the file contains only the password and has appropriate permissions. ```bash ceph dashboard ac-user-create bob -i ``` -------------------------------- ### Check Hardware Status by Category Source: https://docs.ceph.com/en/latest/_sources/hardware-monitoring/index.rst.txt Use this command to view hardware status filtered by a specific category, such as 'firmwares'. ```bash # ceph orch hardware status node-10 --category firmwares ``` -------------------------------- ### Calculate Average GET Latency Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt This query calculates the average latency for GET operations across RGW instances, joining with metadata for context. ```bash rate(ceph_rgw_op_global_get_obj_lat_sum[30s]) / rate(ceph_rgw_op_global_get_obj_lat_count[30s]) * on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata ``` -------------------------------- ### Create New Documentation Branch Source: https://docs.ceph.com/en/latest/start/documenting-ceph Create a new branch for documentation changes, following the `wip-doc-{your-branch-name}` naming convention. ```bash git checkout -b wip-doc-{your-branch-name} ``` -------------------------------- ### Configure SAML2 SSO Source: https://docs.ceph.com/en/latest/mgr/dashboard Use this command to set up SAML2 SSO. Provide the dashboard base URL, IdP metadata, and optional IdP/SP details. ```bash ceph dashboard sso setup saml2 {} {} {} {} ``` -------------------------------- ### Calculate GET Latency Per RGW Instance Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt This query provides the average GET latency broken down by each RGW instance, using metadata for identification. ```bash rate(ceph_rgw_op_global_get_obj_lat_sum[30s]) / rate(ceph_rgw_op_global_get_obj_lat_count[30s]) * on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata ``` -------------------------------- ### Deploy Crimson OSD with SeaStore Backend Source: https://docs.ceph.com/en/latest/_sources/crimson/crimson.rst.txt Deploy a Crimson OSD using the SeaStore object store by specifying '--objectstore seastore' with the 'ceph orch apply osd' command. The default object store is 'bluestore'. ```bash ceph orch apply osd --osd-type crimson --objectstore seastore ... ``` -------------------------------- ### Revised Commit Message Example Source: https://docs.ceph.com/en/latest/start/documenting-ceph This example shows a simplified commit message after squashing, suitable for a final commit. It omits the detailed rebase status. ```git doc/glossary: improve "CephX" entry Improve the glossary entry for "CephX". Signed-off-by: Zac Dover # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Tue Mar 28 18:42:11 2023 +1000 # # interactive rebase in progress; onto 0793495b9d1 # Last commands done (3 commands done): # squash b34986e2922 doc/glossary: add link to architecture doc # squash 74d0719735c doc/glossary: link to Arch doc in "CephX" glossary # No commands remaining. # You are currently rebasing branch 'wip-doc-2023-03-28-glossary-cephx' on '0793495b9d1'. # # Changes to be committed: # modified: doc/architecture.rst # modified: doc/glossary.rst ``` -------------------------------- ### Enable io_uring Support Source: https://docs.ceph.com/en/latest/_sources/crimson/crimson.rst.txt Run this command to enable io_uring support if it is disabled, which is required for Crimson to utilize it. Ensure this configuration change is acceptable for your environment. ```bash sudo sysctl -w kernel.io_uring_disabled=0 ``` -------------------------------- ### NodeProxyEndpoint.led Source: https://docs.ceph.com/en/latest/hardware-monitoring Enables the creation of a Mock object for simulating LED control operations. Similar to firmwares, it accepts parameters like spec, spec_set, side_effect, return_value, wraps, and name to define the mock's behavior. ```APIDOC ## NodeProxyEndpoint.led ### Description Create a new Mock object to simulate LED control operations. This method allows for detailed configuration of the mock's behavior. ### Parameters - **spec** (list of strings or object) - Optional - Acts as a specification for the mock object. If an object is provided, a list of strings is formed by calling dir on the object. Accessing attributes not in this list will raise an AttributeError. If spec is an object, mock.__class__ returns the class of the spec object. - **spec_set** (object) - Optional - A stricter variant of spec. Attempting to set or get an attribute not on the object passed as spec_set will raise an AttributeError. - **side_effect** (function or iterable) - Optional - A function to be called whenever the Mock is called, or an iterable providing return values for successive calls. Useful for raising exceptions or dynamically changing return values. - **return_value** (any) - Optional - The value returned when the mock is called. Defaults to a new Mock. - **wraps** (object) - Optional - An item for the mock object to wrap. Calls are passed through to the wrapped object unless return_value is set. Attribute access on the mock returns a Mock object that wraps the corresponding attribute of the wrapped object. - **name** (string) - Optional - Used in the repr of the mock for debugging. Propagated to child mocks. Mocks can also be called with arbitrary keyword arguments, which will be used to set attributes on the mock after creation. ``` -------------------------------- ### Install Specific Python Packages on CentOS/RHEL Source: https://docs.ceph.com/en/latest/start/documenting-ceph Manually installs Python packages for Ceph documentation on CentOS/RHEL by downloading RPMs from rpmfind.net and using yum. ```bash wget http://rpmfind.net/linux/centos/7/os/x86_64/Packages/python-jinja2-2.7.2-2.el7.noarch.rpm sudo yum install python-jinja2-2.7.2-2.el7.noarch.rpm wget http://rpmfind.net/linux/centos/7/os/x86_64/Packages/python-pygments-1.4-9.el7.noarch.rpm sudo yum install python-pygments-1.4-9.el7.noarch.rpm wget http://rpmfind.net/linux/centos/7/os/x86_64/Packages/python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm sudo yum install python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm wget http://rpmfind.net/linux/centos/7/os/x86_64/Packages/python-sphinx-1.1.3-11.el7.noarch.rpm sudo yum install python-sphinx-1.1.3-11.el7.noarch.rpm ``` -------------------------------- ### Squashed Commit Message Example Source: https://docs.ceph.com/en/latest/start/documenting-ceph This is an example of a combined commit message after squashing multiple commits. It includes the original commit messages and the interactive rebase status. ```git # This is a combination of 3 commits. # This is the 1st commit message: doc/glossary: improve "CephX" entry Improve the glossary entry for "CephX". Signed-off-by: Zac Dover # This is the commit message #2: doc/glossary: add link to architecture doc Add a link to a section in the architecture document, which link will be used in the process of improving the "CephX" glossary entry. Signed-off-by: Zac Dover # This is the commit message #3: doc/glossary: link to Arch doc in "CephX" glossary Link to the Architecture document from the "CephX" entry in the Glossary. Signed-off-by: Zac Dover # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Tue Mar 28 18:42:11 2023 +1000 # # interactive rebase in progress; onto 0793495b9d1 # Last commands done (3 commands done): # squash b34986e2922 doc/glossary: add link to architecture doc # squash 74d0719735c doc/glossary: link to Arch doc in "CephX" glossary # No commands remaining. # You are currently rebasing branch 'wip-doc-2023-03-28-glossary-cephx' on '0793495b9d1'. # # Changes to be committed: # modified: doc/architecture.rst # modified: doc/glossary.rst ``` -------------------------------- ### RBD Image Read Bytes Example Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt Example of an RBD image read bytes metric. This metric tracks the total bytes read from a specific RBD image. ```bash ceph_rbd_read_bytes{image="test2", instance="cephtest-node-00.cephlab.com:9283", job="ceph", pool="testrbdpool"} ``` -------------------------------- ### Open Gitk Source: https://docs.ceph.com/en/latest/start/documenting-ceph Navigate to your local Ceph repository and open the gitk graphical history viewer. ```bash cd {git-ceph-repo-path} gitk ``` -------------------------------- ### CephFS MDS Request Example Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt Example of a CephFS MDS request metric, showing the number of requests handled by an MDS daemon. Useful for understanding MDS load. ```bash ceph_mds_request{ceph_daemon="mds.test.cephtest-node-00.hmhsoh", instance="192.168.122.7:9283", job="ceph"} = 1452 ``` -------------------------------- ### Example Prometheus Query Result Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt This is an example of a Prometheus query result showing common labels for Ceph performance metrics. These labels help in filtering and aggregating metric data. ```bash ceph_osd_op_r{ceph_daemon="osd.0", instance="192.168.122.7:9283", job="ceph"} = 73981 ``` -------------------------------- ### Create User Command Source: https://docs.ceph.com/en/latest/mgr/dashboard Creates a new user account, requiring a password provided via a file, using the Ceph CLI. ```bash ceph dashboard ac-user-create bob -i ``` -------------------------------- ### Ceph Daemon Health Status Examples Source: https://docs.ceph.com/en/latest/monitoring These examples show the `ceph_daemon_socket_up` metric, which indicates if a Ceph daemon is responsive via its admin socket. A value of 1 means healthy, and 0 means unhealthy. ```promql ceph_daemon_socket_up{ceph_daemon="mds.a",hostname="testhost"} 1 ceph_daemon_socket_up{ceph_daemon="osd.1",hostname="testhost"} 0 ``` -------------------------------- ### Apply Management Gateway with Authentication Enabled Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt This command applies the management gateway configuration, specifically enabling authentication. Ensure that the 'oauth2-proxy' service is running before enabling SSO. ```bash ceph orch apply mgmt-gateway --enable_auth=true --placement= ``` -------------------------------- ### NodeProxyEndpoint.fullreport Source: https://docs.ceph.com/en/latest/hardware-monitoring Initializes a new Mock object for the 'fullreport' method. This method accepts optional arguments such as 'spec', 'spec_set', 'side_effect', 'return_value', 'wraps', and 'name' to customize its behavior. Arbitrary keyword arguments can also be provided to set attributes on the mock. ```APIDOC ## NodeProxyEndpoint.fullreport ### Description Creates a new Mock object for the 'fullreport' method with configurable behavior. ### Parameters - **spec** (list or object) - Optional - Specification for the mock object. - **spec_set** (object) - Optional - Stricter variant of spec. - **side_effect** (function or iterable) - Optional - Function or iterable to control mock behavior. - **return_value** - Optional - The value returned when the mock is called. - **wraps** - Optional - Item for the mock object to wrap. - **name** (string) - Optional - Name for the mock object. - **kwargs** - Arbitrary keyword arguments to set attributes on the mock. ``` -------------------------------- ### NodeProxyEndpoint.firmwares Source: https://docs.ceph.com/en/latest/hardware-monitoring Allows for the creation of a Mock object to simulate firmware operations. It accepts various arguments to configure the mock's behavior, such as spec, spec_set, side_effect, return_value, wraps, and name. ```APIDOC ## NodeProxyEndpoint.firmwares ### Description Create a new Mock object to simulate firmware operations. This method allows for detailed configuration of the mock's behavior. ### Parameters - **spec** (list of strings or object) - Optional - Acts as a specification for the mock object. If an object is provided, a list of strings is formed by calling dir on the object. Accessing attributes not in this list will raise an AttributeError. If spec is an object, mock.__class__ returns the class of the spec object. - **spec_set** (object) - Optional - A stricter variant of spec. Attempting to set or get an attribute not on the object passed as spec_set will raise an AttributeError. - **side_effect** (function or iterable) - Optional - A function to be called whenever the Mock is called, or an iterable providing return values for successive calls. Useful for raising exceptions or dynamically changing return values. - **return_value** (any) - Optional - The value returned when the mock is called. Defaults to a new Mock. - **wraps** (object) - Optional - An item for the mock object to wrap. Calls are passed through to the wrapped object unless return_value is set. Attribute access on the mock returns a Mock object that wraps the corresponding attribute of the wrapped object. - **name** (string) - Optional - Used in the repr of the mock for debugging. Propagated to child mocks. Mocks can also be called with arbitrary keyword arguments, which will be used to set attributes on the mock after creation. ``` -------------------------------- ### Create Role Command Source: https://docs.ceph.com/en/latest/mgr/dashboard Creates a new role with an optional description using the Ceph CLI. ```bash ceph dashboard ac-role-create [] ``` -------------------------------- ### Create Javadoc Directory Source: https://docs.ceph.com/en/latest/start/documenting-ceph Create a nested directory structure required for Javadoc file output within the build directory. ```bash mkdir -p output/html/api/libcephfs-java/javadoc ``` -------------------------------- ### Get Ceph-MGR Log File Location Source: https://docs.ceph.com/en/latest/_sources/mgr/dashboard.rst.txt Command to retrieve the path to the Ceph-MGR log file. ```bash ceph config get mgr log_file ``` -------------------------------- ### Check External Links Source: https://docs.ceph.com/en/latest/start/documenting-ceph Run the documentation build script with the 'linkcheck' argument to scan for broken external hyperlinks. ```bash admin/build-doc linkcheck ``` -------------------------------- ### Configure Git User Name and Email Source: https://docs.ceph.com/en/latest/_sources/dev/developer_guide/basic-workflow.rst.txt Configure your local git environment with your name and email address. These commands must be run from within the cloned 'ceph/' directory. ```bash git config user.name "FIRST_NAME LAST_NAME" git config user.email "MY_NAME@example.com" ``` -------------------------------- ### Calculate Total 'Other' RGW Operations Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt This query determines the number of operations per second that are not GET or PUT, such as LIST and DELETE. ```bash rate(ceph_rgw_req[30s]) - (rate(ceph_rgw_op_global_get_obj_ops[30s]) + rate(ceph_rgw_op_global_put_obj_ops[30s])) ``` -------------------------------- ### Get Prometheus Endpoint Source: https://docs.ceph.com/en/latest/_sources/monitoring/index.rst.txt Use this command to obtain the Prometheus endpoint for your Ceph cluster. This allows you to connect to the Prometheus server interface. ```bash ceph orch ps --service_name prometheus ``` -------------------------------- ### Add a New Document Source: https://docs.ceph.com/en/latest/start/documenting-ceph Stage a newly created reStructuredText file for addition to the repository. Ensure the file is added using its path relative to the repository root. ```bash git add doc/rados/example.rst ``` -------------------------------- ### Start Interactive Git Rebase Source: https://docs.ceph.com/en/latest/start/documenting-ceph Initiates an interactive rebase of the current branch against the 'main' branch. This is used to modify commit history. ```git git rebase -i main ```