[et-mgmt-tools] passing list/dictionary in ksmeta

Michael DeHaan mdehaan at redhat.com
Thu Jul 19 16:19:11 UTC 2007


Hennessey Daniel wrote:
> Hey people,
>  
> I am trying to use the ksmeta="" construct to pass a list of 
> dictionaries through to the kickstart file where I am using a cheetah 
> "#for $var in $vars" loop to unravel them.
>  
> Is this possible?

Achieving that result is possible, though as you've entered it, the 
variable will just be a string, not a data structure.    --ksmeta in the 
command line allows for "key=value key=value" ... key/value pairs 
seperated by spaces.   Those values aren't evaluated to be Python data 
structures.

I have not really used Cheetah for ultra-advanced templating usage, 
though it does allow executing arbitrary python code, so in theory,
you could pass in arbitrary strings and work on them in Python, 
including evaling them to create real data structures.   Whether this works
as advertised I don't know... though I could definitely use some more 
advanced templating examples for the Wiki.

I'd be inclined to take a simpler approach though, and pass in simple 
variables like --ksmeta="eth0=dhcp eth1=dhcp", and then check
for the values of those expressions, possibly in conjunction with "#if" 
templating

#if defined $eth0   # syntax for this is probably wrong :) 
                             
    some line containing value for $eth0
#end 

etc

>  
> TIA
>  
> Dan
>  
>  
> PS this is what I am trying to do;
>  
> cobbler profile edit --name=RHEL44-ORACLE10G-i386 --ksmeta="nics=[{ 
> 'dev': 'eth0', 'bootproto': 'dhcp'},{ 'dev': 'eth1', 'bootproto': 
> 'dhcp'}]"
>  
> and the kickstart file has the following snippet in it;
>  
> #for $nic in $nics
> $nic_string = "network"
> #for $key, $value in $nic.items()
> $nic_string = $nic_string + " --%s %s" % ( $key, $value )
> #end for
> #end for
>
> ************************************************************************
>
> DISCLAIMER
>
> The information contained in this e-mail is confidential and is intended
>
> for the recipient only.
>
> If you have received it in error, please notify us immediately by reply
>
> e-mail and then delete it from your system. Please do not copy it or
>
> use it for any other purposes, or disclose the content of the e-mail
>
> to any other person or store or copy the information in any medium.
>
> The views contained in this e-mail are those of the author and not
>
> necessarily those of Admenta UK Group.
>
> Admenta UK plc is a company incorporated in England and Wales
>
> under company number 3011757 and whose registered office
>
> is at Sapphire Court, Walsgrave Triangle, Coventry CV2 2TX
>
> ************************************************************************
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> et-mgmt-tools mailing list
> et-mgmt-tools at redhat.com
> https://www.redhat.com/mailman/listinfo/et-mgmt-tools




More information about the et-mgmt-tools mailing list