Jeff Schroeder wrote: > On Thu, Jan 29, 2009 at 12:28 PM, Michael DeHaan <[email protected]> wrote: > >> Jeff Schroeder wrote: >> >>> On Thu, Jan 29, 2009 at 11:44 AM, Michael DeHaan <[email protected]> >>> wrote: >>> ...snip... >>> >>> >>>>> +# Loop until the ssh rpm is installed >>>>> +if [ "$keys_found" = "yes" ]; then >>>>> + while : ; do >>>>> + sleep 10 >>>>> + if [ -d /mnt/sysimage/etc/ssh ] ; then >>>>> + cp -f /tmp/ssh/ssh_host* /mnt/sysimage/etc/ssh/ >>>>> + logger "SSH-HOST-KEY copied to newly installed system" >>>>> + break >>>>> + fi >>>>> + done & >>>>> +fi >>>>> +#end >>>>> >>>>> >>>>> >>>> Could the looping be eliminated by doing the top part in %pre and the >>>> later >>>> in %post? >>>> >>>> ex: >>>> >>>> %pre >>>> $SNIPPET('preserve_ssh_host_keys_pre') >>>> >>>> %post >>>> SNIPPET('preserve_ssh_host_keys_post') >>>> >>>> >>> Splitting this up requires "%post nochroot" because /mnt/sysimage >>> isn't available until after %pre. I am of the opinion "%post nochroot" >>> is more hacky than the alternative and chose not to do it this way on >>> purpose. What do you think is better given the options? It also seems >>> overly complicated to require %pre and %post sections when it can all >>> be done in %pre. >>> >>> >> I think looping in Anaconda is kind of scary and wasn't really clear that >> pre could loop infinitely. >> > > I don't think this is a problem. If will only loop if it gets ssh keys > off of the local box, and it is backgrounded. It would be killed after > %post if it was looping forever. > > >> Also folks putting code below the loop might be suprised to see it delays >> things. (In fact, I wasn't clear >> %packages didn't wait for all pre sections to complete? Maybe I'm skimming >> this too fast). >> > > You are most certainly skimming this too fast :-) > The loop is backgrounded (done &) the installation continues. If the > loop wasn't backgrounded the package install would never work. This is > why an infinite loop won't matter. It will die when anaconda sends a > reboot. >
Ah, yeah, just busy -- what you have is then probably completely ok. > >> Waiting until after the packages are installed (%post) seems quite sane, and >> Anaconda does >> support multiple %post sections. We could call the snippet >> preserve_ssh_host_keys_post_nochroot if needed :) >> >> >>> On the other hand I'm all for splitting this up if it is the >>> difference between being included in upstream cobbler or not. >>> >>> >> Yeah let's do this. >> > > *sigh* ok so here is a question. Should the user of this snippet be > required to put a "%post nochroot" line, or should that be included > inside of the post snippet towards the top? > Snippets should never include a section line like "%post" as it makes it unclear when reading the kickstart. Have had some problems with user confusion around that before back when some snippets did that. _______________________________________________ cobbler mailing list [email protected] https://fedorahosted.org/mailman/listinfo/cobbler
