* [pve-devel] applied: [PATCH manager 1/3] api/services: improve essential service check, allow reload and start
@ 2020-07-24 13:25 Thomas Lamprecht
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
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2020-07-24 13:25 UTC (permalink / raw)
To: pve-devel
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
^ permalink raw reply [flat|nested] 3+ messages in thread* [pve-devel] applied: [PATCH manager 2/3] api/services: fallback to restart in reload
2020-07-24 13:25 [pve-devel] applied: [PATCH manager 1/3] api/services: improve essential service check, allow reload and start Thomas Lamprecht
@ 2020-07-24 13:25 ` 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
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2020-07-24 13:25 UTC (permalink / raw)
To: pve-devel
And document that it is preferred
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
PVE/API2/Services.pm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/PVE/API2/Services.pm b/PVE/API2/Services.pm
index e5b3c3da..df9606f4 100644
--- a/PVE/API2/Services.pm
+++ b/PVE/API2/Services.pm
@@ -319,7 +319,7 @@ __PACKAGE__->register_method ({
name => 'service_restart',
path => '{service}/restart',
method => 'POST',
- description => "Restart service.",
+ description => "Hard restart service. Use reload if you want to reduce interruptions.",
permissions => {
check => ['perm', '/nodes/{node}', [ 'Sys.Modify' ]],
},
@@ -355,7 +355,7 @@ __PACKAGE__->register_method ({
name => 'service_reload',
path => '{service}/reload',
method => 'POST',
- description => "Reload service.",
+ description => "Reload service. Falls back to restart if service cannot be reloaded.",
permissions => {
check => ['perm', '/nodes/{node}', [ 'Sys.Modify' ]],
},
@@ -381,7 +381,7 @@ __PACKAGE__->register_method ({
my $upid = shift;
syslog('info', "reloading service $param->{service}: $upid\n");
- $service_cmd->($param->{service}, 'reload');
+ $service_cmd->($param->{service}, 'try-reload-or-restart');
};
--
2.20.1
^ permalink raw reply [flat|nested] 3+ messages in thread* [pve-devel] applied: [PATCH manager 3/3] ui: node/services: use safer reload as restart command
2020-07-24 13:25 [pve-devel] applied: [PATCH manager 1/3] api/services: improve essential service check, allow reload and start Thomas Lamprecht
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 ` Thomas Lamprecht
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2020-07-24 13:25 UTC (permalink / raw)
To: pve-devel
avoids service interruptions
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
www/manager6/node/Config.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/www/manager6/node/Config.js b/www/manager6/node/Config.js
index be09615f..ef3ac32c 100644
--- a/www/manager6/node/Config.js
+++ b/www/manager6/node/Config.js
@@ -159,6 +159,7 @@ Ext.define('PVE.node.Config', {
iconCls: 'fa fa-cogs',
itemId: 'services',
expandedOnInit: true,
+ restartCommand: 'reload', // avoid disruptions
startOnlyServices: {
'pveproxy': true,
'pvedaemon': true,
--
2.20.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-07-24 13:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-24 13:25 [pve-devel] applied: [PATCH manager 1/3] api/services: improve essential service check, allow reload and start Thomas Lamprecht
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
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.