Skip to content
This repository has been archived by the owner on Aug 16, 2022. It is now read-only.

opendistroforelasticsearch breaks RPM dependencies on CentOS 7 #53

Closed
sdigit opened this issue Apr 12, 2019 · 2 comments
Closed

opendistroforelasticsearch breaks RPM dependencies on CentOS 7 #53

sdigit opened this issue Apr 12, 2019 · 2 comments

Comments

@sdigit
Copy link

sdigit commented Apr 12, 2019

On a fresh CentOS 7 install in GCE, I noticed the following happening after installing opendistroforelasticsearch and attempting to yum upgrade. It appears that opendistroforelasticsearch depends on 6.6.2, but the elasticsearch-oss repository provides 6.7.1 and that causes yum to believe it can be updated.

[root@monitoring-es-1 ~]# yum upgrade
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.team-cymru.com
 * epel: mirror.steadfastnet.com
 * extras: mirror.fileplanet.com
 * updates: mirror.steadfastnet.com
Resolving Dependencies
--> Running transaction check
---> Package elasticsearch-oss.noarch 0:6.6.2-1 will be updated
--> Processing Dependency: elasticsearch-oss = 6.6.2 for package: opendistroforelasticsearch-0.8.0-1.noarch
--> Processing Dependency: elasticsearch-oss = 6.6.2 for package: opendistro-alerting-0.8.0.0-1.noarch
--> Processing Dependency: elasticsearch-oss = 6.6.2 for package: opendistro-sql-0.8.0.0-1.noarch
--> Processing Dependency: elasticsearch-oss = 6.6.2 for package: opendistro-performance-analyzer-0.8.0.0-1.noarch
--> Processing Dependency: elasticsearch-oss = 6.6.2 for package: opendistro-security-0.8.0.0-1.noarch
---> Package elasticsearch-oss.noarch 0:6.7.1-1 will be an update
---> Package glibc.x86_64 0:2.17-260.el7_6.3 will be updated
---> Package glibc.x86_64 0:2.17-260.el7_6.4 will be an update
---> Package glibc-common.x86_64 0:2.17-260.el7_6.3 will be updated
---> Package glibc-common.x86_64 0:2.17-260.el7_6.4 will be an update
---> Package google-cloud-sdk.noarch 0:240.0.0-1.el7 will be updated
---> Package google-cloud-sdk.noarch 0:241.0.0-1.el7 will be an update
---> Package libssh2.x86_64 0:1.4.3-12.el7 will be updated
---> Package libssh2.x86_64 0:1.4.3-12.el7_6.2 will be an update
---> Package python.x86_64 0:2.7.5-76.el7 will be updated
---> Package python.x86_64 0:2.7.5-77.el7_6 will be an update
---> Package python-libs.x86_64 0:2.7.5-76.el7 will be updated
---> Package python-libs.x86_64 0:2.7.5-77.el7_6 will be an update
---> Package tzdata.noarch 0:2018i-1.el7 will be updated
---> Package tzdata.noarch 0:2019a-1.el7 will be an update
--> Finished Dependency Resolution
Error: Package: opendistroforelasticsearch-0.8.0-1.noarch (@opendistroforelasticsearch-artifacts-repo)
           Requires: elasticsearch-oss = 6.6.2
           Removing: elasticsearch-oss-6.6.2-1.noarch (@elasticsearch-6.x)
               elasticsearch-oss = 6.6.2-1
           Updated By: elasticsearch-oss-6.7.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.1-1
           Available: elasticsearch-oss-6.3.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.0-1
           Available: elasticsearch-oss-6.3.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.1-1
           Available: elasticsearch-oss-6.3.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.2-1
           Available: elasticsearch-oss-6.4.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.0-1
           Available: elasticsearch-oss-6.4.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.1-1
           Available: elasticsearch-oss-6.4.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.2-1
           Available: elasticsearch-oss-6.4.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.3-1
           Available: elasticsearch-oss-6.5.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.0-1
           Available: elasticsearch-oss-6.5.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.1-1
           Available: elasticsearch-oss-6.5.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.2-1
           Available: elasticsearch-oss-6.5.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.3-1
           Available: elasticsearch-oss-6.5.4-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.4-1
           Available: elasticsearch-oss-6.6.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.0-1
           Available: elasticsearch-oss-6.6.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.1-1
           Available: elasticsearch-oss-6.7.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.0-1
