summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xv-i27
1 files changed, 25 insertions, 2 deletions
diff --git a/v-i b/v-i
index d4f9efd..0b25fec 100755
--- a/v-i
+++ b/v-i
@@ -20,6 +20,12 @@ def log(msg):
logging.info(msg)
+def error(msg):
+ if verbose:
+ print("INSTALLER ERROR:", msg)
+ logging.error(msg)
+
+
def run(argv, **kwargs):
log(f"RUN: {argv} {kwargs}")
return subprocess.run(argv, **kwargs)
@@ -415,9 +421,23 @@ class SystemSpec:
setattr(self, key, self._obj[key])
del self._obj
+ self._check()
+
def __repr__(self):
- r = {key: getattr(self, key) for key in dir(self) if not key.startswith("_")}
- return repr(r)
+ return repr(
+ {key: getattr(self, key) for key in dir(self) if not key.startswith("_")}
+ )
+
+ def _check(self):
+ try:
+ for filename in self.extra_playbooks + self.ansible_vars_files:
+ if not os.path.exists(filename):
+ raise Exception(
+ f"spec refers to file {filename} which does not exist"
+ )
+ except Exception as e:
+ error(e)
+ sys.exit("problem with spec file")
def main():
@@ -443,6 +463,9 @@ def main():
system = SystemSpec(args.spec)
log(f"spec: {system!r}")
+ print("OK")
+ return
+
ansible_vars = dict(system.ansible_vars)
ansible_vars["hostname"] = system.hostname
for filename in system.ansible_vars_files: