Charmed-Kubernetes/kubernetes-master/lib/charms/layer/hacluster.py

40 lines
1.6 KiB
Python

from charms.reactive import clear_flag, set_flag
from charmhelpers.core import unitdata
db = unitdata.kv()
def add_service_to_hacluster(name, service_name):
"""Adds a service to be monitored under HAcluster.
Takes a name for this entry and a service_name,
which is the name used by systemd/initd to identify
the service.
"""
services = db.get('layer-hacluster.services', {'current_services': {},
'desired_services': {},
'deleted_services': {}})
if name not in services['current_services']:
services['desired_services'][name] = service_name
db.set('layer-hacluster.services', services)
clear_flag('layer-hacluster.configured')
set_flag('layer.hacluster.services_configured')
def remove_service_from_hacluster(name, service_name):
"""Removes a service to be monitored under HAcluster.
Takes a name for this entry and a service_name,
which is the name used by systemd/initd to identify
the service.
"""
services = db.get('layer-hacluster.services', {'current_services': {},
'desired_services': {},
'deleted_services': {}})
if name in services['current_services']:
services['deleted_services'][name] = service_name
if name in services['desired_services']:
del services['desired_services'][name]
db.set('layer-hacluster.services', services)
clear_flag('layer-hacluster.configured')