Bug 1384161

Summary: Upgrading etcd/Installing etcd3 requires to remove previous version
Product: Red Hat Enterprise Linux 7 Reporter: Vikas Laad <vlaad>
Component: etcdAssignee: Jan Chaloupka <jchaloup>
Status: CLOSED NOTABUG QA Contact: atomic-bugs <atomic-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: anli, avagarwa, eparis, qcai, tstclair, weshi
Target Milestone: rcKeywords: Extras, Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: etcd3-3.0.12-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-06 14:33:40 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 Vikas Laad 2016-10-12 17:08:43 UTC
Description of problem:
I am working on Openshift and trying to upgrade etcd to etcd3. When I try to just install etcd3 I get following error. I should be able to install etcd3 when v2 is installed.

root@ip-172-31-26-90: ~ # yum install etcd3                                                                                                         [660/1048]
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
Resolving Dependencies
--> Running transaction check
---> Package etcd3.x86_64 0:3.0.3-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================$
=====================================================
 Package                                        Arch                                            Version                                              Reposito$
y                                               Size
=============================================================================================================================================================$
=====================================================
Installing:
 etcd3                                          x86_64                                          3.0.3-1.el7                                          rhel-72-$
xtras                                          9.4 M

Transaction Summary
=============================================================================================================================================================$
=====================================================
Install  1 Package

Total download size: 9.4 M
Installed size: 45 M
Is this ok [y/d/N]: y
Downloading packages:
etcd3-3.0.3-1.el7.x86_64.rpm                                                                                                                                  
                              | 9.4 MB  00:00:03     
Running transaction check
Running transaction test


Transaction check error:
  file /usr/bin/etcd from install of etcd3-3.0.3-1.el7.x86_64 conflicts with file from package etcd-2.3.7-4.el7.x86_64
  file /etc/etcd/etcd.conf from install of etcd3-3.0.3-1.el7.x86_64 conflicts with file from package etcd-2.3.7-4.el7.x86_64
  file /usr/bin/etcdctl from install of etcd3-3.0.3-1.el7.x86_64 conflicts with file from package etcd-2.3.7-4.el7.x86_64

Error Summary
-------------

Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux Server release 7.2 (Maipo)


How reproducible:
Always

Steps to Reproduce:
1. Make sure etcd-2.3.7-4.el7.x86_64 is installed
2. yum list shows etcd3 is available
3. yum install etcd3 and see error

Actual results:
Error can't install etcd3

Expected results:
Should be able to install etcd3

Additional info:

Comment 1 Scott Dodson 2016-10-12 17:15:58 UTC
Workaround: yum swap etcd etcd3

Comment 3 Jan Chaloupka 2016-10-13 09:01:02 UTC
This is intended as the etcd3 must not remove etcd. Etcd contains user data which would be removed otherwise.

Comment 4 Timothy St. Clair 2016-10-13 14:38:44 UTC
I think there needs to be an Obsoletes for installation of etcd3.  

Etcd3 will provide a clean upgrade for 2.3.7, but it should be an explicit user upgrade .

Comment 5 Jan Chaloupka 2016-10-13 14:56:22 UTC
I would rather turn this into documentation/release notes.

Comment 6 Vikas Laad 2016-10-18 17:14:35 UTC
Jan, 

What would be expected behavior after the fix?

Comment 7 Eric Paris 2016-11-16 00:58:29 UTC
conflicts would be the right thing? not obsoletes?  no?

Comment 9 Qian Cai 2016-11-16 20:31:59 UTC
https://fedoraproject.org/wiki/Packaging:Conflicts

"Keep in mind that implicit conflicts are NEVER acceptable. If your package conflicts with another package, then you must either resolve the conflict, or mark it with Conflicts:."

Comment 10 Jan Chaloupka 2016-11-18 11:18:30 UTC
This it not going to be fixed in 7.3.1. The next target candidate is 7.3.2.

Comment 11 Eric Paris 2016-11-18 13:21:20 UTC
In 7.3.2 we should update etcd to be version 3. The etcd3 rpm (and container) will be deprecated.

Comment 12 Jan Chaloupka 2016-11-30 15:12:18 UTC
*** Bug 1399920 has been marked as a duplicate of this bug. ***

Comment 13 Jan Chaloupka 2017-01-06 14:33:40 UTC
This can be closed as the etcd3 component is officially obsoleted by etcd.