Error: Package: opendistro-performance-analyzer-0.8.0.0-1.noarch (@opendistroforelasticsearch-artifacts-repo)
           Requires: elasticsearch-oss = 6.6.2
           Removing: elasticsearch-oss-6.6.2-1.noarch (@elasticsearch-6.x)
               elasticsearch-oss = 6.6.2-1
           Updated By: elasticsearch-oss-6.7.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.1-1
           Available: elasticsearch-oss-6.3.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.0-1
           Available: elasticsearch-oss-6.3.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.1-1
           Available: elasticsearch-oss-6.3.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.2-1
           Available: elasticsearch-oss-6.4.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.0-1
           Available: elasticsearch-oss-6.4.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.1-1
           Available: elasticsearch-oss-6.4.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.2-1
           Available: elasticsearch-oss-6.4.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.3-1
           Available: elasticsearch-oss-6.5.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.0-1
           Available: elasticsearch-oss-6.5.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.1-1
           Available: elasticsearch-oss-6.5.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.2-1
           Available: elasticsearch-oss-6.5.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.3-1
           Available: elasticsearch-oss-6.5.4-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.4-1
           Available: elasticsearch-oss-6.6.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.0-1
           Available: elasticsearch-oss-6.6.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.1-1
           Available: elasticsearch-oss-6.7.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.0-1
Error: Package: opendistro-alerting-0.8.0.0-1.noarch (@opendistroforelasticsearch-artifacts-repo)
           Requires: elasticsearch-oss = 6.6.2
           Removing: elasticsearch-oss-6.6.2-1.noarch (@elasticsearch-6.x)
               elasticsearch-oss = 6.6.2-1
           Updated By: elasticsearch-oss-6.7.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.1-1
           Available: elasticsearch-oss-6.3.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.0-1
           Available: elasticsearch-oss-6.3.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.1-1
           Available: elasticsearch-oss-6.3.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.2-1
           Available: elasticsearch-oss-6.4.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.0-1
           Available: elasticsearch-oss-6.4.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.1-1
           Available: elasticsearch-oss-6.4.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.2-1
           Available: elasticsearch-oss-6.4.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.3-1
           Available: elasticsearch-oss-6.5.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.0-1
           Available: elasticsearch-oss-6.5.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.1-1
           Available: elasticsearch-oss-6.5.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.2-1
           Available: elasticsearch-oss-6.5.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.3-1
           Available: elasticsearch-oss-6.5.4-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.4-1
           Available: elasticsearch-oss-6.6.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.0-1
           Available: elasticsearch-oss-6.6.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.1-1
           Available: elasticsearch-oss-6.7.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.0-1
Error: Package: opendistro-security-0.8.0.0-1.noarch (@opendistroforelasticsearch-artifacts-repo)
           Requires: elasticsearch-oss = 6.6.2
           Removing: elasticsearch-oss-6.6.2-1.noarch (@elasticsearch-6.x)
               elasticsearch-oss = 6.6.2-1
           Updated By: elasticsearch-oss-6.7.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.1-1
           Available: elasticsearch-oss-6.3.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.0-1
           Available: elasticsearch-oss-6.3.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.1-1
           Available: elasticsearch-oss-6.3.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.2-1
           Available: elasticsearch-oss-6.4.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.0-1
           Available: elasticsearch-oss-6.4.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.1-1
           Available: elasticsearch-oss-6.4.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.2-1
           Available: elasticsearch-oss-6.4.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.3-1
           Available: elasticsearch-oss-6.5.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.0-1
           Available: elasticsearch-oss-6.5.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.1-1
           Available: elasticsearch-oss-6.5.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.2-1
           Available: elasticsearch-oss-6.5.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.3-1
           Available: elasticsearch-oss-6.5.4-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.4-1
           Available: elasticsearch-oss-6.6.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.0-1
           Available: elasticsearch-oss-6.6.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.1-1
           Available: elasticsearch-oss-6.7.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.0-1
