On 04/23/2011 07:27 AM, Alexander Todorov wrote:
На 21.04.2011 16:49, Bill Peck написа:
> Thats not quite true. we compare kerneldir to dirname(tree_path)
>
> .../rhel-server-5.6-x86_64 != .../
>
> What is under .../rhel-server-5.6-x86_64? Can you give me a
> directory listing?
>
Hi Bill,
I haven't tested you patch yet since I believe there is first a
problem with the get_paths() function. Here is more data.
rhel-server-5.6-x86_64 is where the DVD contents live:
# pwd
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
# ls
Cluster README-es.html README-pt_BR.html
RELEASE-NOTES-es.html RELEASE-NOTES-pt_BR.html
RELEASE-NOTES-U6-gu.html RELEASE-NOTES-U6-si.html
ClusterStorage README-fr.html README-ru.html
RELEASE-NOTES-fr.html RELEASE-NOTES-ru.html
RELEASE-NOTES-U6-hi.html RELEASE-NOTES-U6-ta.html
EULA README-gu.html README-si.html
RELEASE-NOTES-gu.html RELEASE-NOTES-si.html
RELEASE-NOTES-U6-it.html RELEASE-NOTES-U6-te.html
eula.en_US README-hi.html README-ta.html
RELEASE-NOTES-hi.html RELEASE-NOTES-ta.html
RELEASE-NOTES-U6-ja.html RELEASE-NOTES-U6-zh_CN.html
GPL README-it.html README-te.html
RELEASE-NOTES-it.html RELEASE-NOTES-te.html
RELEASE-NOTES-U6-kn.html RELEASE-NOTES-U6-zh_TW.html
images README-ja.html README-zh_CN.html
RELEASE-NOTES-ja.html RELEASE-NOTES-U6-as.html
RELEASE-NOTES-U6-ko.html RELEASE-NOTES-zh_CN.html
isolinux README-kn.html README-zh_TW.html
RELEASE-NOTES-kn.html RELEASE-NOTES-U6-bn.html
RELEASE-NOTES-U6-ml.html RELEASE-NOTES-zh_TW.html
README-as.html README-ko.html RELEASE-NOTES-as.html
RELEASE-NOTES-ko.html RELEASE-NOTES-U6-de.html
RELEASE-NOTES-U6-mr.html RPM-GPG-KEY-redhat-beta
README-bn.html README-ml.html RELEASE-NOTES-bn.html
RELEASE-NOTES-ml.html RELEASE-NOTES-U6-en
RELEASE-NOTES-U6-or.html RPM-GPG-KEY-redhat-release
README-de.html README-mr.html RELEASE-NOTES-de.html
RELEASE-NOTES-mr.html RELEASE-NOTES-U6-en.html
RELEASE-NOTES-U6-pa.html Server
README-en README-or.html RELEASE-NOTES-en
RELEASE-NOTES-or.html RELEASE-NOTES-U6-es.html
RELEASE-NOTES-U6-pt_BR.html TRANS.TBL
README-en.html README-pa.html RELEASE-NOTES-en.html
RELEASE-NOTES-pa.html RELEASE-NOTES-U6-fr.html
RELEASE-NOTES-U6-ru.html VT
I started from scratch with clean environment and I did:
# cobbler import
--path=/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
--name=RHEL5-Server-U6_nfs-x86_64
--available-as=nfs://repo.example.com:/var/www/html/install/rhel-server-5.6-x86_64/
I think the script gets things wrong if you have a trailing / like you
do above. I bet if you were to use the following import command it
would work. Obviously it should work either way. I'll see what can be
done to make that more robust.
# cobbler import
--path=/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
--name=RHEL5-Server-U6_nfs-x86_64
--available-as=nfs://repo.example.com:/var/www/html/install/rhel-server-5.6-x86_64
Notice I removed the trailing slashes..
task started: 2011-04-23_141012_import
task started (id=Media import, time=Sat Apr 23 14:10:12 2011)
adding distros
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/pxeboot
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64 for
distro signature
found content (breed=redhat) at /n
creating new distro: RHEL5-Server-U6_nfs-x86_64
creating new profile: RHEL5-Server-U6_nfs-x86_64
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/xen
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64 for
distro signature
found content (breed=redhat) at /n
creating new distro: RHEL5-Server-U6_nfs-xen-x86_64
creating new profile: RHEL5-Server-U6_nfs-xen-x86_64
associating kickstarts
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/xen
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64 for
distro signature
found content (breed=redhat) at /n
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/pxeboot
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
for distro signature
scanning
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64 for
distro signature
found content (breed=redhat) at /n
*** TASK COMPLETE ***
Then I slightly modified osversion.trigger to print more debug
information. Here's what I changed:
--- osversion.trigger.orig 2011-04-23 14:05:01.000000000 +0300
+++ osversion.trigger 2011-04-23 14:07:16.000000000 +0300
@@ -77,6 +77,7 @@
path = path[path.find('/'):]
found = None
+ print "DEBUG 1: tree_path=", tree_path, "dirname(tree_path)=",
os.path.dirname(tree_path), 'kerneldir=', kerneldir
while kerneldir != os.path.dirname(tree_path):
for x in signatures:
d = os.path.join( kerneldir, x)
@@ -86,6 +87,9 @@
if found:
break
kerneldir = os.path.dirname(kerneldir)
+ print "DEBUG 2: tree_path=", tree_path,
"dirname(tree_path)=", os.path.dirname(tree_path), 'kerneldir=',
kerneldir
+ print "DEBUG 3: tree_path=", tree_path, "dirname(tree_path)=",
os.path.dirname(tree_path), 'kerneldir=', kerneldir
+ print "DEBUG 4: package_path=", os.path.join(tree_path ,x)
return dict( tree_path = tree_path,
path = path,
Then I run the modified osversion.trigger to import the distro in Beaker:
# ./osversion.trigger
Update TreeRepos for RHEL5-Server-U6_nfs-xen-x86_64
DEBUG 1: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/xen/vmlinuz
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/xen
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 3: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 4: package_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/Client
Update Family for RHEL5-Server-U6_nfs-xen-x86_64
DEBUG 1: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/xen/vmlinuz
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/xen
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 3: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 4: package_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/Client
Update TreeRepos for RHEL5-Server-U6_nfs-x86_64
DEBUG 1: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/pxeboot/vmlinuz
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/pxeboot
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 3: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 4: package_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/Client
Update Family for RHEL5-Server-U6_nfs-x86_64
DEBUG 1: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/pxeboot/vmlinuz
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images/pxeboot
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/images
DEBUG 2: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 3: tree_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/
dirname(tree_path)=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
kerneldir=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
DEBUG 4: package_path=
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64/Client
You can clearly see that in the end the package_path variable which is
returned as result from this function is incorrect. There's no
rhel-server-5.6-x86_64/Client directory available.
You can also see that kerneldir becomes
/net/repo.example.com/var/www/html/install/rhel-server-5.6-x86_64
(i.e. equal to dirname(tree_path)) during the last iterration of the
loop and after that the loop exits. This directory is never searched
for the existence of the signatures subdirectories.
As a result the distro is not available in Beaker.
--
Alexander.