def lock_and_roll(upgrade_key, service, my_name, version): start_timestamp = time.time() log('monitor_key_set {}_{}_{}_start {}'.format( service, my_name, version, start_timestamp)) monitor_key_set(upgrade_key, "{}_{}_{}_start".format( service, my_name, version), start_timestamp) log("Rolling") # This should be quick if service == 'osd': upgrade_osd() elif service == 'mon': upgrade_monitor() else: log("Unknown service {}. Unable to upgrade".format(service), level=ERROR) log("Done") stop_timestamp = time.time() # Set a key to inform others I am finished log('monitor_key_set {}_{}_{}_done {}'.format(service, my_name, version, stop_timestamp)) monitor_key_set(upgrade_key, "{}_{}_{}_done".format(service, my_name, version), stop_timestamp)
def lock_and_roll(my_name): start_timestamp = time.time() log('monitor_key_set {}_start {}'.format(my_name, start_timestamp)) monitor_key_set('admin', "{}_start".format(my_name), start_timestamp) log("Rolling") # This should be quick upgrade_monitor() log("Done") stop_timestamp = time.time() # Set a key to inform others I am finished log('monitor_key_set {}_done {}'.format(my_name, stop_timestamp)) monitor_key_set('admin', "{}_done".format(my_name), stop_timestamp)
def save_group(group, group_name): """Persist a group in the monitor cluster""" group_key = get_group_key(group_name=group_name) return monitor_key_set(service='admin', key=group_key, value=json.dumps(group))
def save_service(service_name, service): """Persist a service in the monitor cluster""" service['groups'] = {} return monitor_key_set(service='admin', key="cephx.services.{}".format(service_name), value=json.dumps(service))
def save_group(group, group_name): """Persist a group in the monitor cluster""" group_key = get_group_key(group_name=group_name) return monitor_key_set(service='admin', key=group_key, value=json.dumps(group, sort_keys=True))
def save_service(service_name, service): """Persist a service in the monitor cluster""" service['groups'] = {} return monitor_key_set(service='admin', key="cephx.services.{}".format(service_name), value=json.dumps(service, sort_keys=True))