summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Zullinger <tmz@pobox.com>2008-11-25 21:37:59 -0500
committerTodd Zullinger <tmz@pobox.com>2008-11-25 21:37:59 -0500
commitd055cb2475b48a0f6bf903faaa2b964e807867f0 (patch)
tree18cc976fb8e202831e1a2a42e18a7d021d37adbc
parentc8cc419f5f9a51f3bafe7353e76d157aeabe9b93 (diff)
downloadpuppet-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-xpuppethost.py22
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: