This section describes how to remove a Ceph Monitor node from a Ceph cluster.
Note
The Ceph Monitor service is quorum-based. Therefore, keep an odd number of Ceph Monitor nodes to establish a quorum.
To remove a Ceph Monitor node:
In your project repository, remove the following lines from the
cluster/infra/config/init.yml
file or from the pillar based on your
environment:
parameters:
reclass:
storage:
node:
ceph_mon_node04:
name: ${_param:ceph_mon_node04_hostname}
domain: ${_param:cluster_domain}
classes:
- cluster.${_param:cluster_name}.ceph.mon
params:
salt_master_host: ${_param:reclass_config_master}
linux_system_codename: ${_param:ceph_mon_system_codename}
single_address: ${_param:ceph_mon_node04_address}
keepalived_vip_priority: 104
Remove the following lines from the cluster/ceph/common.yml
file or
from the pillar based on your environment:
parameters:
ceph:
common:
members:
- name: ${_param:ceph_mon_node04_hostname}
host: ${_param:ceph_mon_node04_address}
Log in to the Jenkins web UI.
Open the Ceph - remove node pipeline.
Specify the following parameters:
Parameter | Description and values |
---|---|
SALT_MASTER_CREDENTIALS | The Salt Master credentials to use for connection, defaults to
salt . |
SALT_MASTER_URL | The Salt Master node host URL with the salt-api port, defaults to
the jenkins_salt_api_url parameter. For example,
http://172.18.170.27:6969 . |
HOST | Add the Salt target name of the Ceph Monitor node to remove. For
example, cmn04* . |
HOST_TYPE Removed since 2019.2.13 update | Add mon as the type of Ceph node that is going to be removed. |
Click Deploy.
The Ceph - remove node pipeline workflow:
ceph:common
minions.Remove the following lines from the cluster/infra/kvm.yml
file or from
the pillar based on your environment:
parameters:
salt:
control:
cluster:
internal:
node:
cmn04:
name: ${_param:ceph_mon_node04_hostname}
provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
image: ${_param:salt_control_xenial_image}
size: ceph.mon
Remove the following lines from the cluster/ceph/init.yml
file or from
the pillar based on your environment:
_param:
ceph_mon_node04_hostname: cmn04
ceph_mon_node04_address: 172.16.47.145
linux:
network:
host:
cmn04:
address: ${_param:ceph_mon_node04_address}
names:
- ${_param:ceph_mon_node04_hostname}
- ${_param:ceph_mon_node04_hostname}.${_param:cluster_domain}