Bug 406162

Summary: yast does not accept ipv6 addresses in repo-urls during installation
Product: [openSUSE] openSUSE 11.1 Reporter: Steffen Winterfeldt <snwint>
Component: YaST2Assignee: Lukas Ocilka <locilka>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: locilka, lslezak, snwint
Version: Factory   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: screenshot of Linuxrc
logs from failed install

Description Steffen Winterfeldt 2008-07-03 13:48:24 UTC
(see fate 302926)

If linuxrc passes ipv6 server addresses like fe80::20e:cff:fe39:da5b via
/etc/install.inf, yast complains that this is not a valid host name
(or something like that).

If you are working at it, you might consider using the 'RepoURL' entry
in install.inf instead of putting together the repo URL from individual
parts yourself.
Comment 1 Michal Zugec 2008-07-06 15:19:51 UTC
Lado, you should use IP::Check() instead of IP::Check4() function
Comment 2 Ladislav Slezák 2008-07-28 14:14:19 UTC
Steffen, could you attach y2logs? I have no idea where it could be located. yast2-packager already calls IP::Check().

It must be somewhere in yast2-installation, Lukas?
Comment 3 Lukas Ocilka 2008-08-04 11:01:28 UTC
Sorry, kids, I haven't found anything suspicious in installation...
And there's no way to test it here...
So, without logs...
Comment 4 Martin Vidner 2008-08-04 13:10:08 UTC
y2logs please, or give us better hints how to reproduce it.
Comment 5 Martin Vidner 2008-08-11 14:23:49 UTC
Mipv6šo, could you help here with the testing setup please?
Comment 6 Michal Zugec 2008-08-12 08:21:05 UTC
We (me & lslezak) made setup cml.suse.cz with 2001::2/64 address and http works:

 wget -6 http://[2001::2]/netboot/find/openSUSE-11.1-Alpha1-DVD-i386/
--2008-08-12 10:05:34--  http://[2001::2]/netboot/find/openSUSE-11.1-Alpha1-DVD-i386/
Connecting to 2001::2:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4954 (4.8K) [text/html]


I started booting with IPv6 address:
ipv6only=1 hostip=2001::3/64 install=http://[2001::2]/netboot/find/openSUSE-11.1-Alpha1-DVD-i386/

But Linuxrc "couldn't connect to host", no access in apache logs (IMHO wget don't use "-6" parameter)
Screenshot from Linuxrc follows
Comment 7 Michal Zugec 2008-08-12 08:22:33 UTC
Created attachment 232883 [details]
screenshot of Linuxrc

screenshot of Linuxrc
Comment 8 Michal Zugec 2008-08-12 08:25:03 UTC
I found that wget works also without "-6" parameter ...
Comment 9 Martin Vidner 2008-08-20 10:25:35 UTC
So what next? Steffen?
Comment 10 Steffen Winterfeldt 2008-08-20 10:32:19 UTC
Will post logs when I get around testing.
Comment 11 Steffen Winterfeldt 2008-08-22 15:00:17 UTC
Created attachment 234975 [details]
logs from failed install

YaST stops with 'invalid host component' or so.
Comment 12 Steffen Winterfeldt 2008-08-22 15:01:52 UTC
To comment 6: hard to say what's going on. See console 3 for details.
Maybe netwait=10 or so helps.
Comment 13 Martin Vidner 2008-08-27 10:24:58 UTC
Thanks. Zypp complains because we forget to wrap the ipv6 in brackets: 
y2log:
  Packages.ycp:1187 Initialize Package Manager: http://2001:780:101:a00:20e:cff:fe69:da7b/cd1

/etc/instal.inf:
  RepoURL: http://[2001:780:101:a00:20e:cff:fe69:da7b]/cd1?device=eth0
Comment 14 Lukas Ocilka 2008-08-27 11:31:09 UTC
- Initializing installation URL got from install.inf (RepoURL)
  if exists (bnc #406162).
- yast2-packager-2.17.8

PS: There has been checking for YaSTRepoURL but it seems it's not used.
Comment 15 Steffen Winterfeldt 2008-08-27 12:11:09 UTC
Uhm, if you really use RepoURL unmodified, there's a bit of a problem because
the semantics are a bit different from zypp currently (device vs. devices,
iso handling, and samba probably). I can change that to write it in
zypp compatible form, no problem. But at the moment it doesn't work.

BTW, are zypp URLs documented somewhere?
Comment 16 Lukas Ocilka 2008-08-27 12:12:34 UTC
reopening
Comment 17 Lukas Ocilka 2008-08-27 12:14:31 UTC
See comment #15, no idea where zypp URLs are documented.

Steffen, what about new ZyppRepoURL (modified RepoURL with zypp type of URL)?
Comment 18 Steffen Winterfeldt 2008-08-27 13:39:01 UTC
Good idea. Will do after hackweek.
Comment 19 Lukas Ocilka 2008-09-08 08:21:37 UTC
Steffen, please, implement the ZyppRepoURL and reassign back.
Comment 20 Lukas Ocilka 2008-09-08 08:34:49 UTC
- Initializing the installation repository got from install.inf in
  this order: ZyppRepoURL, YaSTRepoURL, RepoURL (bnc #406162).
- yast2-packager-2.17.10
Comment 21 Steffen Winterfeldt 2008-09-08 14:39:24 UTC
Ok, writing ZyppRepoURL now.

Lukas, what happens if ZyppRepoURL is missing? Do you use the old method
of putting the URL together from parts in install.inf as fallback?

Please don't use YaSTRepoURL, it never existed. And also not RepoURL.
zypp and linuxrc have slightly different URL formats and I'd like to keep
RepoURL in the linuxrc format.
Comment 22 Lukas Ocilka 2008-09-08 14:45:03 UTC
OK, yast2-packager-2.17.10, only ZyppRepoURL is used.

(Yes, if ZyppRepoURL is not found, putting URL parts together is still in use).