[et-mgmt-tools] Patches for cobbler and koan (for cobbler 0.9x)

Michael DeHaan mdehaan at redhat.com
Mon Apr 21 14:57:34 UTC 2008


Pablo Iranzo Gómez wrote:
> 	Hi
> 	I've seen that Koan puts kickstart inside the initrd.img and
> references it as file:ks.cfg, but I don't know the reason for this.
>   

The reason for this is that when Anaconda restarts the NICs for the 
first time after
BIOS, there is a rather short DHCP timeout, and depending on network 
issues (such
as portfast config), the system may not consistantly achieve DHCP before 
timeout. 
This workaround allows for --replace-self to /always/ work because 
network connectivity
is not needed to retrieve the kickstart.

See http://fedoraproject.org/wiki/Anaconda/NetworkIssues


> 	In order to enable auto-registration (based on
> pxelinux.cfg/defaults entries), the ks should we changed by this diff on
> koan/app.py:
>   
It is true that this will bypass auto-registration, but this will only 
affect reinstalls, which do not update the regisration information 
anyway.  My main concern for auto-registration is initial machine 
provisioning and new virt machines, so I suspect this is not a huge 
limitation.

We could /possibly/ add a helper flag for --replace-self called 
"--embed-kickstart" and make the default to not do that, though as many 
times as it comes up, I believe the kickstart embedding is useful.

Now, folks might ask "why not just do registration via a wget" in %pre, 
but that's apparently not valid because mac address information is not 
passed along in %pre scripts -- and we do want that data.


>
> --------------------------------------------------------------------
>
> @@ -782,7 +779,7 @@ class Koan:
>              if not os.path.exists("/sbin/grubby"):
>                  raise InfoException, "grubby is not installed"
>              k_args =
> self.safe_load(profile_data,'kernel_options',default='')
> -            k_args = k_args + " ks=file:ks.cfg"
> +            k_args = k_args + " ks=" + profile_data["kickstart"]
>
>              kickstart = self.safe_load(profile_data,'kickstart')
>
> --------------------------------------------------------------------
>
> 	So the ks= would be constructed with the cobbler-provided ks
>
> 	Regards
> 	Pablo
>
>
>
>
>
>   




More information about the et-mgmt-tools mailing list