2018-08-02 14:32:38 +00:00
|
|
|
|
|
|
|
|
|
.. _orchestrator-cli-module:
|
|
|
|
|
|
|
|
|
|
================
|
|
|
|
|
Orchestrator CLI
|
|
|
|
|
================
|
|
|
|
|
|
|
|
|
|
This module provides a command line interface (CLI) to orchestrator
|
2020-11-15 23:43:06 +00:00
|
|
|
|
modules (``ceph-mgr`` modules which interface with external orchestration services).
|
2018-08-02 14:32:38 +00:00
|
|
|
|
|
2020-11-15 23:43:06 +00:00
|
|
|
|
As the orchestrator CLI unifies multiple external orchestrators, a common nomenclature
|
2019-01-29 14:51:16 +00:00
|
|
|
|
for the orchestrator module is needed.
|
|
|
|
|
|
|
|
|
|
+--------------------------------------+---------------------------------------+
|
2020-02-27 09:24:37 +00:00
|
|
|
|
| *host* | hostname (not DNS name) of the |
|
2019-01-29 14:51:16 +00:00
|
|
|
|
| | physical host. Not the podname, |
|
|
|
|
|
| | container name, or hostname inside |
|
|
|
|
|
| | the container. |
|
|
|
|
|
+--------------------------------------+---------------------------------------+
|
2020-02-27 09:24:37 +00:00
|
|
|
|
| *service type* | The type of the service. e.g., nfs, |
|
2019-01-29 14:51:16 +00:00
|
|
|
|
| | mds, osd, mon, rgw, mgr, iscsi |
|
|
|
|
|
+--------------------------------------+---------------------------------------+
|
2020-02-27 09:24:37 +00:00
|
|
|
|
| *service* | A logical service, Typically |
|
2019-01-29 14:51:16 +00:00
|
|
|
|
| | comprised of multiple service |
|
|
|
|
|
| | instances on multiple hosts for HA |
|
|
|
|
|
| | |
|
|
|
|
|
| | * ``fs_name`` for mds type |
|
|
|
|
|
| | * ``rgw_zone`` for rgw type |
|
|
|
|
|
| | * ``ganesha_cluster_id`` for nfs type |
|
|
|
|
|
+--------------------------------------+---------------------------------------+
|
2020-02-27 09:24:37 +00:00
|
|
|
|
| *daemon* | A single instance of a service. |
|
|
|
|
|
| | Usually a daemon, but maybe not |
|
2019-01-29 14:51:16 +00:00
|
|
|
|
| | (e.g., might be a kernel service |
|
|
|
|
|
| | like LIO or knfsd or whatever) |
|
|
|
|
|
| | |
|
|
|
|
|
| | This identifier should |
|
|
|
|
|
| | uniquely identify the instance |
|
|
|
|
|
+--------------------------------------+---------------------------------------+
|
|
|
|
|
|
|
|
|
|
The relation between the names is the following:
|
|
|
|
|
|
2020-08-08 03:14:26 +00:00
|
|
|
|
* A *service* has a specific *service type*
|
2020-02-27 09:24:37 +00:00
|
|
|
|
* A *daemon* is a physical instance of a *service type*
|
2018-08-02 14:32:38 +00:00
|
|
|
|
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
|
|
Orchestrator modules may only implement a subset of the commands listed below.
|
2020-08-08 03:14:26 +00:00
|
|
|
|
Also, the implementation of the commands may differ between modules.
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
|
|
|
|
Status
|
2020-02-27 09:24:37 +00:00
|
|
|
|
======
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
2021-01-18 21:54:15 +00:00
|
|
|
|
ceph orch status [--detail]
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-08-08 03:14:26 +00:00
|
|
|
|
Show current orchestrator mode and high-level status (whether the orchestrator
|
|
|
|
|
plugin is available and operational)
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-04-24 13:46:46 +00:00
|
|
|
|
|
2018-11-15 15:29:03 +00:00
|
|
|
|
..
|
2020-08-08 03:14:26 +00:00
|
|
|
|
Turn On Device Lights
|
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^
|
2018-11-15 15:29:03 +00:00
|
|
|
|
::
|
|
|
|
|
|
2020-02-07 19:20:42 +00:00
|
|
|
|
ceph orch device ident-on <dev_id>
|
|
|
|
|
ceph orch device ident-on <dev_name> <host>
|
|
|
|
|
ceph orch device fault-on <dev_id>
|
|
|
|
|
ceph orch device fault-on <dev_name> <host>
|
2019-03-05 14:46:34 +00:00
|
|
|
|
|
2020-02-07 19:20:42 +00:00
|
|
|
|
ceph orch device ident-off <dev_id> [--force=true]
|
|
|
|
|
ceph orch device ident-off <dev_id> <host> [--force=true]
|
|
|
|
|
ceph orch device fault-off <dev_id> [--force=true]
|
|
|
|
|
ceph orch device fault-off <dev_id> <host> [--force=true]
|
2019-03-05 14:46:34 +00:00
|
|
|
|
|
|
|
|
|
where ``dev_id`` is the device id as listed in ``osd metadata``,
|
|
|
|
|
``dev_name`` is the name of the device on the system and ``host`` is the host as
|
|
|
|
|
returned by ``orchestrator host ls``
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-02-07 19:20:42 +00:00
|
|
|
|
ceph orch osd ident-on {primary,journal,db,wal,all} <osd-id>
|
|
|
|
|
ceph orch osd ident-off {primary,journal,db,wal,all} <osd-id>
|
|
|
|
|
ceph orch osd fault-on {primary,journal,db,wal,all} <osd-id>
|
|
|
|
|
ceph orch osd fault-off {primary,journal,db,wal,all} <osd-id>
|
2018-12-19 14:17:55 +00:00
|
|
|
|
|
2020-08-08 03:14:26 +00:00
|
|
|
|
where ``journal`` is the filestore journal device, ``wal`` is the bluestore
|
|
|
|
|
write ahead log device, and ``all`` stands for all devices associated with the OSD
|
2018-12-19 14:17:55 +00:00
|
|
|
|
|
2020-09-03 14:32:12 +00:00
|
|
|
|
|
|
|
|
|
.. _orchestrator-cli-stateless-services:
|
|
|
|
|
|
2018-11-15 15:29:03 +00:00
|
|
|
|
Stateless services (MDS/RGW/NFS/rbd-mirror/iSCSI)
|
2020-02-27 09:24:37 +00:00
|
|
|
|
=================================================
|
|
|
|
|
|
2020-08-08 03:14:26 +00:00
|
|
|
|
(Please note: The orchestrator will not configure the services. Please look into the corresponding
|
|
|
|
|
documentation for service configuration details.)
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
|
|
|
|
The ``name`` parameter is an identifier of the group of instances:
|
2019-03-22 13:11:05 +00:00
|
|
|
|
|
2019-09-09 19:36:04 +00:00
|
|
|
|
* a CephFS file system for a group of MDS daemons,
|
2018-11-15 15:29:03 +00:00
|
|
|
|
* a zone name for a group of RGWs
|
|
|
|
|
|
2019-01-29 14:51:16 +00:00
|
|
|
|
Creating/growing/shrinking/removing services::
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-07-06 09:59:49 +00:00
|
|
|
|
ceph orch apply mds <fs_name> [--placement=<placement>] [--dry-run]
|
2021-03-26 19:13:18 +00:00
|
|
|
|
ceph orch apply rgw <name> [--realm=<realm>] [--zone=<zone>] [--port=<port>] [--ssl] [--placement=<placement>] [--dry-run]
|
2020-07-06 09:59:49 +00:00
|
|
|
|
ceph orch apply nfs <name> <pool> [--namespace=<namespace>] [--placement=<placement>] [--dry-run]
|
2020-06-16 09:02:37 +00:00
|
|
|
|
ceph orch rm <service_name> [--force]
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-08-08 03:14:26 +00:00
|
|
|
|
where ``placement`` is a :ref:`orchestrator-cli-placement-spec`.
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-06-16 09:02:37 +00:00
|
|
|
|
e.g., ``ceph orch apply mds myfs --placement="3 host1 host2 host3"``
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-06-16 09:02:37 +00:00
|
|
|
|
Service Commands::
|
2018-11-15 15:29:03 +00:00
|
|
|
|
|
2020-06-16 09:02:37 +00:00
|
|
|
|
ceph orch <start|stop|restart|redeploy|reconfig> <service_name>
|
2020-06-24 09:57:51 +00:00
|
|
|
|
|
2020-10-26 18:34:39 +00:00
|
|
|
|
|
2020-05-18 09:24:29 +00:00
|
|
|
|
|
2020-02-27 09:24:37 +00:00
|
|
|
|
Configuring the Orchestrator CLI
|
|
|
|
|
================================
|
|
|
|
|
|
|
|
|
|
To enable the orchestrator, select the orchestrator module to use
|
|
|
|
|
with the ``set backend`` command::
|
|
|
|
|
|
|
|
|
|
ceph orch set backend <module>
|
|
|
|
|
|
|
|
|
|
For example, to enable the Rook orchestrator module and use it with the CLI::
|
|
|
|
|
|
|
|
|
|
ceph mgr module enable rook
|
|
|
|
|
ceph orch set backend rook
|
|
|
|
|
|
|
|
|
|
Check the backend is properly configured::
|
|
|
|
|
|
|
|
|
|
ceph orch status
|
|
|
|
|
|
|
|
|
|
Disable the Orchestrator
|
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
|
|
To disable the orchestrator, use the empty string ``""``::
|
|
|
|
|
|
|
|
|
|
ceph orch set backend ""
|
|
|
|
|
ceph mgr module disable rook
|
2018-08-02 14:32:38 +00:00
|
|
|
|
|
2019-01-29 14:51:16 +00:00
|
|
|
|
Current Implementation Status
|
|
|
|
|
=============================
|
|
|
|
|
|
|
|
|
|
This is an overview of the current implementation status of the orchestrators.
|
|
|
|
|
|
2020-02-09 15:47:40 +00:00
|
|
|
|
=================================== ====== =========
|
|
|
|
|
Command Rook Cephadm
|
|
|
|
|
=================================== ====== =========
|
2020-04-29 00:03:35 +00:00
|
|
|
|
apply iscsi ⚪ ✔
|
2020-02-11 22:42:08 +00:00
|
|
|
|
apply mds ✔ ✔
|
|
|
|
|
apply mgr ⚪ ✔
|
|
|
|
|
apply mon ✔ ✔
|
2020-03-08 23:27:54 +00:00
|
|
|
|
apply nfs ✔ ✔
|
2020-02-11 22:42:08 +00:00
|
|
|
|
apply osd ✔ ✔
|
|
|
|
|
apply rbd-mirror ✔ ✔
|
2021-03-09 19:29:39 +00:00
|
|
|
|
apply rgw ✔ ✔
|
2020-09-16 10:06:36 +00:00
|
|
|
|
apply container ⚪ ✔
|
2020-02-09 15:47:40 +00:00
|
|
|
|
host add ⚪ ✔
|
|
|
|
|
host ls ✔ ✔
|
|
|
|
|
host rm ⚪ ✔
|
2020-02-11 15:05:55 +00:00
|
|
|
|
daemon status ⚪ ✔
|
|
|
|
|
daemon {stop,start,...} ⚪ ✔
|
2020-02-09 15:47:40 +00:00
|
|
|
|
device {ident,fault}-(on,off} ⚪ ✔
|
|
|
|
|
device ls ✔ ✔
|
2020-04-29 00:03:35 +00:00
|
|
|
|
iscsi add ⚪ ✔
|
2020-10-28 13:37:35 +00:00
|
|
|
|
mds add ⚪ ✔
|
2020-10-28 14:53:47 +00:00
|
|
|
|
nfs add ⚪ ✔
|
2020-02-09 15:47:40 +00:00
|
|
|
|
rbd-mirror add ⚪ ✔
|
2020-10-28 13:37:35 +00:00
|
|
|
|
rgw add ⚪ ✔
|
2020-02-19 11:07:50 +00:00
|
|
|
|
ps ✔ ✔
|
2020-02-09 15:47:40 +00:00
|
|
|
|
=================================== ====== =========
|
2019-01-29 14:51:16 +00:00
|
|
|
|
|
|
|
|
|
where
|
|
|
|
|
|
|
|
|
|
* ⚪ = not yet implemented
|
|
|
|
|
* ❌ = not applicable
|
|
|
|
|
* ✔ = implemented
|