[pve-devel] [PATCH container] add status call to pct
Dominik Csapak
d.csapak at proxmox.com
Mon Jul 18 13:47:53 CEST 2016
mostly copied from QemuServer
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
src/PVE/CLI/pct.pm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/src/PVE/CLI/pct.pm b/src/PVE/CLI/pct.pm
index 3e99313..cf4a014 100755
--- a/src/PVE/CLI/pct.pm
+++ b/src/PVE/CLI/pct.pm
@@ -32,6 +32,45 @@ my $upid_exit = sub {
exit($status eq 'OK' ? 0 : -1);
};
+__PACKAGE__->register_method ({
+ name => 'status',
+ path => 'status',
+ method => 'GET',
+ description => "Show CT status.",
+ parameters => {
+ additionalProperties => 0,
+ properties => {
+ vmid => get_standard_option('pve-vmid', { completion => \&PVE::LXC::complete_ctid }),
+ verbose => {
+ description => "Verbose output format",
+ type => 'boolean',
+ optional => 1,
+ }
+ },
+ },
+ returns => { type => 'null'},
+ code => sub {
+ my ($param) = @_;
+
+ # test if CT exists
+ my $conf = PVE::LXC::Config->load_config ($param->{vmid});
+
+ my $vmstatus = PVE::LXC::vmstatus($param->{vmid});
+ my $stat = $vmstatus->{$param->{vmid}};
+ if ($param->{verbose}) {
+ foreach my $k (sort (keys %$stat)) {
+ my $v = $stat->{$k};
+ next if !defined($v);
+ print "$k: $v\n";
+ }
+ } else {
+ my $status = $stat->{status} || 'unknown';
+ print "status: $status\n";
+ }
+
+ return undef;
+ }});
+
sub read_password {
my $term = new Term::ReadLine ('pct');
my $attribs = $term->Attribs;
@@ -655,6 +694,7 @@ our $cmddef = {
clone => [ "PVE::API2::LXC", 'clone_vm', ['vmid', 'newid'], { node => $nodename }, $upid_exit ],
migrate => [ "PVE::API2::LXC", 'migrate_vm', ['vmid', 'target'], { node => $nodename }, $upid_exit],
+ status => [ __PACKAGE__, 'status', ['vmid']],
console => [ __PACKAGE__, 'console', ['vmid']],
enter => [ __PACKAGE__, 'enter', ['vmid']],
unlock => [ __PACKAGE__, 'unlock', ['vmid']],
--
2.1.4
More information about the pve-devel
mailing list