Hi all,

I think I found a bug within spacewalk that is triggered from the SLES PXE 
installer.

The SLES installer (autoyast) seems to encode the URL for the kickstart config 
file from

"GET /cblr/svc/op/ks/profile/SLES12-SP1-Standard-LVM:1:COMP HTTP/1.1"

to

"GET /cblr/svc/op/ks/profile/SLES12-SP1-Standard-LVM%3a1%3aCOMP HTTP/1.1"

Resulting in a 404 error.

10.127.248.85 - - [21/Aug/2017:09:18:56 +0200] "GET 
/cblr/svc/op/ks/profile/SLES12-SP1-Standard-LVM%3a1%3aCOMP HTTP/1.1" 404 19 "-" 
"-"

Right now (also in 2.7 nightly), I'm using the following fix within 
/var/www/cobbler/svc/services.wsgi to fix this issue for the SLES12 installer

--- services.wsgi.orig  2016-10-12 18:02:37.000000000 +0200
+++ services.wsgi       2017-08-21 09:59:37.818806062 +0200
@@ -23,11 +23,13 @@
import os
import xmlrpclib

+import urllib
+
from cobbler.services import CobblerSvc

def application(environ, start_response):

-    my_uri = environ['REQUEST_URI']
+    my_uri = urllib.unquote(environ['REQUEST_URI'])

     form = {}

Although the "quoted" url is still logged in "access.log", I get an "200" 
return code

10.127.248.85 - - [21/Aug/2017:10:01:31 +0200] "GET 
/cblr/svc/op/ks/profile/SLES12-SP1-Standard-LVM%3a1%3aCOMP HTTP/1.1" 200 12904 
"-" "-"

This unquotes possible quoted url and the kickstart configuration file can be 
downloaded successfully.

Because I did not yet find the source of the cobbler20 package within spacewalk 
git repo, I cannot open a PR. So doing this way and hopefully someone can 
confirm this "bug"? and possible fix it in git.

Regards,
Robert

_______________________________________________
Spacewalk-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-list

Reply via email to