[PATCH] Better - buildiso network support doesn't work if you use bonding
by Dave Hatton
With thanks going to Jasper Capel - here is a better patch to fix
buildiso networking when using bonding.
Also included is a patch to sort the menu items for systems and profiles
in to order.
Thanks
Dave Hatton
>From 9e817d336a75e57eab0a0462a174ac40424f37e1 Mon Sep 17 00:00:00 2001
From: Dave Hatton <dave(a)starground.it>
Date: Fri, 23 Jan 2009 10:59:48 +0000
Subject: [PATCH] Sort profiles and systems into order on menu
---
cobbler/action_buildiso.py | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/cobbler/action_buildiso.py b/cobbler/action_buildiso.py
index 7fa2c5a..14c51fc 100644
--- a/cobbler/action_buildiso.py
+++ b/cobbler/action_buildiso.py
@@ -164,7 +164,14 @@ class BuildIso:
cfg.write(HEADER) # fixme, use template
print _("- generating profile list...")
- for profile in self.api.profiles():
+
+ #sort the profiles
+ profile_list = [profile for profile in self.profiles]
+ def sort_name(a,b):
+ return cmp(a.name,b.name)
+ profile_list.sort(sort_name)
+
+ for profile in profile_list:
use_this = True
if profiles is not None:
which_profiles = profiles.split(",")
@@ -204,7 +211,13 @@ class BuildIso:
cfg.write("\nMENU SEPARATOR\n")
- for system in self.api.systems():
+ #sort the systems
+ system_list = [system for system in self.systems]
+ def sort_name(a,b):
+ return cmp(a.name,b.name)
+ system_list.sort(sort_name)
+
+ for system in system_list:
use_this = False
if systems is not None:
which_systems = systems.split(",")
--
1.5.5.6
>From 531ed1da6c17acf1d9492edc8f71ad1bdec36950 Mon Sep 17 00:00:00 2001
From: Dave Hatton <dave(a)starground.it>
Date: Fri, 23 Jan 2009 10:36:21 +0000
Subject: [PATCH] Fix network configuration broken by addition of bonding support
---
cobbler/action_buildiso.py | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/cobbler/action_buildiso.py b/cobbler/action_buildiso.py
index a6fa735..7fa2c5a 100644
--- a/cobbler/action_buildiso.py
+++ b/cobbler/action_buildiso.py
@@ -236,12 +236,19 @@ class BuildIso:
# add network info to avoid DHCP only if it is available
- if data.has_key("ip_address_eth0") and data["ip_address_eth0"] != "":
- append_line = append_line + " ip=%s" % data["ip_address_eth0"]
- if data.has_key("subnet_eth0") and data["subnet_eth0"] != "":
- append_line = append_line + " netmask=%s" % data["subnet_eth0"]
- if data.has_key("gateway_eth0") and data["gateway_eth0"] != "":
- append_line = append_line + " gateway=%s\n" % data["gateway_eth0"]
+ if data.has_key("bonding_master_eth0") and data["bonding_master_eth0"] != "":
+ primary_interface = data["bonding_master_eth0"]
+ else:
+ primary_interface = "eth0"
+
+ if data.has_key("ip_address_" + primary_interface) and data["ip_address_" + primary_interface] != "":
+ append_line = append_line + " ip=%s" % data["ip_address_" + primary_interface]
+
+ if data.has_key("subnet_" + primary_interface) and data["subnet_" + primary_interface] != "":
+ append_line = append_line + " netmask=%s" % data["subnet_" + primary_interface]
+
+ if data.has_key("gateway") and data["gateway"] != "":
+ append_line = append_line + " gateway=%s\n" % data["gateway"]
length=len(append_line)
if length > 254:
--
1.5.5.6
15 years, 3 months
[PATCH] fix wti power to work
by Bill Peck
Hello,
Looks like wti power control wasn't added to the map in
action_power.py. attached patch takes care of that.
Any thoughts on having power control automatically introspected (sp?)
based on whats in /etc/cobbler/power? Its quite a bit of work to add a
new power control feature.
>From 62986be5d8eb07378a035c973488a538aeec4b5b Mon Sep 17 00:00:00 2001
From: Bill Peck <bpeck(a)redhat.com>
Date: Wed, 21 Jan 2009 11:32:28 -0500
Subject: [PATCH] allow wti power method to work.
---
cobbler/action_power.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/cobbler/action_power.py b/cobbler/action_power.py
index 8f92cc5..30b9e7b 100644
--- a/cobbler/action_power.py
+++ b/cobbler/action_power.py
@@ -138,6 +138,7 @@ class PowerTool:
"bladecenter": os.path.join(powerdir,"power_bladecenter.template"),
"virsh" : os.path.join(powerdir,"power_virsh.template"),
"integrity" : os.path.join(powerdir,"power_integrity.template"),
+ "wti" : os.path.join(powerdir,"power_wti.template"),
}
result = map.get(self.system.power_type, "")
--
1.6.0.6
15 years, 3 months
[PATCH] remove extraneous def print_exc from utils.py
by Dave Hatton
only to be tidy
Dave Hatton
>From ac4a69cc36958eef6a2c5bf5f854393716fd5c97 Mon Sep 17 00:00:00 2001
From: Dave Hatton <dave(a)starground.it>
Date: Tue, 20 Jan 2009 17:47:07 +0000
Subject: [PATCH] remove extraneous def print_exc
---
cobbler/utils.py | 12 ------------
1 files changed, 0 insertions(+), 12 deletions(-)
diff --git a/cobbler/utils.py b/cobbler/utils.py
index 94543d9..4c6c69b 100644
--- a/cobbler/utils.py
+++ b/cobbler/utils.py
@@ -92,18 +92,6 @@ def log_exc(logger):
logger.info("Exception Info:\n%s" % string.join(traceback.format_list(traceback.extract_tb(tb))))
-def print_exc(exc,full=False):
- (t, v, tb) = sys.exc_info()
- try:
- getattr(exc, "from_cobbler")
- print >> sys.stderr, str(exc)[1:-1]
- except:
- print >> sys.stderr, t
- print >> sys.stderr, v
- if full:
- print >> sys.stderr, string.join(traceback.format_list(traceback.extract_tb(tb)))
- return 1
-
def get_exc(exc,full=True):
(t, v, tb) = sys.exc_info()
buf = ""
--
1.5.5.6
15 years, 3 months
[PATCH] correct name server count in post_install_network_config snippet
by Dave Hatton
a very small patch
Dave Hatton
>From 4f804ae45660793e70ab1b1c2e686b5d135e1481 Mon Sep 17 00:00:00 2001
From: Dave Hatton <dave(a)starground.it>
Date: Tue, 20 Jan 2009 15:54:16 +0000
Subject: [PATCH] Correct name server count to
---
snippets/post_install_network_config | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/snippets/post_install_network_config b/snippets/post_install_network_config
index 0a17bed..a0538bd 100644
--- a/snippets/post_install_network_config
+++ b/snippets/post_install_network_config
@@ -201,8 +201,8 @@ echo "BOOTPROTO=dhcp" >> $devfile
#end if
#set $nct = 0
#for $nameserver in $name_servers
- #set $ct = $nct + 1
-echo "DNS$ct=$nameserver" >> $devfile
+ #set $nct = $nct + 1
+echo "DNS$nct=$nameserver" >> $devfile
#end for
#for $route in $static_routes
#set routepattern = $re.compile("[0-9/.]+:[0-9.]+")
--
1.5.5.6
15 years, 3 months
[PATCH] --template-files fix systems to inherit from profiles when doing a koan --update-files
by Dave Hatton
Hi Michael,
This seems to fix the problem we discussed on IRC
Dave Hatton
>From 1c7099bd08e2b14a69358eda6450571b05b0d12d Mon Sep 17 00:00:00 2001
From: Dave Hatton <dave(a)starground.it>
Date: Tue, 20 Jan 2009 14:19:17 +0000
Subject: [PATCH] Fix template_files so that systems inherit from profiles
---
cobbler/pxegen.py | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/cobbler/pxegen.py b/cobbler/pxegen.py
index b936c18..9aeda31 100644
--- a/cobbler/pxegen.py
+++ b/cobbler/pxegen.py
@@ -860,10 +860,15 @@ class PXEGen:
return results
blended = utils.blender(self.api, False, obj)
+
ksmeta = blended.get("ks_meta",{})
del blended["ks_meta"]
blended.update(ksmeta) # make available at top level
+ templates = blended.get("template_files",{})
+ del blended["template_files"]
+ blended.update(templates) # make available at top level
+
(success, templates) = utils.input_string_or_hash(templates)
if not success:
--
1.5.5.6
15 years, 3 months
Add Integrity as possible power option
by Bill Peck
Hello,
I added this locally a while ago and forgot to submit the patch. It
looks like there may be a few more places that power is defined now. If
you need to me to expand the patch for the other stuff let me know.
>From b7a4056caeb4ae20eee149a2793de7f9d22f9efa Mon Sep 17 00:00:00 2001
From: Bill Peck <bpeck(a)redhat.com>
Date: Tue, 16 Dec 2008 09:45:35 -0500
Subject: [PATCH] Updated power to include fence_integrity as an option
---
cobbler/action_power.py | 1 +
cobbler/item_system.py | 2 +-
cobbler/modules/cli_system.py | 2 +-
setup.py | 1 +
webui_templates/system_edit.tmpl | 2 +-
5 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/cobbler/action_power.py b/cobbler/action_power.py
index e88c732..4a0dd5f 100644
--- a/cobbler/action_power.py
+++ b/cobbler/action_power.py
@@ -137,6 +137,7 @@ class PowerTool:
"lpar" : os.path.join(powerdir,"power_lpar.template"),
"bladecenter": os.path.join(powerdir,"power_bladecenter.template"),
"virsh" : os.path.join(powerdir,"power_virsh.template"),
+ "integrity" : os.path.join(powerdir,"power_integrity.template"),
}
result = map.get(self.system.power_type, "")
diff --git a/cobbler/item_system.py b/cobbler/item_system.py
index 68b409a..677feb0 100644
--- a/cobbler/item_system.py
+++ b/cobbler/item_system.py
@@ -581,7 +581,7 @@ interface.
if power_type is None:
power_type = ""
power_type = power_type.lower()
- valid = "bullpap wti apc_snmp ether-wake ipmilan drac ipmitool ilo rsai lpar bladecenter virsh none"
+ valid = "bullpap wti apc_snmp ether-wake ipmilan drac ipmitool ilo rsai lpar bladecenter virsh integrity none"
choices = valid.split(" ")
choices.sort()
if power_type not in choices:
diff --git a/cobbler/modules/cli_system.py b/cobbler/modules/cli_system.py
index cd75daa..23889ab 100644
--- a/cobbler/modules/cli_system.py
+++ b/cobbler/modules/cli_system.py
@@ -100,7 +100,7 @@ class SystemFunction(commands.CobblerFunction):
if not self.matches_args(args,["dumpvars","remove","report","getks","list"]):
p.add_option("--power-pass", dest="power_pass", help="password for power management interface")
if not self.matches_args(args,["dumpvars","poweron","poweroff","reboot","remove","report","getks","list"]):
- p.add_option("--power-type", dest="power_type", help="one of: none, apc_snmp, bullpap, drac, ether-wake, ilo, ipmilan, ipmitool, wti, lpar, bladecenter, virsh")
+ p.add_option("--power-type", dest="power_type", help="one of: none, apc_snmp, bullpap, drac, ether-wake, ilo, ipmilan, ipmitool, wti, lpar, bladecenter, virsh, integrity")
if not self.matches_args(args,["dumpvars","remove","report","getks","list"]):
p.add_option("--power-user", dest="power_user", help="username for power management interface, if required")
diff --git a/setup.py b/setup.py
index 408c53e..f9bd68f 100644
--- a/setup.py
+++ b/setup.py
@@ -232,6 +232,7 @@ if __name__ == "__main__":
# templates for power management
(powerpath, ['templates/power_apc_snmp.template']),
+ (powerpath, ['templates/power_integrity.template']),
(powerpath, ['templates/power_ipmilan.template']),
(powerpath, ['templates/power_bullpap.template']),
(powerpath, ['templates/power_ipmitool.template']),
diff --git a/webui_templates/system_edit.tmpl b/webui_templates/system_edit.tmpl
index d40435a..d9c45de 100644
--- a/webui_templates/system_edit.tmpl
+++ b/webui_templates/system_edit.tmpl
@@ -690,7 +690,7 @@ function page_onload() {
</td>
<td class="poweredit">
<select name="power_type" id="power_type">
- #set valid_power = [ "bullpap", "wti", "apc_snmp", "ether-wake", "ipmilan", "drac", "ipmitool", "ilo", "rsa", "lpar", "bladecenter", "virsh" ]
+ #set valid_power = [ "bullpap", "wti", "apc_snmp", "ether-wake", "ipmilan", "drac", "ipmitool", "ilo", "rsa", "lpar", "bladecenter", "virsh" ,"integrity"]
#set nothing = valid_power.sort()
#for $value in $valid_power:
--
1.6.0.6
>From d26c06e7dd8b2c2dd0335eebcd48a64bfab98280 Mon Sep 17 00:00:00 2001
From: Bill Peck <bpeck(a)redhat.com>
Date: Tue, 13 Jan 2009 14:55:15 -0500
Subject: [PATCH] Add power_integrity.template
---
templates/power_integity.template | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 templates/power_integity.template
diff --git a/templates/power_integity.template b/templates/power_integity.template
new file mode 100644
index 0000000..46dd885
--- /dev/null
+++ b/templates/power_integity.template
@@ -0,0 +1 @@
+/usr/local/bin/fence_integrity -a $power_address -l $power_user -p $power_pass -o $power_mode
--
1.6.0.6
15 years, 3 months
[PATCH] Add --name-servers-search
by Dave Hatton
Hi
This patch and an option to compliment the --name-servers and allows
you to configure the "search" parameter in /etc/resolv.conf
Dave Hatton
PS I ended up with some spaces at the end of lines - so there is a
second patch to clean those up.
>From 40921a86f5a9997ebe31c443523e326e5fdc7dbe Mon Sep 17 00:00:00 2001
From: Dave Hatton <dave(a)starground.it>
Date: Sat, 24 Jan 2009 14:23:32 +0000
Subject: [PATCH] add --name-servers-search
---
cobbler/item_profile.py | 10 ++++++++++
cobbler/item_system.py | 10 ++++++++++
cobbler/modules/cli_profile.py | 3 +++
cobbler/modules/cli_system.py | 3 +++
cobbler/remote.py | 2 ++
cobbler/settings.py | 1 +
snippets/post_install_network_config | 14 ++++++++++++++
7 files changed, 43 insertions(+), 0 deletions(-)
diff --git a/cobbler/item_profile.py b/cobbler/item_profile.py
index d30eb52..90cf782 100644
--- a/cobbler/item_profile.py
+++ b/cobbler/item_profile.py
@@ -69,6 +69,7 @@ class Profile(item.Item):
self.ctime = 0
self.mtime = 0
self.name_servers = (self.settings.default_name_servers, '<<inherit>>')[is_subobject]
+ self.name_servers_search = (self.settings.default_name_servers_search, '<<inherit>>')[is_subobject]
self.redhat_management_key = "<<inherit>>"
def from_datastruct(self,seed_data):
@@ -95,6 +96,7 @@ class Profile(item.Item):
self.ctime = self.load_item(seed_data,'ctime',0)
self.mtime = self.load_item(seed_data,'mtime',0)
self.name_servers = self.load_item(seed_data,'name_servers',[])
+ self.name_servers_search = self.load_item(seed_data,'name_servers_search',[])
self.redhat_management_key = self.load_item(seed_data,'redhat_management_key', '<<inherit>>')
# backwards compatibility
@@ -184,6 +186,11 @@ class Profile(item.Item):
self.name_servers = data
return True
+ def set_name_servers_search(self,data):
+ data = utils.input_string_or_list(data)
+ self.name_servers_search = data
+ return True
+
def set_enable_menu(self,enable_menu):
"""
Sets whether or not the profile will be listed in the default
@@ -304,6 +311,7 @@ class Profile(item.Item):
'ctime' : self.ctime,
'mtime' : self.mtime,
'name_servers' : self.name_servers,
+ 'name_servers_search' : self.name_servers_search,
'uid' : self.uid,
'random_id' : self.random_id,
'redhat_management_key' : self.redhat_management_key
@@ -328,6 +336,7 @@ class Profile(item.Item):
buf = buf + _("mgmt classes : %s\n") % self.mgmt_classes
buf = buf + _("modified : %s\n") % time.ctime(self.mtime)
buf = buf + _("name servers : %s\n") % self.name_servers
+ buf = buf + _("name servers search : %s\n") % self.name_servers_search
buf = buf + _("owners : %s\n") % self.owners
buf = buf + _("post kernel options : %s\n") % self.kernel_options_post
buf = buf + _("redhat mgmt key : %s\n") % self.redhat_management_key
@@ -379,6 +388,7 @@ class Profile(item.Item):
'mgmt_classes' : self.set_mgmt_classes,
'comment' : self.set_comment,
'name_servers' : self.set_name_servers,
+ 'name_servers_search' : self.set_name_servers_search,
'redhat_management_key' : self.set_redhat_management_key
}
diff --git a/cobbler/item_system.py b/cobbler/item_system.py
index 4939fa0..9ed447b 100644
--- a/cobbler/item_system.py
+++ b/cobbler/item_system.py
@@ -74,6 +74,7 @@ class System(item.Item):
self.hostname = ""
self.gateway = ""
self.name_servers = ""
+ self.name_servers_search = ""
self.bonding = ""
self.bonding_master = ""
self.bonding_opts = ""
@@ -179,6 +180,7 @@ interface.
self.hostname = self.load_item(seed_data, 'hostname', __hostname)
self.name_servers = self.load_item(seed_data, 'name_servers', '<<inherit>>')
+ self.name_servers_search = self.load_item(seed_data, 'name_servers_search', '<<inherit>>')
self.redhat_management_key = self.load_item(seed_data, 'redhat_management_key', '<<inherit>>')
# virt specific
@@ -455,6 +457,11 @@ interface.
self.name_servers = data
return True
+ def set_name_servers_search(self,data):
+ data = utils.input_string_or_list(data)
+ self.name_servers_search = data
+ return True
+
def set_subnet(self,subnet,interface):
intf = self.__get_interface(interface)
intf["subnet"] = subnet
@@ -669,6 +676,7 @@ interface.
'hostname' : self.hostname,
'gateway' : self.gateway,
'name_servers' : self.name_servers,
+ 'name_servers_search' : self.name_servers_search,
'redhat_management_key' : self.redhat_management_key
}
@@ -688,6 +696,7 @@ interface.
buf = buf + _("modified : %s\n") % time.ctime(self.mtime)
buf = buf + _("name servers : %s\n") % self.name_servers
+ buf = buf + _("name servers search : %s\n") % self.name_servers_search
buf = buf + _("netboot enabled? : %s\n") % self.netboot_enabled
buf = buf + _("owners : %s\n") % self.owners
buf = buf + _("server : %s\n") % self.server
@@ -794,6 +803,7 @@ interface.
'hostname' : self.set_hostname,
'gateway' : self.set_gateway,
'name_servers' : self.set_name_servers,
+ 'name_servers_search' : self.set_name_servers_search,
'redhat_management_key' : self.set_redhat_management_key
}
diff --git a/cobbler/modules/cli_profile.py b/cobbler/modules/cli_profile.py
index 1f8a565..50edf5a 100644
--- a/cobbler/modules/cli_profile.py
+++ b/cobbler/modules/cli_profile.py
@@ -72,6 +72,7 @@ class ProfileFunction(commands.CobblerFunction):
if not self.matches_args(args,["dumpvars","remove","report","getks","list"]):
p.add_option("--name-servers", dest="name_servers", help="name servers for static setups")
+ p.add_option("--name-servers-search", dest="name_servers_search", help="name servers search path for static setups")
if "copy" in args or "rename" in args:
p.add_option("--newname", dest="newname")
@@ -158,6 +159,8 @@ class ProfileFunction(commands.CobblerFunction):
obj.set_template_files(self.options.template_files,self.options.inplace)
if self.options.name_servers is not None:
obj.set_name_servers(self.options.name_servers)
+ if self.options.name_servers_search is not None:
+ obj.set_name_servers_search(self.options.name_servers_search)
if self.options.redhat_management_key is not None:
obj.set_redhat_management_key(self.options.redhat_management_key)
diff --git a/cobbler/modules/cli_system.py b/cobbler/modules/cli_system.py
index 0c6499d..9f55bdd 100644
--- a/cobbler/modules/cli_system.py
+++ b/cobbler/modules/cli_system.py
@@ -73,6 +73,7 @@ class SystemFunction(commands.CobblerFunction):
p.add_option("--mac", dest="mac", help="ex: 'AA:BB:CC:DD:EE:FF', (RECOMMENDED)")
p.add_option("--mgmt-classes", dest="mgmt_classes", help="list of config management classes (for Puppet, etc)")
p.add_option("--name-servers", dest="name_servers", help="name servers for static setups")
+ p.add_option("--name-servers-search", dest="name_servers_search", help="name servers search path for static setups")
p.add_option("--redhat-management-key", dest="redhat_management_key", help="authentication token for RHN/Spacewalk/Satellite")
p.add_option("--static-routes", dest="static_routes", help="sets static routes (see manpage)")
p.add_option("--template-files", dest="template_files",help="specify files to be generated from templates during a sync")
@@ -245,6 +246,8 @@ class SystemFunction(commands.CobblerFunction):
obj.set_template_files(self.options.template_files,self.options.inplace)
if self.options.name_servers is not None:
obj.set_name_servers(self.options.name_servers)
+ if self.options.name_servers_search is not None:
+ obj.set_name_servers_search(self.options.name_servers_search)
if self.options.redhat_management_key is not None:
obj.set_redhat_management_key(self.options.redhat_management_key)
diff --git a/cobbler/remote.py b/cobbler/remote.py
index 2221d71..cf803b5 100644
--- a/cobbler/remote.py
+++ b/cobbler/remote.py
@@ -1921,6 +1921,7 @@ def test_xmlrpc_rw():
server.modify_profile(pid, "mgmt-classes", "one two three", token)
server.modify_profile(pid, "comment", "...", token)
server.modify_profile(pid, "name_servers", ["one","two"], token)
+ server.modify_profile(pid, "name_servers_search", ["one","two"], token)
server.modify_profile(pid, "redhat_management_key", "BETA", token)
server.save_profile(pid, token)
@@ -1939,6 +1940,7 @@ def test_xmlrpc_rw():
server.modify_system(sid, 'virt-path', "/opt/images", token)
server.modify_system(sid, 'virt-type', 'qemu', token)
server.modify_system(sid, 'name_servers', 'one two three four', token)
+ server.modify_system(sid, 'name_servers_search', 'one two three four', token)
server.modify_system(sid, 'modify-interface', {
"macaddress-eth0" : "AA:BB:CC:EE:EE:EE",
"ipaddress-eth0" : "192.168.10.50",
diff --git a/cobbler/settings.py b/cobbler/settings.py
index c43987a..6e98680 100644
--- a/cobbler/settings.py
+++ b/cobbler/settings.py
@@ -38,6 +38,7 @@ DEFAULTS = {
"cobbler_master" : '',
"default_kickstart" : "/var/lib/cobbler/kickstarts/default.ks",
"default_name_servers" : '',
+ "default_name_servers_search" : '',
"default_password_crypted" : "\$1\$mF86/UHC\$WvcIcX2t6crBz2onWxyac.",
"default_virt_bridge" : "xenbr0",
"default_virt_type" : "auto",
diff --git a/snippets/post_install_network_config b/snippets/post_install_network_config
index a0538bd..f4cfe0b 100644
--- a/snippets/post_install_network_config
+++ b/snippets/post_install_network_config
@@ -204,6 +204,20 @@ echo "BOOTPROTO=dhcp" >> $devfile
#set $nct = $nct + 1
echo "DNS$nct=$nameserver" >> $devfile
#end for
+ #if $name_servers_search != ""
+sed -i -e "/^search /d" /etc/resolv.conf
+echo -n "search " >>/etc/resolv.conf
+ #for $nameserversearch in $name_servers_search
+echo -n "$nameserversearch " >>/etc/resolv.conf
+ #end for
+echo "" >>/etc/resolv.conf
+ #if $name_servers != ""
+sed -i -e "/^nameserver /d" /etc/resolv.conf
+ #for $nameserver in $name_servers
+echo "nameserver $nameserver " >>/etc/resolv.conf
+ #end for
+ #end if
+ #end if
#for $route in $static_routes
#set routepattern = $re.compile("[0-9/.]+:[0-9.]+")
#if $routepattern.match($route)
--
1.5.5.6
>From 0a976fa388ea11d73b85dbc4417651ba33a7a7ea Mon Sep 17 00:00:00 2001
From: Dave Hatton <dave(a)starground.it>
Date: Sat, 24 Jan 2009 14:48:36 +0000
Subject: [PATCH] add --name-servers-search (blank spaces)
---
cobbler/modules/cli_profile.py | 2 +-
cobbler/modules/cli_system.py | 2 +-
snippets/post_install_network_config | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/cobbler/modules/cli_profile.py b/cobbler/modules/cli_profile.py
index 50edf5a..6ca97c8 100644
--- a/cobbler/modules/cli_profile.py
+++ b/cobbler/modules/cli_profile.py
@@ -157,7 +157,7 @@ class ProfileFunction(commands.CobblerFunction):
obj.set_mgmt_classes(self.options.mgmt_classes)
if self.options.template_files is not None:
obj.set_template_files(self.options.template_files,self.options.inplace)
- if self.options.name_servers is not None:
+ if self.options.name_servers is not None:
obj.set_name_servers(self.options.name_servers)
if self.options.name_servers_search is not None:
obj.set_name_servers_search(self.options.name_servers_search)
diff --git a/cobbler/modules/cli_system.py b/cobbler/modules/cli_system.py
index 9f55bdd..b69e362 100644
--- a/cobbler/modules/cli_system.py
+++ b/cobbler/modules/cli_system.py
@@ -246,7 +246,7 @@ class SystemFunction(commands.CobblerFunction):
obj.set_template_files(self.options.template_files,self.options.inplace)
if self.options.name_servers is not None:
obj.set_name_servers(self.options.name_servers)
- if self.options.name_servers_search is not None:
+ if self.options.name_servers_search is not None:
obj.set_name_servers_search(self.options.name_servers_search)
if self.options.redhat_management_key is not None:
obj.set_redhat_management_key(self.options.redhat_management_key)
diff --git a/snippets/post_install_network_config b/snippets/post_install_network_config
index f4cfe0b..a5525a7 100644
--- a/snippets/post_install_network_config
+++ b/snippets/post_install_network_config
@@ -204,14 +204,14 @@ echo "BOOTPROTO=dhcp" >> $devfile
#set $nct = $nct + 1
echo "DNS$nct=$nameserver" >> $devfile
#end for
- #if $name_servers_search != ""
+ #if $name_servers_search != ""
sed -i -e "/^search /d" /etc/resolv.conf
echo -n "search " >>/etc/resolv.conf
#for $nameserversearch in $name_servers_search
echo -n "$nameserversearch " >>/etc/resolv.conf
#end for
echo "" >>/etc/resolv.conf
- #if $name_servers != ""
+ #if $name_servers != ""
sed -i -e "/^nameserver /d" /etc/resolv.conf
#for $nameserver in $name_servers
echo "nameserver $nameserver " >>/etc/resolv.conf
--
1.5.5.6
15 years, 3 months
using 'nameserver' fields
by Tom Brown
Hi
in 1.4.1 i populate the nameserver fields in the host definition however
these do not make it into resolv.conf ? Am i missing a step somewhere?
the only way i seem to be able to get it to work is by putting it into
the ksmeta ?
any ideas
thanks
15 years, 3 months
Which configuration management should I use ?
by Fabien Dupont
Hi all.
I have installed cobbler to manage my distro/kickstart trees. It works
really well and I would like to go a step further by moving configuration
from kickstart to a configuration management system such as puppet or
cfengine. Taking a look at Spacewalk since it integrates cobbler in version
0.4, I've seen one of its feature is management and deployement of config
files. Unfortunately, it only works with Oracle and I can't install Oracle,
due to infra rules.
Can anyone tell me which configuration management system would integrates
best with cobbler ? Or which one is used with Spacewalk, so I could migrates
easily when it supports PostgreSQL ?
Thanks for you help.
--
Fabien Dupont
System Engineer
15 years, 3 months
Missing dependencies in repo
by Adrian Revill
Hi,
I have had cobbler (1.0.1-2) running reposync from rhn for ages and it
has been great, but recently (since rhel5u3) we have found a problem
where the rpm's are in the getPackage directory, but the check sum is
missing from the cache and clients cant see the packages.
I have tried running reposync at the command line and dont see any
errors, also i have tried deleting the rpms from the getPackage
directory to force it to re-download them. But still no joy.
Can any one give me a hint what is going wrong?
regards
Adrian Revill
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
15 years, 3 months