Bug 616452
Summary: | Anaconda doesn't understand "404 Not Found" anymore ? | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Patrik Martinsson <martinsson.patrik> |
Component: | anaconda | Assignee: | Anaconda Maintenance Team <anaconda-maint-list> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Release Test Team <release-test-team-automation> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 6.0 | Keywords: | RHELNAK |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2010-07-22 15:01:44 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Patrik Martinsson
2010-07-20 13:56:29 UTC
And yes, if i pass anaconda (from grub) the parameter, ks=http://foo.bar/install.php&hostname=laptop001 (a correct host) the kickstart gets generated and anaconda retrieves it as expected. This issue has been proposed when we are only considering blocker issues in the current Red Hat Enterprise Linux release. ** If you would still like this issue considered for the current release, ask your support representative to file as a blocker on your behalf. Otherwise ask that it be considered for the next Red Hat Enterprise Linux release. ** I just did a quick test passing a URL to a valid host but invalid file, and got a dialog indicating "Error downloading kickstart file", and an entry offering me the ability to modify the URL before trying again. Is your web server perhaps doing something strange in the value it's returning? Hmm, that's really weird, I've spent all afternoon here trying to get anaconda asking me for an url, and the only way i seem to make that happen is if i put in an invaldid host... But maybe your right, it could be something fishy with the web server, however it's the same as we use when we kickstart all our machines, so older anacondas doesnt seem to have any problems with it. Can i turn on more debugging from anaconda ? This is what my webserver says, New anaconda doesn't work as expected. [20/Jul/2010:14:52:25 +0000] "GET /autoks/install.php?hostname=CHANGEME HTTP/1.1" 404 - Old anacond, works as expected. [20/Jul/2010:14:52:55 +0000] "GET /autoks/install.php?hostname=CHANGEME HTTP/1.0" 404 - 1.1 / 1.0 is the only thing that is different, i wonder if that has something to do with it... Thanks for tip Chris. /Patrik The libcurl documentation is frustratingly vague here. Check out http://curl.haxx.se/libcurl/c/curl_easy_setopt.html and search for CURLOPT_FAILONERROR. We set that to 1, which even though it's documented as failing silently, causes the download to return an error code we can catch. It does state this method is not fail-proof, and makes me wonder if maybe you're falling into the special case here. Hello again Chris, I followed up on your last suggestion and made a small curl example just to see whether I was able to catch the error or not, see the example, (I'm not a programmer in any way, so go easy on me here if I'm not thinking right), -- // gcc curl.c -o curl -lcurl #include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_FAILONERROR, "1"); curl_easy_setopt(curl, CURLOPT_URL, "http://foo.bar/autoks/file_not_exist"); res = curl_easy_perform(curl); if (res != 0){ printf("\n=> %s\n\n", curl_easy_strerror(res)); } /* always cleanup */ curl_easy_cleanup(curl); } } -- Now, if I run this program from the shell during the anaconda setup (pressing alt+F2) i get the message "HTTP response code said error", so I don't think it has to do with libcurl not throwing an error. (But again, correct me if I'm missing something). I find this whole situation very mysterious. Hmm, i asked in an earlier post (maybe you missed it) but can i somehow increase the debugging in anaconda ? I have some experience with gdb and general understanding when it comes to programming so with some guidance maybe we could come to some conclusions. /Patrik We can close this bug now, in the latest release of rhel 6 beta 2 (came out yesterday) this issue seems to be fixed, anaconda version is 13.21.56. Thanks for a great job guys ! Ps. In the debuginfo tty during the install, i can now see "ERROR : Error downloading http://foo.bar/file : HTTP response code said error", which is the libcurl error message that we earlier talked about if I'm not mistaken Huh, I don't see anything in the changelog that would explain why this would now be working. There's a couple libcurl-related changes but they're for things like following redirects and handling resolver errors better. Perhaps something's changed in libcurl itself. Anyway, glad to hear this is now working. |