[pve-devel] [PATCH pve-ha-manager] enhance ha-managers' group commands

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Sep 18 08:19:37 CEST 2015


add commands for adding, deleting and modifying groups. Also add
better bash completion for these commands.

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---
 src/PVE/CLI/ha_manager.pm | 6 +++++-
 src/PVE/HA/Groups.pm      | 5 ++++-
 src/PVE/HA/Tools.pm       | 9 +++++++--
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/PVE/CLI/ha_manager.pm b/src/PVE/CLI/ha_manager.pm
index d858d8e..ec466f2 100644
--- a/src/PVE/CLI/ha_manager.pm
+++ b/src/PVE/CLI/ha_manager.pm
@@ -136,7 +136,7 @@ our $cmddef = {
 	    }
 	    print "\n";
 	}}],
-    groups => [ 'PVE::API2::HA::Groups', 'index', [], {}, sub {
+    groupcfg => [ 'PVE::API2::HA::Groups', 'index', [], {}, sub {
 	my $res = shift;
 	foreach my $rec (sort { $a->{group} cmp $b->{group} } @$res) {
 	    print "group: $rec->{group}\n";
@@ -147,6 +147,10 @@ our $cmddef = {
 	    }
 	    print "\n";
 	}}],
+    groupadd => [ "PVE::API2::HA::Groups", 'create', ['group'] ],
+    groupdel => [ "PVE::API2::HA::Groups", 'delete', ['group'] ],
+    groupset => [ "PVE::API2::HA::Groups", 'update', ['group'] ],
+
     add => [ "PVE::API2::HA::Resources", 'create', ['sid'] ],
     remove => [ "PVE::API2::HA::Resources", 'delete', ['sid'] ],
     set => [ "PVE::API2::HA::Resources", 'update', ['sid'] ],
diff --git a/src/PVE/HA/Groups.pm b/src/PVE/HA/Groups.pm
index 3b4338f..2e9fe13 100644
--- a/src/PVE/HA/Groups.pm
+++ b/src/PVE/HA/Groups.pm
@@ -12,7 +12,10 @@ use base qw(PVE::SectionConfig);
 
 my $defaultData = {
     propertyList => {
-	type => { description => "Section type." },
+	type => {
+	    description => "Group type.",
+	    optional => 1,
+	},
 	group => get_standard_option('pve-ha-group-id',
 				    { completion => \&PVE::HA::Tools::complete_group }),
 	nodes => get_standard_option('pve-ha-group-node-list', { optional => 1 }),
diff --git a/src/PVE/HA/Tools.pm b/src/PVE/HA/Tools.pm
index 95098b3..4a5c2e3 100644
--- a/src/PVE/HA/Tools.pm
+++ b/src/PVE/HA/Tools.pm
@@ -207,12 +207,17 @@ sub complete_disabled_sid {
 }
 
 sub complete_group {
+    my ($cmd, $pname, $cur) = @_;
 
     my $cfg = PVE::HA::Config::read_group_config();
 
     my $res = [];
-    foreach my $group (keys %{$cfg->{ids}}) {
-	push @$res, $group;
+    if ($cmd ne 'groupadd') {
+
+	foreach my $group (keys %{$cfg->{ids}}) {
+	    push @$res, $group;
+	}
+
     }
 
     return $res;
-- 
2.1.4



More information about the pve-devel mailing list