Error: Package: opendistro-sql-0.8.0.0-1.noarch (@opendistroforelasticsearch-artifacts-repo)
           Requires: elasticsearch-oss = 6.6.2
           Removing: elasticsearch-oss-6.6.2-1.noarch (@elasticsearch-6.x)
               elasticsearch-oss = 6.6.2-1
           Updated By: elasticsearch-oss-6.7.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.1-1
           Available: elasticsearch-oss-6.3.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.0-1
           Available: elasticsearch-oss-6.3.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.1-1
           Available: elasticsearch-oss-6.3.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.3.2-1
           Available: elasticsearch-oss-6.4.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.0-1
           Available: elasticsearch-oss-6.4.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.1-1
           Available: elasticsearch-oss-6.4.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.2-1
           Available: elasticsearch-oss-6.4.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.4.3-1
           Available: elasticsearch-oss-6.5.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.0-1
           Available: elasticsearch-oss-6.5.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.1-1
           Available: elasticsearch-oss-6.5.2-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.2-1
           Available: elasticsearch-oss-6.5.3-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.3-1
           Available: elasticsearch-oss-6.5.4-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.5.4-1
           Available: elasticsearch-oss-6.6.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.0-1
           Available: elasticsearch-oss-6.6.1-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.6.1-1
           Available: elasticsearch-oss-6.7.0-1.noarch (elasticsearch-6.x)
               elasticsearch-oss = 6.7.0-1
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
@aetter
Copy link
Contributor

aetter commented Apr 15, 2019

Hi @sdigit, we try to keep up with the latest Elasticsearch releases, but we're always going to lag behind by a bit as we update plugins and perform testing. In this case, like the error message suggests, the --skip-broken flag should do the trick. It'll just skip updating Elasticsearch and update everything else. For example:

$ sudo yum update --skip-broken

Installed:
  kernel.x86_64 0:3.10.0-957.10.1.el7                                                                                                                                                                                   

Dependency Installed:
  linux-firmware.noarch 0:20180911-69.git85c5d90.el7                                                                                                                                                                    

Updated:
  NetworkManager.x86_64 1:1.12.0-10.el7_6                        NetworkManager-config-server.noarch 1:1.12.0-10.el7_6                 NetworkManager-libnm.x86_64 1:1.12.0-10.el7_6                                  
  NetworkManager-team.x86_64 1:1.12.0-10.el7_6                   NetworkManager-tui.x86_64 1:1.12.0-10.el7_6                           bind-libs-lite.x86_64 32:9.9.4-73.el7_6                                        
  bind-license.noarch 32:9.9.4-73.el7_6                          cloud-init.x86_64 0:18.2-1.el7_6.2                                    cronie.x86_64 0:1.4.11-20.el7_6                                                
  cronie-anacron.x86_64 0:1.4.11-20.el7_6                        dbus.x86_64 1:1.10.24-13.el7_6                                        dbus-libs.x86_64 1:1.10.24-13.el7_6                                            
  device-mapper.x86_64 7:1.02.149-10.el7_6.3                     device-mapper-libs.x86_64 7:1.02.149-10.el7_6.3                       freetype.x86_64 0:2.8-12.el7_6.1                                               
  glibc.x86_64 0:2.17-260.el7_6.4                                glibc-common.x86_64 0:2.17-260.el7_6.4                                grub2.x86_64 1:2.02-0.76.el7.1                                                 
  grub2-common.noarch 1:2.02-0.76.el7.1                          grub2-pc.x86_64 1:2.02-0.76.el7.1                                     grub2-pc-modules.noarch 1:2.02-0.76.el7.1                                      
  grub2-tools.x86_64 1:2.02-0.76.el7.1                           grub2-tools-extra.x86_64 1:2.02-0.76.el7.1                            grub2-tools-minimal.x86_64 1:2.02-0.76.el7.1                                   
  kernel-tools.x86_64 0:3.10.0-957.10.1.el7                      kernel-tools-libs.x86_64 0:3.10.0-957.10.1.el7                        krb5-libs.x86_64 0:1.15.1-37.el7_6                                             
  libblkid.x86_64 0:2.23.2-59.el7_6.1                            libgcc.x86_64 0:4.8.5-36.el7_6.1                                      libgomp.x86_64 0:4.8.5-36.el7_6.1                                              
  libgudev1.x86_64 0:219-62.el7_6.5                              libmount.x86_64 0:2.23.2-59.el7_6.1                                   libsmartcols.x86_64 0:2.23.2-59.el7_6.1                                        
  libssh2.x86_64 0:1.4.3-12.el7_6.2                              libstdc++.x86_64 0:4.8.5-36.el7_6.1                                   libuuid.x86_64 0:2.23.2-59.el7_6.1                                             
  nss.x86_64 0:3.36.0-7.1.el7_6                                  nss-pem.x86_64 0:1.0.3-5.el7_6.1                                      nss-sysinit.x86_64 0:3.36.0-7.1.el7_6                                          
  nss-tools.x86_64 0:3.36.0-7.1.el7_6                            nss-util.x86_64 0:3.36.0-1.1.el7_6                                    openldap.x86_64 0:2.4.44-21.el7_6                                              
  openssl.x86_64 1:1.0.2k-16.el7_6.1                             openssl-libs.x86_64 1:1.0.2k-16.el7_6.1                               policycoreutils.x86_64 0:2.5-29.el7_6.1                                        
  policycoreutils-python.x86_64 0:2.5-29.el7_6.1                 polkit.x86_64 0:0.112-18.el7_6.1                                      python.x86_64 0:2.7.5-77.el7_6                                                 
  python-libs.x86_64 0:2.7.5-77.el7_6                            python-perf.x86_64 0:3.10.0-957.10.1.el7                              rh-amazon-rhui-client.noarch 0:2.2.147-1.el7                                   
  selinux-policy.noarch 0:3.13.1-229.el7_6.9                     selinux-policy-targeted.noarch 0:3.13.1-229.el7_6.9                   shadow-utils.x86_64 2:4.1.5.1-25.el7_6.1                                       
  subscription-manager.x86_64 0:1.21.10-3.el7_6                  subscription-manager-rhsm.x86_64 0:1.21.10-3.el7_6                    subscription-manager-rhsm-certificates.x86_64 0:1.21.10-3.el7_6                
  systemd.x86_64 0:219-62.el7_6.5                                systemd-libs.x86_64 0:219-62.el7_6.5                                  systemd-sysv.x86_64 0:219-62.el7_6.5                                           
  tuned.noarch 0:2.10.0-6.el7_6.3                                tzdata.noarch 0:2019a-1.el7                                           util-linux.x86_64 0:2.23.2-59.el7_6.1                                          
  xfsprogs.x86_64 0:4.5.0-19.el7_6                              

