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

Reply via email to