diff options
author | Todd Zullinger <tmz@pobox.com> | 2008-11-25 21:37:59 -0500 |
---|---|---|
committer | Todd Zullinger <tmz@pobox.com> | 2008-11-25 21:37:59 -0500 |
commit | d055cb2475b48a0f6bf903faaa2b964e807867f0 (patch) | |
tree | 18cc976fb8e202831e1a2a42e18a7d021d37adbc | |
parent | c8cc419f5f9a51f3bafe7353e76d157aeabe9b93 (diff) | |
download | puppet-host-package-d055cb2475b48a0f6bf903faaa2b964e807867f0.tar.gz puppet-host-package-d055cb2475b48a0f6bf903faaa2b964e807867f0.tar.xz puppet-host-package-d055cb2475b48a0f6bf903faaa2b964e807867f0.zip |
Add a --verbose (-v) option
This makes using the script directly a bit nicer.
-rwxr-xr-x | puppethost.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/puppethost.py b/puppethost.py index 25f16cf..7b1a7f7 100755 --- a/puppethost.py +++ b/puppethost.py @@ -23,6 +23,7 @@ defaults = { 'rpmdir': os.path.abspath(os.curdir), 'ssldir': ssldir, 'template': '%(ssldir)s/template.spec', + 'verbose': 1, } del ssldir @@ -63,6 +64,10 @@ class PuppetHost(object): ssldir = self.opts['ssldir'] if os.path.exists(cert) and not self.opts['force_cert']: raise PuppetHostError('%s exists, not overwriting' % cert) + + if self.opts['verbose']: + print 'Generating %s' % cert + cmd = 'puppetca --generate --ssldir %s %s' % (ssldir, self.hostname) status, output = commands.getstatusoutput(cmd) if status: @@ -95,6 +100,9 @@ class PuppetHost(object): if os.path.exists(tarball) and not self.opts['force_tarball']: raise PuppetHostError('%s exists, not overwriting' % tarball) + if self.opts['verbose']: + print 'Creating tarball...', + tar = tarfile.open(tarball, 'w:gz') tar.dereference = True for f in sorted(self.files.values()): @@ -103,6 +111,9 @@ class PuppetHost(object): tar.close() self.tarfile = tarball + if self.opts['verbose']: + print tarball + def rpm(self): """Create a .rpm package""" rpmdir = self.opts['rpmdir'] @@ -138,6 +149,9 @@ class PuppetHost(object): self._cleanup(tmpdir) raise PuppetHostError('%s exists, not overwriting' % rpm) + if self.opts['verbose']: + print 'Creating rpm...', + rpmbuild = 'rpmbuild -bb' rpmbuild += ' --define "_build_name_fmt %s"' % build_name_fmt for i in ['_builddir', '_sourcedir', '_specdir', '_srcrpmdir']: @@ -149,6 +163,9 @@ class PuppetHost(object): self._cleanup(tmpdir) raise PuppetHostError('Error building rpm:\n', output) + if self.opts['verbose']: + print rpm + self._cleanup(tmpdir) self.rpmfile = rpm @@ -231,6 +248,8 @@ def _main(): help='Directory where ssl certs are packaged') parser.add_option('-t', '--template', dest='template', metavar='file', help='RPM spec file template [%default]') + parser.add_option('-v', '--verbose', dest='verbose', action='count', + help='Be verbose (may be used more than once)') opts, args = parser.parse_args() if opts.force: @@ -264,6 +283,9 @@ def _main(): raise SystemExit('Template file (%s) does not exist' % opts.template) for hostname in args: + if opts.verbose: + print '\nCreating a host package for %s' % hostname + host = PuppetHost(hostname, opts.__dict__) if not os.path.exists(host.files['cert']) or opts.force_cert: |