From 440082d3aa85b8bf3254a23559c8f8c3168946e0 Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Fri, 14 Nov 2008 14:25:42 -0500 Subject: Work on adding power management to the webapp (seems solid now), and also color coded the power management and virt sections to make them stand out. --- cobbler/commands.py | 2 -- cobbler/item_system.py | 19 ++++++++----- cobbler/modules/cli_system.py | 3 +-- cobbler/remote.py | 6 +++++ cobbler/webui/CobblerWeb.py | 2 +- webui_content/cobblerweb.css | 3 +++ webui_templates/profile_edit.tmpl | 24 ++++++++--------- webui_templates/system_edit.tmpl | 57 +++++++++++++++++++++++---------------- 8 files changed, 70 insertions(+), 46 deletions(-) diff --git a/cobbler/commands.py b/cobbler/commands.py index 6b0293e4..d2da685d 100644 --- a/cobbler/commands.py +++ b/cobbler/commands.py @@ -264,8 +264,6 @@ class CobblerFunction: Boilerplate for objects that offer add/edit/delete/remove/copy functionality. """ - print "DEBUG: args = %s" % self.args - if "dumpvars" in self.args: if not self.options.name: raise CX(_("name is required")) diff --git a/cobbler/item_system.py b/cobbler/item_system.py index d23d1df9..14a57ca6 100644 --- a/cobbler/item_system.py +++ b/cobbler/item_system.py @@ -504,8 +504,9 @@ class System(item.Item): def set_power_type(self, power_type): power_type = power_type.lower() - valid = "bullpap wti apc_snmp ether-wake ipmilan drac ipmitool ilo rsa" + valid = "bullpap wti apc_snmp ether-wake ipmilan drac ipmitool ilo rsai none" choices = valid.split(" ") + choices.sort() if power_type not in choices: raise CX("power type must be one of: %s" % ",".join(choices)) self.power_type = power_type @@ -584,6 +585,12 @@ class System(item.Item): buf = buf + _("virt ram : %s\n") % self.virt_ram buf = buf + _("virt type : %s\n") % self.virt_type + buf = buf + _("power type : %s\n") % self.power_type + buf = buf + _("power address : %s\n") % self.power_address + buf = buf + _("power user : %s\n") % self.power_user + buf = buf + _("power password : %s\n") % self.power_pass + buf = buf + _("power id : %s\n") % self.power_id + ikeys = self.interfaces.keys() ikeys.sort() for name in ikeys: @@ -665,11 +672,11 @@ class System(item.Item): 'template-files' : self.set_template_files, 'template_files' : self.set_template_files, 'comment' : self.set_comment, - 'power_type' : self.power_type, - 'power_address' : self.power_address, - 'power_user' : self.power_user, - 'power_pass' : self.power_pass, - 'power_id' : self.power_id + 'power_type' : self.set_power_type, + 'power_address' : self.set_power_address, + 'power_user' : self.set_power_user, + 'power_pass' : self.set_power_pass, + 'power_id' : self.set_power_id } diff --git a/cobbler/modules/cli_system.py b/cobbler/modules/cli_system.py index 92b37aa9..5fe6ec18 100644 --- a/cobbler/modules/cli_system.py +++ b/cobbler/modules/cli_system.py @@ -95,8 +95,7 @@ class SystemFunction(commands.CobblerFunction): p.add_option("--power-address", dest="power_address", help="address of power mgmt device, if required") p.add_option("--power-id", dest="power_id", help="plug-number or blade name, if required") p.add_option("--power-pass", dest="power_pass", help="password for power management interface") - - p.add_option("--power-type", dest="power_type", help="one of: none, bullpap, wti, apc_snmp, ether-wake, ipmilan, drac, ipmitool, ilo") + p.add_option("--power-type", dest="power_type", help="one of: none, apc_snmp, bullpap, drac, ether-wake, ilo, ipmilan, ipmitool, wti") p.add_option("--power-user", dest="power_user", help="username for power management interface, if required") diff --git a/cobbler/remote.py b/cobbler/remote.py index 088ab7f6..6cf27e70 100644 --- a/cobbler/remote.py +++ b/cobbler/remote.py @@ -1660,6 +1660,12 @@ def test_xmlrpc_rw(): server.modify_system(sid, "mgmt-classes", [ "one", "two", "three"], token) server.modify_system(sid, "template-files", {}, token) server.modify_system(sid, "comment", "...", token) + server.modify_system(sid, "power_address", "power.example.org", token) + server.modify_system(sid, "power_type", "ipmitool", token) + server.modify_system(sid, "power_user", "Admin", token) + server.modify_system(sid, "power_pass", "magic", token) + server.modify_system(sid, "power_id", "7", token) + server.save_system(sid,token) api.deserialize() diff --git a/cobbler/webui/CobblerWeb.py b/cobbler/webui/CobblerWeb.py index d2ed973d..f33dd6f3 100644 --- a/cobbler/webui/CobblerWeb.py +++ b/cobbler/webui/CobblerWeb.py @@ -399,7 +399,7 @@ class CobblerWeb(object): if power_id: self.remote.modify_system(system, 'power_id', power_id, self.token) if power_address: - self.remote.modify_sysetm(system, 'power_address', power_address, self.token) + self.remote.modify_system(system, 'power_address', power_address, self.token) interfaces = args.get("interface_list","") interfaces = interfaces.split(",") diff --git a/webui_content/cobblerweb.css b/webui_content/cobblerweb.css index e843db31..f9a46bbd 100644 --- a/webui_content/cobblerweb.css +++ b/webui_content/cobblerweb.css @@ -49,4 +49,7 @@ table.sortable caption { td.nicedit { background-color: #444444; } +td.virtedit { background-color: #000080; } + +td.poweredit { background-color: #8b8878; } diff --git a/webui_templates/profile_edit.tmpl b/webui_templates/profile_edit.tmpl index 10f34085..31866881 100644 --- a/webui_templates/profile_edit.tmpl +++ b/webui_templates/profile_edit.tmpl @@ -240,10 +240,10 @@ function disablename(value) - + - + - + - + - + - + #if $profile and $profile.virt_type == "auto" Any #else @@ -311,10 +311,10 @@ function disablename(value) - + - + - + - + - + - + - + - + - + - + - + - + #if $system and $system.virt_type == "<>" Inherit @@ -583,10 +594,10 @@ function page_onload() { - + - + - + - + - + - + - + - + - + - + - + - +