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
cobbler(a)lists.fedorahosted.org
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:
[root@localhost 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:
[root@localhost 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