Bug 427017

Summary: YAST->Network Device; 'Skip Refresh' button UnReachable on Failed Repo Refresh
Product: [openSUSE] openSUSE 11.0 Reporter: David Rankin <drankinatty>
Component: YaST2Assignee: Ladislav Slezák <lslezak>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P2 - High CC: bon, mantel
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description David Rankin 2008-09-17 16:32:55 UTC
Devs, Jiri,

    In Yast, Network Devices, during the hurricane, I needed to change both the wired and wireless cards from dhcp to static IPs. Simple enough. However, after finalizing the settings and clicking 'Finish', Yast blunderingly tried to 'refresh' all online software repositories which of course failed forcing _14 repetitions_ of (repo timeout; 'Skip'; 'OK'). Notwithstanding the open question of "Why must yast force a refresh just to change a single IP config?", yast's most frustrating bug was that it provided no way to avoid looping through every single failed repo to both ('Skip') and confirm the skip ('OK') on each iteration. All seemed very unnecessary just to change a network setting.

    After clicking "Finish" and being bombarded with 14 failed online repo updates, I noticed that Yast's "Abort" button had changed to "Skip Refresh". Ah hah, the Yast devs were thinking ahead and had addressed just this situation. But to my dismay, the "Skip Refresh" button was unreachable? Try as I may, there was no way to actually click the button. Failed logic had reared its ugly head again.

    So I tested vigorously to really try and figure out what the devs had done with this mysterious "Abort/Skip Refresh" button. So I tried:

(1) making changes; clicking "Finish"; and immediately clicking in-the-blind, where the "Skip Refresh" button would appear -- only resulted in the repo failed dialog ('Retry' 'Abort' 'Skip') beating me to the punch;

(2) with the repo failed dialog staring me right in the face, and looking right at the "Skip Refresh" button sitting smugly below on the main network device dialog, I tried clicking the failed repo dialog "Skip" button and then immediately clicking the "Skip Refresh" button -- no dice, the confirming dialog for the repo failed ('OK') again beat me to the punch.

(3) I attempted the same thing after clicking 'OK', with the same result. Yast at that point, looped into trying the next on-line refresh causing the next failed/Skip/OK iteration.

    No matter what I tried, the "Skip Refresh" button was unreachable. It is apparent that someone within the yast dev group has tried to address this nutty "forced refresh on network device change" situation to attempt to give the user an out -- skipping the repo refresh, which in many situations, would be obvious that no internet access would be available to the user or wanted.

    The problem seems obvious. The refresh repo loop appears to never release control to allow a "Skip Refresh" or to check for a "Skip Refresh". It seems that the "Skip Refresh" does not need to simply replace the "Abort" button on the main network device window, but needs to be moved to the repo-failed dialog so that it can be accessed by the user.

    If I can provide additional information, just let me know and I'm happy to do my part. Thanks.
Comment 1 Michal Zugec 2008-10-02 19:06:07 UTC
This problem is already solved for openSUSE 11.1
Comment 2 David Rankin 2008-10-02 20:14:09 UTC
Michal,

    What about for 11.0? It will be under support for the next year+ and a fix is needed. Thanks.
Comment 3 Ladislav Slezák 2008-10-03 05:18:12 UTC
The enhancement in yast is that it won't try to refresh repositories if there is no network. So this situation should happen less frequently.

However, the problem with unreachable "Skip Refresh" button can happen if the network is running, but the server doesn't respond or is unavailable.

I'll add "Skip refresh" functionality to the popup...
Comment 4 Ladislav Slezák 2008-10-08 09:24:42 UTC
Fixed in SVN repository.
Comment 5 Ladislav Slezák 2008-10-13 11:14:44 UTC
Submitted in yast2-2.17.39.
Comment 6 Ladislav Slezák 2008-10-13 16:15:08 UTC
*** Bug 434237 has been marked as a duplicate of this bug. ***