[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