summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Smetana <tsmetana@redhat.com>2013-09-03 09:00:17 +0200
committerTomas Smetana <tsmetana@redhat.com>2013-09-09 10:17:50 +0200
commit49f626f598c0fe173f48b3bb9094c89747faa9d5 (patch)
treec896721948eec5cfcce0bdc49446cab1bb412ea0
parent3b7510e66379f0beb0838259cebf6e3c58b61f57 (diff)
downloadopenlmi-providers-49f626f598c0fe173f48b3bb9094c89747faa9d5.tar.gz
openlmi-providers-49f626f598c0fe173f48b3bb9094c89747faa9d5.tar.xz
openlmi-providers-49f626f598c0fe173f48b3bb9094c89747faa9d5.zip
registration script: add database listing
-rwxr-xr-xopenlmi-mof-register.py41
1 files changed, 41 insertions, 0 deletions
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)