Skipped (dependency problems):
  elasticsearch-oss.noarch 0:6.7.1-1    

When the new version of Open Distro for Elasticsearch gets bumped to 6.7, you should be able to upgrade at that time without worrying about the flag.

@aetter aetter closed this as completed Apr 15, 2019
aetter added a commit that referenced this issue Apr 15, 2019
@nean-and-i
Copy link

Hi,

this has to be reopened, addressed and solved properly without breaking dependencies of the OS packet-manager.

--skip-broken is not the correct solution to this issue !

The correct way and to avoid any side effect, is to install (upgrade/downgrade to) the specific version of elasticsearch which is required for opendistro before installing (upgrade) opendistro.

check available verions of elasticsearch-oss

One can get the available versions via repoquery command:

$ repoquery --show-duplicates elasticsearch-oss
elasticsearch-oss-0:6.3.0-1.noarch
elasticsearch-oss-0:6.3.1-1.noarch
elasticsearch-oss-0:6.3.2-1.noarch
elasticsearch-oss-0:6.4.0-1.noarch
elasticsearch-oss-0:6.4.1-1.noarch
elasticsearch-oss-0:6.4.2-1.noarch
elasticsearch-oss-0:6.4.3-1.noarch
elasticsearch-oss-0:6.5.0-1.noarch
elasticsearch-oss-0:6.5.1-1.noarch
elasticsearch-oss-0:6.5.2-1.noarch
elasticsearch-oss-0:6.5.3-1.noarch
elasticsearch-oss-0:6.5.4-1.noarch
elasticsearch-oss-0:6.6.0-1.noarch
elasticsearch-oss-0:6.6.1-1.noarch
elasticsearch-oss-0:6.6.2-1.noarch
elasticsearch-oss-0:6.7.0-1.noarch
elasticsearch-oss-0:6.7.1-1.noarch
elasticsearch-oss-0:7.0.0-1.x86_6

install proper matching version

in this case version 6.6.2

yum clean all
yum install elasticsearch-oss-6.6.2 logstash-6.6.2
yum install opendistroforelasticsearch opendistroforelasticsearch-kibana

downgrade to specific version

If one has used --skip-broken or installed a higher version by mistake you can downgrade to specific version via:

yum downgrade elasticsearch-oss-6.6.2 logstash-6.6.2

keep in mind that all the oss components should be on same version (elasticsearch, kibana, logstash, etc.)
Pls. Consider the compatibility matrix from Elasticsearch -> https://www.elastic.co/support/matrix#matrix_compatibility

A compatibility matrix for Opendistro would be very much appreciated.

thanks

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants