in curator/actions/shrink.py [0:0]
def _data_node(self, node_id):
roles = node_roles(self.client, node_id)
name = node_id_to_name(self.client, node_id)
is_data_node = False
for role in roles:
if role in DATA_NODE_ROLES:
is_data_node = True
break # At least one data node role type qualifies
if not is_data_node:
self.loggit.info('Skipping node "%s": non-data node', name)
return False
if 'master' in roles and not self.node_filters['permit_masters']:
self.loggit.info('Skipping node "%s": master node', name)
return False
if 'master' in roles and self.node_filters['permit_masters']:
msg = (
f'Not skipping node "{name}" which is a master node (not recommended)'
f', but permit_masters is True'
)
self.loggit.warning(msg)
return True
# Implied else: It does have a qualifying data role and is not a master node
return True