Javier Palacios wrote:
>>>> Should I understand that x86 is the canonical name for i386?
>>>>         
>> It's the name we are going to use to describe 32 bit systems to avoid
>> the baggage of debating whether "i386" referers
>> to i386 compatible instructions or can include i686, which is pretty
>> much omnipresent now.
>>     
>
> Once solved my misunderstanding, I submit the patch again, with the
> right architecture mapping. This time I've preferred not to touch anything
> not directly related to import, and I've enlarged the patch a little bit. Now
> it performs a complete import, including a minimal sample.seed file.
> It still does not write right append options for pxe in order to actually
> find the location of the preseed file.
>
> Javier Palacios
> ------------------------------------------------------------------------
>
> _______________________________________________
> cobbler mailing list
> [email protected]
> https://fedorahosted.org/mailman/listinfo/cobbler

Ok, reviewing this again, there are a few problems.  Needless to say I'm 
highly interested in this feature, though I can't accept it if it causes 
problems for the existing support of some of the ways trees are handled 
today.   Import has been a problem in the past and testing it takes a 
lot of time, so this is why import changes need to be minimal and/or 
kept to other modules/commands.  

Looking at it again, the archmap stuff should really not be in there.  
Basically what we need here is the bare minimum patch to add "cobbler 
import" ability to scan Debian, without changing or cleaning up any of 
the existing stuff.   

For reference, here's one of the import use cases that I found broken:

(A)   Imported distros now have the "x86" suffix instead of i386, even 
though the arch is still correctly set to i386.   For consistency they 
should be left as "i386" as they are in the trees themselves when the 
import is performed.

(B)   When attempting to correct this (removing the archmap code), the 
following command now fails to work:

 make devinstall && make eraseconfig && cobbler import --name=RHEL3U3 
--mirror=/mnt/engarchive2/released/RHEL-3/U3/AS/ --available-as=http://foo

(eraseconfig is a new target that just creates a clean cobbler install)

The above import takes a tree containing:

[EMAIL PROTECTED] cobbler]# ls /mnt/engarchive2/released/RHEL-3/U3/AS/
i386  ia64  ppc  s390  s390x  x86_64

And imports all of the distributions, creating objects for each.  For 
instance, it will find the appropriate tree distros:

[EMAIL PROTECTED] cobbler]# ls 
/mnt/engarchive2/released/RHEL-3/U3/AS/i386/tree
autorun                RELEASE-NOTES-es.html        RELEASE-NOTES-U2-it.html
dosutils               RELEASE-NOTES-fr.html        RELEASE-NOTES-U2-ja.html
EULA                   RELEASE-NOTES-it.html        RELEASE-NOTES-U2-ko.html
GPL                    RELEASE-NOTES-ja.html        
RELEASE-NOTES-U2-pt_BR.html
images                 RELEASE-NOTES-ko.html        
RELEASE-NOTES-U2-zh_CN.html
isolinux               RELEASE-NOTES-pt_BR.html     
RELEASE-NOTES-U2-zh_TW.html
README-Accessibility   RELEASE-NOTES-U1-de.html     RELEASE-NOTES-U3-de.html
README-de.html         RELEASE-NOTES-U1-en          RELEASE-NOTES-U3-en
README-en              RELEASE-NOTES-U1-en.html     RELEASE-NOTES-U3-en.html
README-en.html         RELEASE-NOTES-U1-es.html     RELEASE-NOTES-U3-es.html
README-es.html         RELEASE-NOTES-U1-fr.html     RELEASE-NOTES-U3-fr.html
README-fr.html         RELEASE-NOTES-U1-it.html     RELEASE-NOTES-U3-it.html
README-it.html         RELEASE-NOTES-U1-ja.html     RELEASE-NOTES-U3-ja.html
README-ja.html         RELEASE-NOTES-U1-ko.html     RELEASE-NOTES-U3-ko.html
README-ko.html         RELEASE-NOTES-U1-pt_BR.html  
RELEASE-NOTES-U3-pt_BR.html
README-pt_BR.html      RELEASE-NOTES-U1-zh_CN.html  
RELEASE-NOTES-U3-zh_CN.html
README-zh_CN.html      RELEASE-NOTES-U1-zh_TW.html  
RELEASE-NOTES-U3-zh_TW.html
README-zh_TW.html      RELEASE-NOTES-U2-de.html     RELEASE-NOTES-zh_CN.html
RedHat                 RELEASE-NOTES-U2-en          RELEASE-NOTES-zh_TW.html
RELEASE-NOTES-de.html  RELEASE-NOTES-U2-en.html     RPM-GPG-KEY
RELEASE-NOTES-en       RELEASE-NOTES-U2-es.html     RPM-GPG-KEY-beta
RELEASE-NOTES-en.html  RELEASE-NOTES-U2-fr.html     SRPMS

Since not all arches are supported this should create...

i386  ia64  s390x  x86_64

The new archwalker in this patch seems to not identify an arch for "ls 
/mnt/engarchive2/released/RHEL-3/U3/" which means it stopped too early, 
which is why I am suggesting that Debian support be added without trying 
to refactor/cleanup the code -- basically we just need to keep it 
simple.   Try to get the bare minimum to add the import in there, so 
that the other import cases (including older RHEL) still work and resist 
the urge to refactor things as they may not work as expected once changed.

I don't really care if the import code is ugly or not -- it's going to 
be ugly regardless -- the main thing is that it works (this is glue code 
after all) and the various use cases for older distros and importing 
multiple distributions at the same time (say the distro trees all live 
on NFS on a filer somewhere) continue to work.

Again, I'm really really happy to see the interest in getting "cobbler 
import" to work on Debian, I just need to make sure that these changes 
are right for the existing Cobbler userbase as well so things keep 
working for the other distros. 

Thanks!

--Michael



_______________________________________________
cobbler mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/cobbler

Reply via email to