You are right, regressions like this happen because of lack of resources for proper testing.

Also, it's quite complicated to test all possible configurations.



On Mon, Jun 1, 2015 at 8:17 AM, Zack Perry <zack.perry@sbcglobal.net> wrote:
From my years of using cobbler, I know the ML is a treasure trove. So, after posting my own Q, I searched the ML. Chris Johnson's  Kickstart syntax error post was right there. After reading through it, JMass' pointer:
gave me an idea to try. Indeed, after deleting the #set $gateway       = $idata["gateway"] line

cobbler system getks --name=... worked for all test nodes.  

Sigh... Some kind of CI should be used for this type of things.

Regards,

-- Zack




I have been using a ACER AspireONE D257-13685 netbook running CentOS 6.6 as my portable kickstart server for more than a year successfully.  This is because I work in different datacenters and a highly portable kickstart setup is very desirable.

I have the following in the /etc/yum.repos.d:

[root@kicker yum.repos.d]# ls
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo  epel-testing.repo               mirrors-rpmforge       mirrors-rpmforge-testing
CentOS-Debuginfo.repo  CentOS-Media.repo      epel.repo          home:libertas-ict:cobbler26.repo mirrors-rpmforge-extras  rpmforge.repo

So, whenever there is a new cobbler release, the netbook will have it.  

Earlier today, I did yum update on the netbook.  After that I did a couple test kickstart and soon observed failures.  As usual I did the cobbler system getks --name=... as a first check to see if the kickstart is rendered or not.  Immediately I got:

[root@kicker ~]# cobbler system getks --name=sc2u0n0
# This kickstart had errors that prevented it from being rendered correctly.
# The cobbler.log should have information relating to this failure.
No. The /var/log/cobbler/cobbler.log isn't helpful at all. So, with divide and conquer, by commenting out different sections in the kickstart template, I soon concluded that the pre_install_network_config is the culprit.

I even copied over the latest  pre_install_network_config from the project's github master. Then put it in /var/lib/cobbler/snippets. No go.

Luckily, I have another cobbler server for my office LAN, which retrieves cobbler from epel, so it's still on 2.6.3. Copying over its pre_install_network_config, then cobbler system getks --name all worked again.

I then tried to review the difference between the two, pre_install_network_config.org is the one that came with 2.6.8. But I couldn't see why the one that came with 2.6.8 would fail the Cheetah parser.  

Would appreciate any hints.

-- Zack

[root@kicker snippets]# diff -c pre_install_network_config pre_install_network_config.orig
*** pre_install_network_config 2015-05-31 21:13:18.298305070 -0700
--- pre_install_network_config.orig 2015-05-31 21:13:01.372426891 -0700
***************
*** 30,36 ****
  }
  #end raw
      #set ikeys = $interfaces.keys()
!     #import re
      #set $vlanpattern = $re.compile("[a-zA-Z0-9]+[\.][0-9]+")
      #set $routepattern = $re.compile("[0-9/.]+:[0-9.]+")
      ##
--- 30,36 ----
  }
  #end raw
      #set ikeys = $interfaces.keys()
!     # import re
      #set $vlanpattern = $re.compile("[a-zA-Z0-9]+[\.][0-9]+")
      #set $routepattern = $re.compile("[0-9/.]+:[0-9.]+")
      ##
***************
*** 56,61 ****
--- 56,63 ----
          #set $static        = $idata["static"]
          #set $ip            = $idata["ip_address"]
          #set $netmask       = $idata["netmask"]
+         #set $gateway       = $idata["gateway"]
+         #set $if_gateway    = $idata["if_gateway"]
          #set $iface_type    = $idata["interface_type"]
          #set $iface_master  = $idata["interface_master"]
          #set $static_routes = $idata["static_routes"]
***************
*** 101,108 ****
                      #set $netmask = "255.255.255.0"
                  #end if
                  #set $netinfo = "--bootproto=static --ip=%s --netmask=%s" % ($ip, $netmask)
!                 #if $gateway != ""
!            #set $netinfo = "%s --gateway=%s" % ($netinfo, $gateway)
             #end if
             #if $len($name_servers) > 0
                 #set $netinfo = "%s --nameserver=%s" % ($netinfo, $name_servers[0])
--- 103,116 ----
                      #set $netmask = "255.255.255.0"
                  #end if
                  #set $netinfo = "--bootproto=static --ip=%s --netmask=%s" % ($ip, $netmask)
!                 #if $if_gateway != ""
!                #if $if_gateway == $gateway
!                   #set $netinfo = "%s --gateway=%s" % ($netinfo, $if_gateway)
!                #else
!                   #set $netinfo = "%s --gateway=%s --nodefroute" % ($netinfo, $if_gateway)
!                #end if
!                 #else if $gateway != ""
!                #set $netinfo = "%s --gateway=%s" % ($netinfo, $gateway)
             #end if
             #if $len($name_servers) > 0
                 #set $netinfo = "%s --nameserver=%s" % ($netinfo, $name_servers[0])



_______________________________________________
cobbler mailing list
cobbler@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler



_______________________________________________
cobbler mailing list
cobbler@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler




--
Grtz,
Jörgen Maas