[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