[pve-devel] [RFC cluster 2/6] add new corosync-link format

Thomas Lamprecht t.lamprecht at proxmox.com
Tue May 28 18:33:09 CEST 2019


use a format string this time, so we can drop the parameter count a
bit. With address as default_key we can still use it conveniently
from CLI. bindnet defaults to it, which is correct most of the time.

There'll be the link priority flag added in a future patch.

Note that passing bindnet makes only sense on creation to not confuse
API users.

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---

the "desc" already mentions "priority", even if that gets added only
later, this is left over from patch re-order/commit cycle and could be fixed up
if deemed important..

 data/PVE/Cluster.pm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/data/PVE/Cluster.pm b/data/PVE/Cluster.pm
index 7f9b88e..ddb6d2d 100644
--- a/data/PVE/Cluster.pm
+++ b/data/PVE/Cluster.pm
@@ -1839,6 +1839,36 @@ sub ssh_info_to_command {
     return $cmd;
 }
 
+my $corosync_link_format = {
+    address => {
+	default_key => 1,
+	type => 'string', format => 'address',
+	format_description => 'IP',
+	description => "Hostname (or IP) of this corosync link address.",
+    },
+    bindnet => {
+	type => 'string', format => 'address',
+	description => "This specifies the network address the corosync executive should bind to. Ignored for node addition.",
+	optional => 1,
+	format_description => 'IP',
+	default => 'same as address',
+    },
+};
+my $corosync_link_desc = {
+    type => 'string', format => $corosync_link_format,
+    description => "Address and priority information of a single corosync link.",
+    optional => 1,
+};
+PVE::JSONSchema::register_standard_option("corosync-link", $corosync_link_desc);
+
+sub parse_corosync_link {
+    my ($value) = @_;
+
+    return undef if !defined($value);
+
+    return PVE::JSONSchema::parse_property_string($corosync_link_format, $value);
+}
+
 sub assert_joinable {
     my ($local_addr, $ring0_addr, $ring1_addr, $force) = @_;
 
-- 
2.20.1





More information about the pve-devel mailing list