From f33bf80f3b9ad574929c1b12cdc6ba33944dca4c Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Wed, 5 Jun 2024 22:50:46 -0400 Subject: [PATCH 1/2] rabbitmq-diagnostics status: drop date-based support status field As of [1], this field has become irrelevant or even misleading. 1. https://www.rabbitmq.com/blog/2024/05/31/new-community-support-policy (cherry picked from commit 41e5d38b941338f8e885a8560a3c5d8e7d458b31) (cherry picked from commit 53c67ce45bfff49eab033592edbeec7afb76f8dd) # Conflicts: # deps/rabbit/src/rabbit.erl # deps/rabbit/src/rabbit_release_series.erl --- deps/rabbit/src/rabbit.erl | 12 ++++------ deps/rabbit/src/rabbit_release_series.erl | 23 +++++++------------ .../cli/ctl/commands/status_command.ex | 2 +- 3 files changed, 14 insertions(+), 23 deletions(-) diff --git a/deps/rabbit/src/rabbit.erl b/deps/rabbit/src/rabbit.erl index effa688b991..68feff97d15 100644 --- a/deps/rabbit/src/rabbit.erl +++ b/deps/rabbit/src/rabbit.erl @@ -672,7 +672,6 @@ maybe_print_boot_progress(true, IterationsLeft) -> status() -> Version = base_product_version(), [CryptoLibInfo] = crypto:info_lib(), - SeriesSupportStatus = rabbit_release_series:readable_support_status(), S1 = [{pid, list_to_integer(os:getpid())}, %% The timeout value used is twice that of gen_server:call/2. {running_applications, rabbit_misc:which_applications()}, @@ -680,7 +679,6 @@ status() -> {rabbitmq_version, Version}, {crypto_lib_info, CryptoLibInfo}, {erlang_version, erlang:system_info(system_version)}, - {release_series_support_status, SeriesSupportStatus}, {memory, rabbit_vm:memory()}, {alarms, alarms()}, {is_under_maintenance, rabbit_maintenance:is_being_drained_local_read(node())}, @@ -879,7 +877,6 @@ start(normal, []) -> ?COPYRIGHT_MESSAGE, ?INFORMATION_MESSAGE], #{domain => ?RMQLOG_DOMAIN_PRELAUNCH}) end, - maybe_warn_about_release_series_eol(), log_motd(), {ok, SupPid} = rabbit_sup:start_link(), @@ -1225,7 +1222,6 @@ print_banner() -> %% padded list lines {LogFmt, LogLocations} = LineListFormatter("~n ~ts", log_locations()), {CfgFmt, CfgLocations} = LineListFormatter("~n ~ts", config_locations()), - SeriesSupportStatus = rabbit_release_series:readable_support_status(), {MOTDFormat, MOTDArgs} = case motd() of undefined -> {"", []}; @@ -1243,7 +1239,7 @@ print_banner() -> MOTDFormat ++ "~n Erlang: ~ts [~ts]" "~n TLS Library: ~ts" - "~n Release series support status: ~ts" + "~n Release series support status: see https://www.rabbitmq.com/release-information" "~n" "~n Doc guides: https://rabbitmq.com/documentation.html" "~n Support: https://rabbitmq.com/contact.html" @@ -1254,12 +1250,12 @@ print_banner() -> "~n Config file(s): ~ts" ++ CfgFmt ++ "~n" "~n Starting broker...", [Product, Version, ?COPYRIGHT_MESSAGE, ?INFORMATION_MESSAGE] ++ - [rabbit_misc:otp_release(), emu_flavor(), crypto_version(), - SeriesSupportStatus] ++ + [rabbit_misc:otp_release(), emu_flavor(), crypto_version()] ++ MOTDArgs ++ LogLocations ++ CfgLocations). +<<<<<<< HEAD maybe_warn_about_release_series_eol() -> case rabbit_release_series:is_currently_supported() of false -> @@ -1271,6 +1267,8 @@ maybe_warn_about_release_series_eol() -> _ -> ok end. +======= +>>>>>>> 53c67ce45b (rabbitmq-diagnostics status: drop date-based support status field) emu_flavor() -> %% emu_flavor was introduced in Erlang 24 so we need to catch the error on Erlang 23 case catch(erlang:system_info(emu_flavor)) of diff --git a/deps/rabbit/src/rabbit_release_series.erl b/deps/rabbit/src/rabbit_release_series.erl index 95ce6edf3e3..9766ca07b3a 100644 --- a/deps/rabbit/src/rabbit_release_series.erl +++ b/deps/rabbit/src/rabbit_release_series.erl @@ -10,30 +10,23 @@ -define(EOL_DATE_KEY, release_series_eol_date). -export([ - eol_date/0, is_currently_supported/0, readable_support_status/0 ]). --spec eol_date() -> rabbit_types:maybe(calendar:date()). -eol_date() -> - case application:get_env(rabbit, ?EOL_DATE_KEY) of - undefined -> none; - {ok, none} -> none; - {ok, {_Y, _M, _D} = Date} -> Date; - _ -> none - end. - +%% Retained for backwards compatibility with older CLI tools. -spec is_currently_supported() -> boolean(). is_currently_supported() -> - case eol_date() of - none -> true; - Date -> not rabbit_date_time:is_in_the_past(Date) - end. + true. +%% Retained for backwards compatibility with older CLI tools. -spec readable_support_status() -> binary(). readable_support_status() -> +<<<<<<< HEAD case is_currently_supported() of false -> <<"out of support">>; _ -> <<"supported">> - end. \ No newline at end of file + end. +======= + <<"supported">>. +>>>>>>> 53c67ce45b (rabbitmq-diagnostics status: drop date-based support status field) diff --git a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex index 79685563090..7a3877c4fb0 100644 --- a/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex +++ b/deps/rabbitmq_cli/lib/rabbitmq/cli/ctl/commands/status_command.ex @@ -100,7 +100,7 @@ defmodule RabbitMQ.CLI.Ctl.Commands.StatusCommand do product_version_section ++ [ "RabbitMQ version: #{m[:rabbitmq_version]}", - "RabbitMQ release series support status: #{m[:release_series_support_status]}", + "RabbitMQ release series support status: see https://www.rabbitmq.com/release-information", "Node name: #{node_name}", "Erlang configuration: #{m[:erlang_version]}", "Crypto library: #{m[:crypto_lib_version]}", From bfce7d006c3de7203a2e0f9695208aef35bdc540 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Thu, 6 Jun 2024 11:45:14 -0400 Subject: [PATCH 2/2] Resolve conflict #11393 #11386 --- deps/rabbit/src/rabbit.erl | 14 -------------- deps/rabbit/src/rabbit_release_series.erl | 9 +-------- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/deps/rabbit/src/rabbit.erl b/deps/rabbit/src/rabbit.erl index 68feff97d15..cdac8514c00 100644 --- a/deps/rabbit/src/rabbit.erl +++ b/deps/rabbit/src/rabbit.erl @@ -1255,20 +1255,6 @@ print_banner() -> LogLocations ++ CfgLocations). -<<<<<<< HEAD -maybe_warn_about_release_series_eol() -> - case rabbit_release_series:is_currently_supported() of - false -> - %% we intentionally log this as an error for increased visibiity - ?LOG_ERROR("This release series has reached end of life " - "and is no longer supported. " - "Please visit https://rabbitmq.com/versions.html " - "to learn more and upgrade"); - _ -> ok - end. - -======= ->>>>>>> 53c67ce45b (rabbitmq-diagnostics status: drop date-based support status field) emu_flavor() -> %% emu_flavor was introduced in Erlang 24 so we need to catch the error on Erlang 23 case catch(erlang:system_info(emu_flavor)) of diff --git a/deps/rabbit/src/rabbit_release_series.erl b/deps/rabbit/src/rabbit_release_series.erl index 9766ca07b3a..607e5f3e5df 100644 --- a/deps/rabbit/src/rabbit_release_series.erl +++ b/deps/rabbit/src/rabbit_release_series.erl @@ -22,11 +22,4 @@ is_currently_supported() -> %% Retained for backwards compatibility with older CLI tools. -spec readable_support_status() -> binary(). readable_support_status() -> -<<<<<<< HEAD - case is_currently_supported() of - false -> <<"out of support">>; - _ -> <<"supported">> - end. -======= - <<"supported">>. ->>>>>>> 53c67ce45b (rabbitmq-diagnostics status: drop date-based support status field) + <<"out of support">>.