summaryrefslogtreecommitdiffstats
path: root/lib/services/systemd.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:45:40 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 07:45:40 +0000
commit07d7f4cfa4b10de87a31b68191036ff446add675 (patch)
tree7162524d8aaf1aef62d2f4fa51f595ed113981ff /lib/services/systemd.c
parentAdding upstream version 2.1.6. (diff)
downloadpacemaker-0d560556df519c6626cda7660f843a815b3c227e.tar.xz
pacemaker-0d560556df519c6626cda7660f843a815b3c227e.zip
Adding upstream version 2.1.7.upstream/2.1.7
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'lib/services/systemd.c')
-rw-r--r--lib/services/systemd.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/lib/services/systemd.c b/lib/services/systemd.c
index 0c38ae0..ecac86c 100644
--- a/lib/services/systemd.c
+++ b/lib/services/systemd.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2022 the Pacemaker project contributors
+ * Copyright 2012-2023 the Pacemaker project contributors
*
* The version control history for this file may have further details.
*
@@ -308,7 +308,7 @@ set_result_from_method_error(svc_action_t *op, const DBusError *error)
|| strstr(error->name, "org.freedesktop.systemd1.LoadFailed")
|| strstr(error->name, "org.freedesktop.systemd1.NoSuchUnit")) {
- if (pcmk__str_eq(op->action, "stop", pcmk__str_casei)) {
+ if (pcmk__str_eq(op->action, PCMK_ACTION_STOP, pcmk__str_casei)) {
crm_trace("Masking systemd stop failure (%s) for %s "
"because unknown service can be considered stopped",
error->name, pcmk__s(op->rsc, "unknown resource"));
@@ -459,7 +459,11 @@ invoke_unit_by_name(const char *arg_name, svc_action_t *op, char **path)
CRM_ASSERT(msg != NULL);
// Add the (expanded) unit name as the argument
- name = systemd_service_name(arg_name, op == NULL || pcmk__str_eq(op->action, "meta-data", pcmk__str_none));
+ name = systemd_service_name(arg_name,
+ (op == NULL)
+ || pcmk__str_eq(op->action,
+ PCMK_ACTION_META_DATA,
+ pcmk__str_none));
CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name,
DBUS_TYPE_INVALID));
free(name);
@@ -717,6 +721,8 @@ process_unit_method_reply(DBusMessage *reply, svc_action_t *op)
{
DBusError error;
+ dbus_error_init(&error);
+
/* The first use of error here is not used other than as a non-NULL flag to
* indicate that a request was indeed sent
*/
@@ -932,7 +938,8 @@ invoke_unit_by_path(svc_action_t *op, const char *unit)
DBusMessage *msg = NULL;
DBusMessage *reply = NULL;
- if (pcmk__str_any_of(op->action, "monitor", "status", NULL)) {
+ if (pcmk__str_any_of(op->action, PCMK_ACTION_MONITOR, PCMK_ACTION_STATUS,
+ NULL)) {
DBusPendingCall *pending = NULL;
char *state;
@@ -955,11 +962,11 @@ invoke_unit_by_path(svc_action_t *op, const char *unit)
}
return;
- } else if (pcmk__str_eq(op->action, "start", pcmk__str_none)) {
+ } else if (pcmk__str_eq(op->action, PCMK_ACTION_START, pcmk__str_none)) {
method = "StartUnit";
systemd_create_override(op->agent, op->timeout);
- } else if (pcmk__str_eq(op->action, "stop", pcmk__str_none)) {
+ } else if (pcmk__str_eq(op->action, PCMK_ACTION_STOP, pcmk__str_none)) {
method = "StopUnit";
systemd_remove_override(op->agent, op->timeout);
@@ -988,7 +995,10 @@ invoke_unit_by_path(svc_action_t *op, const char *unit)
/* (ss) */
{
const char *replace_s = "replace";
- char *name = systemd_service_name(op->agent, pcmk__str_eq(op->action, "meta-data", pcmk__str_none));
+ char *name = systemd_service_name(op->agent,
+ pcmk__str_eq(op->action,
+ PCMK_ACTION_META_DATA,
+ pcmk__str_none));
CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &replace_s, DBUS_TYPE_INVALID));
@@ -1072,7 +1082,7 @@ services__execute_systemd(svc_action_t *op)
(op->synchronous? "" : "a"), op->action, op->agent,
((op->rsc == NULL)? "" : " for resource "), pcmk__s(op->rsc, ""));
- if (pcmk__str_eq(op->action, "meta-data", pcmk__str_casei)) {
+ if (pcmk__str_eq(op->action, PCMK_ACTION_META_DATA, pcmk__str_casei)) {
op->stdout_data = systemd_unit_metadata(op->agent, op->timeout);
services__set_result(op, PCMK_OCF_OK, PCMK_EXEC_DONE, NULL);
goto done;