Bug 1384386

Summary: dnf has no group success/failure management
Product: [Fedora] Fedora Reporter: lethalwp
Component: dnfAssignee: rpm-software-management
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 25CC: mluscon, packaging-team-maint, pnemade, RizkieYudha96, rpm-software-management, vmukhame, yselkowi
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-13 09:21:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description lethalwp 2016-10-13 08:34:21 UTC
Description of problem:

dnf has no "group management":

- When you dnf group install a group, if it fails, dnf will still consider the group to be installed

- Same if you uninstall a group, if you cancel the uninstall by replying no, it will still consider the group uninstalled



Version-Release number of selected component (if applicable):
On Fed25-beta-10/13/2016, maybe also on earlier versions


How reproducible:
Everytime


Steps to Reproduce:
1. dnf install @hawaii     This group fails in my case for a missing dependancy

[root@little lethalwp]# dnf install @hawaii
Failed to synchronize cache for repo 'steam', disabling.
Failed to synchronize cache for repo 'biji-vulkan', disabling.
Last metadata expiration check: 0:00:44 ago on Thu Oct 13 10:28:04 2016.
Error: nothing provides libQt5Xdg.so.1()(64bit) needed by hawaii-shell-0.8.0-2.fc25.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages)



2. do it a second time: dnf install @hawaii
Notice it's marked as "installed"
[root@little lethalwp]# dnf install @hawaii
Failed to synchronize cache for repo 'steam', disabling.
Failed to synchronize cache for repo 'biji-vulkan', disabling.
Last metadata expiration check: 0:00:51 ago on Thu Oct 13 10:28:04 2016.
Group 'Hawaii' is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!



3. remove the group, but say No:
[root@little lethalwp]# dnf group remove Hawaii
Failed to synchronize cache for repo 'steam', disabling.
Failed to synchronize cache for repo 'biji-vulkan', disabling.
Last metadata expiration check: 0:01:30 ago on Thu Oct 13 10:28:04 2016.
Dependencies resolved.
==============================================================================================================================================================================================================================================================
 Group                                                                Packages                                                                                                                                                                              
==============================================================================================================================================================================================================================================================
Marking packages as removed by the group:
 @Hawaii                                                              hawaii-system-preferences                                                            qt5-qdbusviewer                                                                 qt5-qtbase-gui   
                                                                      otter-browser                                                                        xdg-user-dirs                                                                   sddm-theme-hawaii
                                                                      hawaii-workspace                                                                     mesa-dri-drivers                                                                sddm             
                                                                      hawaii-shell                                                                         qterminal-qt5                                                                   initial-setup-gui
                                                                      firewall-config                                                                      hawaii-widget-styles                                                            qt5-qtwayland    
                                                                      hawaii-icon-theme                                                                    qt5-qtdeclarative                                                               pcmanfm-qt       
                                                                      upower                                                                                                                                                                                
Is this ok [y/N]: n
Operation aborted.




4. retry to remove the group:

[root@little lethalwp]# dnf group remove Hawaii
Failed to synchronize cache for repo 'biji-vulkan', disabling.
Failed to synchronize cache for repo 'steam', disabling.
Last metadata expiration check: 0:01:58 ago on Thu Oct 13 10:28:04 2016.
Warning: Group 'Hawaii' is not installed.
Error: No groups marked for removal.





3Bis: there's a second removal scenario that fails, because it's "Hawaii" group.  maybe because of case sensitive&nonsentive?
Redo 1&2,  but instead of 3, do this:
[root@little lethalwp]# dnf remove @hawaii
Error: No packages marked for removal.

If you then redo 1, you'll notice the group has been marked as removed, because it retries to install it.
[root@little lethalwp]# dnf install @hawaii
Failed to synchronize cache for repo 'biji-vulkan', disabling.
Failed to synchronize cache for repo 'steam', disabling.
Last metadata expiration check: 0:04:43 ago on Thu Oct 13 10:28:04 2016.
Error: nothing provides libQt5Xdg.so.1 needed by hawaii-shell-0.8.0-2.fc25.i686
(try to add '--allowerasing' to command line to replace conflicting packages)




Actual results:
Bad group management, it doens't check if the operation succeeded or failed, it marks the group action at the beginning of the operation.


Expected results:
Only apply group action depending on the final result of the operation


Additional info:

Comment 1 Igor Gnatenko 2016-10-13 09:21:58 UTC
It's fixed in DNF 2.0 in rawhide.

Comment 2 Igor Gnatenko 2016-11-16 07:53:44 UTC
*** Bug 1395515 has been marked as a duplicate of this bug. ***

Comment 3 Igor Gnatenko 2016-11-16 07:54:53 UTC
*** Bug 1390388 has been marked as a duplicate of this bug. ***

Comment 4 Yaakov Selkowitz 2016-11-16 08:01:24 UTC
Isn't this a regression?  This doesn't appear to happen in F24.