From 49f626f598c0fe173f48b3bb9094c89747faa9d5 Mon Sep 17 00:00:00 2001 From: Tomas Smetana Date: Tue, 3 Sep 2013 09:00:17 +0200 Subject: registration script: add database listing --- openlmi-mof-register.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/openlmi-mof-register.py b/openlmi-mof-register.py index a397448..bac1e23 100755 --- a/openlmi-mof-register.py +++ b/openlmi-mof-register.py @@ -65,6 +65,7 @@ Usage: %(progname)s [ --just-mofs ] [ -n namespace ] [ -c cimom ] [-v version] %(progname)s reregister [ -c cimom ] + %(progname)s list Registration/unregistreation: @@ -89,6 +90,9 @@ Usage: %(progname)s [ --just-mofs ] [ -n namespace ] [ -c cimom ] [-v version] Re-does all the known registrations for all the found or the specified CIMOM. + + The list command allows for listing the known registrations and their + parameters. """ % { 'progname': sys.argv[0], 'default_ns': DEFAULT_NAMESPACE } def log_msg(msg): @@ -398,6 +402,37 @@ def reregister(cimom): cimom_register(mofs, reg, version, namespace, cimom_sel) db_close(db) +def list_db(): + db = db_init() + dbc_1 = db.cursor() + dbc_2 = db.cursor() + reg_count = 1 + print "" + for reg_row in dbc_1.execute("SELECT id, ctime FROM registration ORDER BY ctime"): + reg_id = str(reg_row[0]) + ctime = str(reg_row[1]) + print "Registration %(num)s (%(date)s)" % { 'num': reg_count, 'date': ctime } + cur = dbc_2.execute("SELECT group_concat(fname) FROM mof \ + WHERE (registration_id = ?) ORDER BY fname", reg_id) + row = cur.fetchone() + mofs_str = str(row[0]) + print "MOF files: " + mofs_str + cur = dbc_2.execute("SELECT fname FROM reg WHERE (registration_id = ?)", reg_id) + row = cur.fetchone() + if row: + reg_str = str(row[0]) + print "REG file: " + reg_str + else: + print "No REG file." + print "CIMOM specific options" + for row in dbc_2.execute("SELECT cimom, namespace, version FROM cimom_opts \ + WHERE (registration_id = ?) ORDER BY cimom", reg_id): + print "%(cimom)s: Namespace %(ns)s, Registered version %(ver)s" \ + % {'cimom': row[0], 'ns': row[1], 'ver': row[2] } + reg_count += 1 + print "" + db_close(db) + def main(): try: opts, args = getopt.gnu_getopt(sys.argv[1:], "hn:c:v:", ["just-mofs", "help"]) @@ -446,6 +481,10 @@ def main(): if len(args) > 2: usage() sys.exit(1) + elif cmd == "list": + if len(args) > 2: + usage() + sys.exit(1) else: sys.stderr.write("Unknown command: %s\n" % cmd) usage() @@ -491,6 +530,8 @@ def main(): db_unregister(mofs, reg, version, namespace, db_sel) elif cmd == "reregister": reregister(cimom_sel) + elif cmd == "list": + list_db() else: usage() sys.exit(1) -- cgit