From 333873383b93ab74c24f7c777b46469e0ecbce2c Mon Sep 17 00:00:00 2001 From: Franziska Kunsmann Date: Sat, 8 Mar 2025 09:26:13 +0100 Subject: [PATCH] scripts/passwords_for: various improvements --- scripts/passwords-for | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/scripts/passwords-for b/scripts/passwords-for index 136ba99..d019e74 100755 --- a/scripts/passwords-for +++ b/scripts/passwords-for @@ -1,5 +1,7 @@ #!/usr/bin/env python3 + from os import environ +from os.path import abspath, dirname from sys import argv from bundlewrap.exceptions import FaultUnavailable @@ -7,13 +9,13 @@ from bundlewrap.metagen import NodeMetadataProxy from bundlewrap.repo import Repository from bundlewrap.utils import Fault -path = environ.get('BW_REPO_PATH', '.') -repo = Repository(path) +repo = Repository( + dirname(dirname(abspath(__file__))) +) def print_faults(dictionary, keypath=[]): for key, value in sorted(dictionary.items()): key = str(key) - if isinstance(value, Fault): try: resolved_fault = value.value @@ -27,12 +29,22 @@ def print_faults(dictionary, keypath=[]): elif isinstance(value, (dict, NodeMetadataProxy)): print_faults(value, keypath=keypath+[key]) + if len(argv) == 1: print('node name missing') exit(1) node = repo.get_node(argv[1]) +if node.username or node.password: + print_faults({ + 'username': node.username, + 'password': node.password, + }) +#if node.ipmi_username or node.ipmi_password: +# print_faults({ +# 'ipmi_username': node.ipmi_username, +# 'ipmi_password': node.ipmi_password, +# }) print_faults({ - 'password': node.password, 'metadata': node.metadata, })