add dry run option
This commit is contained in:
parent
79d9e9366c
commit
deaef2ab0f
|
@ -30,6 +30,10 @@ def load_args():
|
|||
'-p', '--element-path', nargs='*',
|
||||
help=("element path(s) to search for elements (ELEMENTS_PATH "
|
||||
"environment variable will take precedence if defined)"))
|
||||
parser.add_argument(
|
||||
'-d', '--dry-run', action='store_true',
|
||||
help=("Dry run only, don't actually modify system, prints out "
|
||||
"what would have been run."))
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
|
@ -37,7 +41,7 @@ def main():
|
|||
args = load_args()
|
||||
logging.basicConfig(level=logging.DEBUG,
|
||||
format="%(levelname)s:%(asctime)s:%(name)s:%(message)s")
|
||||
em = manager.ElementManager(args.element, args.element_path)
|
||||
em = manager.ElementManager(args.element, args.element_path, args.dry_run)
|
||||
em.run_hook('install')
|
||||
|
||||
|
||||
|
|
|
@ -24,8 +24,9 @@ from diskimage_builder.elements import expand_dependencies
|
|||
|
||||
class ElementManager(object):
|
||||
|
||||
def __init__(self, elements, element_paths=None):
|
||||
def __init__(self, elements, element_paths=None, dry_run=False):
|
||||
self.elements = elements
|
||||
self.dry_run = dry_run
|
||||
|
||||
if os.environ.has_key('ELEMENTS_PATH'):
|
||||
self.element_paths = os.environ['ELEMENTS_PATH'].split(':')
|
||||
|
@ -71,4 +72,7 @@ class ElementManager(object):
|
|||
scripts = sorted(scripts, key=lambda script: os.path.basename(script))
|
||||
|
||||
for script in scripts:
|
||||
call(['sudo', '-i', '/bin/bash', script])
|
||||
if not self.dry_run:
|
||||
call(['sudo', '-i', '/bin/bash', script])
|
||||
else:
|
||||
logging.info("script to execute: %s" % script)
|
||||
|
|
Loading…
Reference in New Issue