By the way what do pveam stand for ? Is that for pve appliance manager ? ( helps to remember purpose of command)
On 02/24/2016 12:10 PM, Wolfgang Link wrote: > --- > PVE/CLI/Makefile | 2 +- > PVE/CLI/pveam.pm | 88 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > bin/Makefile | 7 ++--- > bin/pveam | 21 ++------------ > 4 files changed, 95 insertions(+), 23 deletions(-) > create mode 100644 PVE/CLI/pveam.pm > > diff --git a/PVE/CLI/Makefile b/PVE/CLI/Makefile > index 6ec4dd1..b005a8f 100644 > --- a/PVE/CLI/Makefile > +++ b/PVE/CLI/Makefile > @@ -1,6 +1,6 @@ > include ../../defines.mk > > -SOURCES=vzdump.pm pvesubscription.pm pveceph.pm > +SOURCES=vzdump.pm pvesubscription.pm pveceph.pm pveam.pm > > all: > > diff --git a/PVE/CLI/pveam.pm b/PVE/CLI/pveam.pm > new file mode 100644 > index 0000000..407d629 > --- /dev/null > +++ b/PVE/CLI/pveam.pm > @@ -0,0 +1,88 @@ > +package PVE::CLI::pveam; > + > +use strict; > +use warnings; > + > +use PVE::Cluster; > +use PVE::APLInfo; > +use Data::Dumper; > +use PVE::SafeSyslog; > +use PVE::Tools qw(extract_param); > +use PVE::Cluster; > +use PVE::INotify; > +use PVE::RPCEnvironment; > +use PVE::JSONSchema qw(get_standard_option); > +use PVE::CLIHandler; > + > +use base qw(PVE::CLIHandler); > + > +my $nodename = PVE::INotify::nodename(); > + > +my $upid_exit = sub { > + my $upid = shift; > + my $status = PVE::Tools::upid_read_status($upid); > + exit($status eq 'OK' ? 0 : -1); > +}; > + > +__PACKAGE__->register_method ({ > + name => 'update', > + path => 'update', > + method => 'PUT', > + description => "Update Container Template Database.", > + parameters => { > + additionalProperties => 0, > + }, > + returns => { type => 'null'}, > + code => sub { > + > + my $dccfg = PVE::Cluster::cfs_read_file('datacenter.cfg'); > + print Data::Dumper::Dumper $dccfg; > + print STDERR "update failed - see /var/log/pveam.log for details\n" > + if !PVE::APLInfo::update($dccfg->{http_proxy}); > + > + return undef; > + > + }}); > + > +our $cmddef = { > + update => [ __PACKAGE__, 'update', []], > +}; > + > +1; > + > +__END__ > + > +=head1 NAME > + > +pveam Tool to manage Linux Container templates on Proxmox VE > + > +=head1 SYNOPSIS > + > +=include synopsis > + > +=head1 DESCRIPTION > + > +pveam can manage Container templates like updating the Database, > +destroying, downloading and showing templates. > +This tool support bash completion > + > +=head1 EXAMPLES > + > +Updating the DB > +pveam update > + > +downloading a template in background > +pveam download debian-8.0-standard --storage local --bg 1 > + > +removing a template > +pveam destroy debian-8.0-standard --storage local > + > +showing all templates what are available > +pveam show > + > +=head1 FILES > + > +Log-files > +/var/log/pveam.log > + > +=include pve_copyright > diff --git a/bin/Makefile b/bin/Makefile > index 827e30d..6826c7c 100644 > --- a/bin/Makefile > +++ b/bin/Makefile > @@ -3,13 +3,12 @@ include ../defines.mk > SUBDIRS = init.d ocf test > > SERVICES = pvestatd pveproxy pvedaemon spiceproxy > -CLITOOLS = vzdump pvesubscription pveceph > +CLITOOLS = vzdump pvesubscription pveceph pveam > > SCRIPTS = \ > ${SERVICES} \ > ${CLITOOLS} \ > pvesh \ > - pveam \ > pvebanner \ > pveversion \ > pvemailforward.pl \ > @@ -25,9 +24,9 @@ CLI_MANS = \ > $(addsuffix .1, ${CLITOOLS}) \ > pveversion.1 \ > pveupgrade.1 \ > - pveperf.1 \ > + pveperf.1 \ > pvesh.1 \ > - pvereport.1 > + pvereport.1 \ > > CLI_PODS = $(addsuffix .pod, ${CLI_MANS}) > > diff --git a/bin/pveam b/bin/pveam > index adf1de6..8b55adf 100755 > --- a/bin/pveam > +++ b/bin/pveam > @@ -1,23 +1,8 @@ > -#!/usr/bin/perl > +#!/usr/bin/perl -T > > use strict; > use warnings; > -use PVE::Cluster; > -use PVE::APLInfo; > > -if (scalar (@ARGV) != 1) { > - print STDERR "usage: $0 CMD\n"; > - exit (-1); > -} > +use PVE::CLI::pveam; > > -my $cmd = shift; > - > -if ($cmd eq 'update') { > - my $dccfg = PVE::Cluster::cfs_read_file('datacenter.cfg'); > - exit (0) if PVE::APLInfo::update($dccfg->{http_proxy}); > - print STDERR "update failed - see /var/log/pveam.log for details\n"; > - exit (-1); > -} else { > - print STDERR "unknown CMD '$cmd'\n"; > - exit (-1); > -} > +PVE::CLI::pveam->run_cli(); > _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel