Index: spye-metaconfig/spye-metaconfig/plugins/metaconfig/server/planner.py =================================================================== --- spye-metaconfig/spye-metaconfig/plugins/metaconfig/server/planner.py (revision 1971) +++ spye-metaconfig/spye-metaconfig/plugins/metaconfig/server/planner.py (working copy) @@ -10,11 +10,11 @@ container.ramfree -= vhost.ram def show_container(self, c): - width = 40 + width = 20 frac = width - float(c.ramfree) / float(c.ram) * width print """%s: CPUs: %s x %s - RAM: [%s%s] %s / %s""" % (c.name, c.cpu, c.arch, int(frac)*'#', int(width-frac)*'_', c.ramfree, c.ram) + RAM: [%s%s] %s MB/%s MB free""" % (c.name, c.cpu, c.arch, int(frac)*'#', int(width-frac)*'_', c.ramfree, c.ram) print """ Domains: """ for n in c.nodes: print " %s" % n @@ -83,10 +83,10 @@ for name, res_memory, res_cpus, res_arch, run_state in self.fetch_containers(): containers[name] = Container(name, res_memory, res_cpus, res_arch) # FIXME: Hard coded containers - containers['zeus.sikkerhed.org'].ram = 10240 - containers['zeus.sikkerhed.org'].ramfree = 10240 - containers['hera.sikkerhed.org'].ram = 10240 - containers['hera.sikkerhed.org'].ramfree = 10240 + #containers['zeus.sikkerhed.org'].ram = 10240 + #containers['zeus.sikkerhed.org'].ramfree = 10240 + #containers['hera.sikkerhed.org'].ram = 10240 + #containers['hera.sikkerhed.org'].ramfree = 10240 self.print_debug("Available containers: %s", containers) # enumerate allocated hosts @@ -109,19 +109,18 @@ nodes = allocated_nodes + pending_nodes #self.show_cluster(nodes, containers) self.ffd(pending_nodes, containers) - #self.show_cluster(nodes, containers) + self.show_cluster(nodes, containers) self.allocate_nodes(nodes) def allocate_nodes(self, nodes): """In a transaction, set allocation_pending=false, parent=node.container.name for all allocated hosts.""" - db = self.db_connect() - # FIXME: Begin transaction + #db = self.db_connect(unique=True) for n in nodes: if n.container: - #res = db.query("UPDATE resourcenode SET parent = %s, allocation_pending = false WHERE node = %s", n.name, n.container.name) - self.print_note("UPDATE resourcenode SET parent = %s, allocation_pending = false WHERE node = %s", n.name, n.container.name) - # FIXME: Commit - return + #db.execute("UPDATE resourcenode SET parent = %s, allocation_pending = false WHERE node = %s", n.container.name, n.name) + self.print_note("UPDATE resourcenode SET parent = %s, allocation_pending = false WHERE node = %s", n.container.name, n.name) + return + return db.commit() class Host: @@ -132,7 +131,7 @@ self.arch = arch def __str__(self): - return "" + return "" def __repr__(self): return str(self) Index: spye-metaconfig/spye-metaconfig/plugins/metaconfig/server/config.py =================================================================== --- spye-metaconfig/spye-metaconfig/plugins/metaconfig/server/config.py (revision 1971) +++ spye-metaconfig/spye-metaconfig/plugins/metaconfig/server/config.py (working copy) @@ -15,8 +15,11 @@ password = data["%s_password" % prefix]) def meta_status(self, node, operations): + print node db = self.db_connect() + print node bootstrap = operations == None + print node if not bootstrap: data = pickle.dumps(operations, 0) last = db.fetch_dict("SELECT * FROM configlog WHERE node = %s ORDER BY date_end DESC LIMIT 1", node) @@ -26,7 +29,11 @@ db.execute_and_commit("INSERT INTO configlog (node, diff, date_end) VALUES (%s, %s, now())", node, data) fields = ", ".join("%s_%s" % (p, s) for p in ("components", "profiles", "nodes") for s in ("url", "rev", "username", "password")) + print node + print "SELECT %s, update_pending FROM confignode WHERE node = %%s" % fields + node = db.fetch_dict("SELECT %s, update_pending FROM confignode WHERE node = %%s" % fields, node) + print node if not node: self.print_error("Recieved status update from unknown node [%s]", node) else: