From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] applied: [PATCH manager 1/3] api/services: improve essential service check, allow reload and start
Date: Fri, 24 Jul 2020 15:25:25 +0200 [thread overview]
Message-ID: <20200724132527.3623835-1-t.lamprecht@proxmox.com> (raw)
reload is actually preferred, and even if most of the time this even
won't reach the API, allowing to start them is still definitively
fine!
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
PVE/API2/Services.pm | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/PVE/API2/Services.pm b/PVE/API2/Services.pm
index a504dcd5..e5b3c3da 100644
--- a/PVE/API2/Services.pm
+++ b/PVE/API2/Services.pm
@@ -34,6 +34,11 @@ my $service_name_list = [
'ksmtuned',
'systemd-timesyncd',
];
+my $essential_services = {
+ pveproxy => 1,
+ pvedaemon => 1,
+ 'pve-cluster' => 1,
+};
# since postfix package 3.1.0-3.1 the postfix unit is only here to
# manage subinstances, of which the default is called "-".
@@ -92,17 +97,12 @@ my $service_cmd = sub {
my $initd_cmd;
- die "unknown service command '$cmd'\n"
- if $cmd !~ m/^(start|stop|restart|reload)$/;
+ die "unknown service command '$cmd'\n" if $cmd !~ m/^(start|stop|restart|reload|try-reload-or-restart)$/;
- if ($service eq 'pvecluster' || $service eq 'pvedaemon' || $service eq 'pveproxy') {
- if ($cmd eq 'restart') {
- # OK
- } else {
- die "invalid service cmd '$service $cmd': ERROR";
- }
+ if ($essential_services->{$service} && $cmd eq 'stop') {
+ die "invalid service cmd '$service $cmd': refusing to stop essential service!\n";
}
-
+
PVE::Tools::run_command(['systemctl', $cmd, $service]);
};
--
2.20.1
next reply other threads:[~2020-07-24 13:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-24 13:25 Thomas Lamprecht [this message]
2020-07-24 13:25 ` [pve-devel] applied: [PATCH manager 2/3] api/services: fallback to restart in reload Thomas Lamprecht
2020-07-24 13:25 ` [pve-devel] applied: [PATCH manager 3/3] ui: node/services: use safer reload as restart command Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200724132527.3623835-1-t.lamprecht@proxmox.com \
--to=t.lamprecht@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.