Jeff Schroeder wrote: > On Thu, Jan 29, 2009 at 1:12 PM, Michael DeHaan <[email protected]> wrote: > >> 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. >> > > Ok great! Is there anything else I can do to make this more to your > liking or are you just going to put this in your patch queue? > >
It's in the queue. Based on other things going on and wanting to get 1.4.2 tested and released, I'll probably make a pass through and merge things in to devel Tue/Wed of next week. --Michael >>>> 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. >> > > Noted. > > > _______________________________________________ cobbler mailing list [email protected] https://fedorahosted.org/mailman/listinfo/cobbler
