25 #ifndef __PCMK_SERVICES__
26 # define __PCMK_SERVICES__
38 # define OCF_ROOT_DIR "/usr/lib/ocf"
42 # define LSB_ROOT_DIR "/etc/init.d"
47 # define SYSTEMCTL "/bin/systemctl"
50 # ifndef SERVICE_SCRIPT
51 # define SERVICE_SCRIPT "/sbin/service"
59 #define PCMK_OCF_REASON_PREFIX "ocf-exit-reason:"
238 int interval ,
int timeout );
259 const char *provider,
const char *agent,
260 const char *action,
int interval ,
261 int timeout , GHashTable * params,
311 static inline const char *services_lrm_status_str(
enum op_status status) {
321 default:
return "UNKNOWN!";
325 static inline const char *services_ocf_exitcode_str(
enum ocf_exitcode code) {
330 return "unknown error";
332 return "invalid parameter";
334 return "unimplemented feature";
336 return "insufficient privileges";
338 return "not installed";
340 return "not configured";
342 return "not running";
346 return "master (failed)";
350 return "OCF_NOT_SUPPORTED";
352 return "OCF_PENDING";
354 return "OCF_CANCELLED";
356 return "OCF_TIMEOUT";
358 return "OCF_OTHER_ERROR";
360 return "OCF_DEGRADED";
362 return "OCF_DEGRADED_MASTER";
377 services_get_ocf_exitcode(
const char *action,
int lsb_exitcode)
380 if (action && strcmp(action,
"status") && strcmp(action,
"monitor")) {
388 switch (lsb_exitcode) {
struct svc_action_s svc_action_t
void services_action_free(svc_action_t *op)
svc_action_t * services_action_create(const char *name, const char *action, int interval, int timeout)
const char * resources_find_service_class(const char *agent)
svc_action_t * resources_action_create(const char *name, const char *standard, const char *provider, const char *agent, const char *action, int interval, int timeout, GHashTable *params, enum svc_action_flags flags)
Create a new resource action.
svc_action_t * services_action_create_generic(const char *exec, const char *args[])
void services_action_cleanup(svc_action_t *op)
enum svc_action_flags flags
svc_action_private_t * opaque
gboolean services_action_sync(svc_action_t *op)
gboolean services_action_cancel(const char *name, const char *action, int interval)
GList * resources_list_providers(const char *standard)
Get a list of providers.
gboolean services_action_kick(const char *name, const char *action, int interval)
GList * resources_list_standards(void)
GList * get_directory_list(const char *root, gboolean files, gboolean executable)
Get a list of files or directories in a given path.
GList * resources_list_agents(const char *standard, const char *provider)
Get a list of resource agents.
GList * services_list(void)
gboolean services_action_async(svc_action_t *op, void(*action_callback)(svc_action_t *))