and only fail if unable to

Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com>

(backported from commit 669211d8bbb0857275669068fcbf62560782b888)

use local copy of resolve_hostname_like_corosync instead of
pve-cluster's.

Signed-off-by: Fabian Grünbichler <f.gruenbich...@proxmox.com>
---
 PVE/CLI/pve5to6.pm | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/PVE/CLI/pve5to6.pm b/PVE/CLI/pve5to6.pm
index 7d23ac3c..f84a8c1b 100644
--- a/PVE/CLI/pve5to6.pm
+++ b/PVE/CLI/pve5to6.pm
@@ -434,8 +434,17 @@ sub check_cluster_corosync {
        my $verify_ring_ip = sub {
            my $key = shift;
            my $ring = $entry->{$key};
-           if (defined($ring) && !PVE::JSONSchema::pve_verify_ip($ring, 1)) {
-               log_fail("$key '$ring' of node '$cs_node' is not an IP address, 
consider replacing it with the currently resolved IP address.");
+           if (defined($ring)) {
+               my ($resolved_ip, undef) = 
$resolve_hostname_like_corosync->($ring, $conf);
+               if (defined($resolved_ip)) {
+                   if ($resolved_ip ne $ring) {
+                       log_warn("$key '$ring' of node '$cs_node' resolves to 
'$resolved_ip'.\n Consider replacing it with the currently resolved IP 
address.");
+                   } else {
+                       log_pass("$key is configured to use IP address 
'$ring'");
+                   }
+               } else {
+                   log_fail("unable to resolve $key '$ring' of node '$cs_node' 
to an IP address according to Corosync's resolve strategy - cluster will fail 
with Corosync 3.x/kronosnet!");
+               }
            }
        };
        $verify_ring_ip->('ring0_addr');
-- 
2.20.1


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to