* [pve-devel] [RFC common 1/1] REST environment: add static log_warn function
@ 2021-08-06 12:57 Fabian Ebner
2021-08-06 12:57 ` [pve-devel] [RFC container 1/1] print_ct_warn_log: use log_warn function from RESTEnvironment Fabian Ebner
2021-08-23 16:22 ` [pve-devel] [RFC common 1/1] REST environment: add static log_warn function Thomas Lamprecht
0 siblings, 2 replies; 4+ messages in thread
From: Fabian Ebner @ 2021-08-06 12:57 UTC (permalink / raw)
To: pve-devel
which can be called even when the environment is not initialized.
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
src/PVE/RESTEnvironment.pm | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/PVE/RESTEnvironment.pm b/src/PVE/RESTEnvironment.pm
index 189a6cd..4278966 100644
--- a/src/PVE/RESTEnvironment.pm
+++ b/src/PVE/RESTEnvironment.pm
@@ -712,14 +712,20 @@ sub fork_worker {
return wantarray ? ($upid, $res) : $upid;
}
-sub warn {
- my ($self, $message) = @_;
+sub log_warn {
+ my ($message) = @_;
chomp($message);
print STDERR "WARN: $message\n";
- $self->{warning_count}++;
+ $rest_env->{warning_count}++ if $rest_env;
+}
+
+sub warn {
+ my ($self, $message) = @_;
+
+ log_warn($message);
}
# Abstract function
--
2.30.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [pve-devel] [RFC container 1/1] print_ct_warn_log: use log_warn function from RESTEnvironment
2021-08-06 12:57 [pve-devel] [RFC common 1/1] REST environment: add static log_warn function Fabian Ebner
@ 2021-08-06 12:57 ` Fabian Ebner
2021-08-23 16:22 ` [pve-devel] [RFC common 1/1] REST environment: add static log_warn function Thomas Lamprecht
1 sibling, 0 replies; 4+ messages in thread
From: Fabian Ebner @ 2021-08-06 12:57 UTC (permalink / raw)
To: pve-devel
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
---
src/PVE/LXC.pm | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
index dbdec23..85eed65 100644
--- a/src/PVE/LXC.pm
+++ b/src/PVE/LXC.pm
@@ -29,11 +29,11 @@ use PVE::Tools qw(
$IPV4RE
$IPV6RE
);
-use PVE::RPCEnvironment;
use PVE::CpuSet;
use PVE::Network;
use PVE::AccessControl;
use PVE::ProcFSTools;
+use PVE::RESTEnvironment;
use PVE::Syscall qw(:fsmount);
use PVE::LXC::Config;
use PVE::GuestHelpers qw(safe_string_ne safe_num_ne safe_boolean_ne);
@@ -2296,13 +2296,8 @@ my sub print_ct_warn_log {
my $log = eval { file_get_contents($log_fn) };
return if !$log;
- my $rpcenv = eval { PVE::RPCEnvironment::get() };
-
- my $warn_fn = $rpcenv ? sub { $rpcenv->warn($_[0]) } : sub { print STDERR "WARN: $_[0]\n" };
-
while ($log =~ /^\h*\s*(.*?)\h*$/gm) {
- my $line = $1;
- $warn_fn->($line);
+ PVE::RESTEnvironment::log_warn($1);
}
unlink $log_fn or warn "could not unlink '$log_fn' - $!\n";
}
--
2.30.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [pve-devel] [RFC common 1/1] REST environment: add static log_warn function
2021-08-06 12:57 [pve-devel] [RFC common 1/1] REST environment: add static log_warn function Fabian Ebner
2021-08-06 12:57 ` [pve-devel] [RFC container 1/1] print_ct_warn_log: use log_warn function from RESTEnvironment Fabian Ebner
@ 2021-08-23 16:22 ` Thomas Lamprecht
2021-09-01 11:02 ` Fabian Ebner
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Lamprecht @ 2021-08-23 16:22 UTC (permalink / raw)
To: Proxmox VE development discussion, Fabian Ebner
On 06/08/2021 14:57, Fabian Ebner wrote:
> which can be called even when the environment is not initialized.
>
> Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
> ---
> src/PVE/RESTEnvironment.pm | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/src/PVE/RESTEnvironment.pm b/src/PVE/RESTEnvironment.pm
> index 189a6cd..4278966 100644
> --- a/src/PVE/RESTEnvironment.pm
> +++ b/src/PVE/RESTEnvironment.pm
> @@ -712,14 +712,20 @@ sub fork_worker {
> return wantarray ? ($upid, $res) : $upid;
> }
>
> -sub warn {
> - my ($self, $message) = @_;
> +sub log_warn {
> + my ($message) = @_;
>
> chomp($message);
>
> print STDERR "WARN: $message\n";
>
> - $self->{warning_count}++;
> + $rest_env->{warning_count}++ if $rest_env;
> +}
> +
> +sub warn {
> + my ($self, $message) = @_;
> +
> + log_warn($message);
> }
>
> # Abstract function
>
The approach seems OK-ish in general to me, was there any off-list discussion against this
or just not prioritized for review yet?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [pve-devel] [RFC common 1/1] REST environment: add static log_warn function
2021-08-23 16:22 ` [pve-devel] [RFC common 1/1] REST environment: add static log_warn function Thomas Lamprecht
@ 2021-09-01 11:02 ` Fabian Ebner
0 siblings, 0 replies; 4+ messages in thread
From: Fabian Ebner @ 2021-09-01 11:02 UTC (permalink / raw)
To: Thomas Lamprecht, Proxmox VE development discussion
Am 23.08.21 um 18:22 schrieb Thomas Lamprecht:
> On 06/08/2021 14:57, Fabian Ebner wrote:
>> which can be called even when the environment is not initialized.
>>
>> Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
>> ---
>> src/PVE/RESTEnvironment.pm | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/src/PVE/RESTEnvironment.pm b/src/PVE/RESTEnvironment.pm
>> index 189a6cd..4278966 100644
>> --- a/src/PVE/RESTEnvironment.pm
>> +++ b/src/PVE/RESTEnvironment.pm
>> @@ -712,14 +712,20 @@ sub fork_worker {
>> return wantarray ? ($upid, $res) : $upid;
>> }
>>
>> -sub warn {
>> - my ($self, $message) = @_;
>> +sub log_warn {
>> + my ($message) = @_;
>>
>> chomp($message);
>>
>> print STDERR "WARN: $message\n";
>>
>> - $self->{warning_count}++;
>> + $rest_env->{warning_count}++ if $rest_env;
>> +}
>> +
>> +sub warn {
>> + my ($self, $message) = @_;
>> +
>> + log_warn($message);
>> }
>>
>> # Abstract function
>>
>
> The approach seems OK-ish in general to me, was there any off-list discussion against this
> or just not prioritized for review yet?
>
I can't remember any off-list discussion about this, but I'm wondering
two things:
1. Would adding an EXPORT_OK for the function be ok?
2. The following approach leads to a bit of duplication, but would
ensure that if a derived class overrides warn() then log_warn() will use
that one too. Should that be preferred?
diff --git a/src/PVE/RESTEnvironment.pm b/src/PVE/RESTEnvironment.pm
index 189a6cd..bf10040 100644
--- a/src/PVE/RESTEnvironment.pm
+++ b/src/PVE/RESTEnvironment.pm
@@ -712,6 +712,17 @@ sub fork_worker {
return wantarray ? ($upid, $res) : $upid;
}
+sub log_warn {
+ my ($message) = @_;
+
+ if ($rest_env) {
+ $rest_env->warn($message);
+ } else {
+ chomp($message);
+ print STDERR "WARN: $message\n";
+ }
+}
+
sub warn {
my ($self, $message) = @_;
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-09-01 11:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-06 12:57 [pve-devel] [RFC common 1/1] REST environment: add static log_warn function Fabian Ebner
2021-08-06 12:57 ` [pve-devel] [RFC container 1/1] print_ct_warn_log: use log_warn function from RESTEnvironment Fabian Ebner
2021-08-23 16:22 ` [pve-devel] [RFC common 1/1] REST environment: add static log_warn function Thomas Lamprecht
2021-09-01 11:02 ` Fabian Ebner
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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal