summaryrefslogtreecommitdiffstats
path: root/cobbler/item_system.py
diff options
context:
space:
mode:
Diffstat (limited to 'cobbler/item_system.py')
-rw-r--r--cobbler/item_system.py40
1 files changed, 26 insertions, 14 deletions
diff --git a/cobbler/item_system.py b/cobbler/item_system.py
index 749919a..9fa4504 100644
--- a/cobbler/item_system.py
+++ b/cobbler/item_system.py
@@ -37,8 +37,9 @@ class System(item.Item):
self.netboot_enabled = (1, '<<inherit>>')[is_subobject]
self.depth = 2
self.kickstart = "<<inherit>>" # use value in profile
- self.virt_path = "<<inherit>>" # use value in profile
- self.virt_type = "<<inherit>>" # use value in profile
+ self.virt_path = "<<inherit>>" # ""
+ self.virt_type = "<<inherit>>" # ""
+ self.server = "<<inherit>>" # "" (or settings)
def delete_interface(self,name):
"""
@@ -87,6 +88,7 @@ class System(item.Item):
self.virt_path = self.load_item(seed_data, 'virt_path', '<<inherit>>')
self.virt_type = self.load_item(seed_data, 'virt_type', '<<inherit>>')
self.netboot_enabled = self.load_item(seed_data, 'netboot_enabled', 1)
+ self.server = self.load_item(seed_data, 'server', '<<inherit>>')
# backwards compat, these settings are now part of the interfaces data structure
# and will contain data only in upgrade scenarios.
@@ -152,6 +154,14 @@ class System(item.Item):
return True
+ def set_server(self,server):
+ """
+ If a system can't reach the boot server at the value configured in settings
+ because it doesn't have the same name on it's subnet this is there for an override.
+ """
+ self.server = server
+ return True
+
def get_mac_address(self,interface="intf0"):
"""
Get the mac address, which may be implicit in the object name or explicit with --mac-address.
@@ -332,8 +342,8 @@ class System(item.Item):
'kickstart' : self.kickstart,
'virt_type' : self.virt_type,
'virt_path' : self.virt_path,
- #'dhcp_tag' : self.dhcp_tag,
- 'interfaces' : self.interfaces
+ 'interfaces' : self.interfaces,
+ 'server' : self.server
}
def printable(self):
@@ -346,6 +356,7 @@ class System(item.Item):
buf = buf + _("kickstart : %s\n") % self.kickstart
buf = buf + _("virt type : %s\n") % self.virt_type
buf = buf + _("virt path : %s\n") % self.virt_path
+ buf = buf + _("server : %s\n") % self.server
counter = 0
for (name,x) in self.interfaces.iteritems():
@@ -380,16 +391,17 @@ class System(item.Item):
def remote_methods(self):
return {
- 'name' : self.set_name,
- 'profile' : self.set_profile,
- 'kopts' : self.set_kernel_options,
- 'ksmeta' : self.set_ksmeta,
- 'hostname' : self.set_hostname,
- 'kickstart' : self.set_kickstart,
- 'netboot-enabled' : self.set_netboot_enabled,
- 'virt-path' : self.set_virt_path,
- 'virt-type' : self.set_virt_type,
+ 'name' : self.set_name,
+ 'profile' : self.set_profile,
+ 'kopts' : self.set_kernel_options,
+ 'ksmeta' : self.set_ksmeta,
+ 'hostname' : self.set_hostname,
+ 'kickstart' : self.set_kickstart,
+ 'netboot-enabled' : self.set_netboot_enabled,
+ 'virt-path' : self.set_virt_path,
+ 'virt-type' : self.set_virt_type,
'modify-interface' : self.modify_interface,
- 'delete-interface' : self.delete_interface
+ 'delete-interface' : self.delete_interface,
+ 'server' : self.set_server
}