.. _orchestrator-cli-placement-spec:
-Placement Specification
-=======================
+Daemon Placement
+================
For the orchestrator to deploy a *service*, it needs to know where to deploy
*daemons*, and how many to deploy. This is the role of a placement
host_pattern: "*"
-Changing the number of monitors
--------------------------------
+Changing the number of daemons
+------------------------------
By specifying ``count``, only the number of daemons specified will be created:
- host2
- host3
-.. _orch-rm:
-
-Removing a Service
-==================
-
-In order to remove a service including the removal
-of all daemons of that service, run
-
-.. prompt:: bash
-
- ceph orch rm <service-name>
-
-For example:
-
-.. prompt:: bash
-
- ceph orch rm rgw.myrgw
-
-
-Deployment of Daemons
-=====================
+Algorithm description
+---------------------
-Cephadm uses a declarative state to define the layout of the cluster. This
-state consists of a list of service specifications containing placement
-specifications (See :ref:`orchestrator-cli-service-spec` ).
+Cephadm's declarative state consists of a list of service specifications
+containing placement specifications.
Cephadm continually compares a list of daemons actually running in the cluster
against the list in the service specifications. Cephadm adds new daemons and
candidate hosts.
.. note::
-
+
There is a special case that cephadm must consider.
- If there are fewer hosts selected by the placement specification than
+ If there are fewer hosts selected by the placement specification than
demanded by ``count``, cephadm will deploy only on the selected hosts.
+.. _orch-rm:
+
+Removing a Service
+==================
+
+In order to remove a service including the removal
+of all daemons of that service, run
+
+.. prompt:: bash
+
+ ceph orch rm <service-name>
+
+For example:
+
+.. prompt:: bash
+
+ ceph orch rm rgw.myrgw
.. _cephadm-spec-unmanaged: