summaryrefslogtreecommitdiffstats
path: root/cobbler/item_system.py
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2007-11-01 17:48:21 -0400
committerMichael DeHaan <mdehaan@redhat.com>2007-11-01 17:48:21 -0400
commit95e5a65993da2d0b008222501c6a132bb8a3daa2 (patch)
treedc8d4780172d65da070fb8322df2070169a0d28a /cobbler/item_system.py
parent6630f94eb1c6122f761a87b0fcd879423cf3e624 (diff)
downloadthird_party-cobbler-95e5a65993da2d0b008222501c6a132bb8a3daa2.tar.gz
third_party-cobbler-95e5a65993da2d0b008222501c6a132bb8a3daa2.tar.xz
third_party-cobbler-95e5a65993da2d0b008222501c6a132bb8a3daa2.zip
Added a --server-override parameter, which will be used to specify a different server
address for when the server may need to provision boxen on different subnets that therefore need different source URLs and so on. This means cobbler will now be able to represent more than one server address for the same cobbler machine. WUI parts and backend changes to utilize this TBA shortly.
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
}