salt: Latest Salt will not install on Amazon Linux due to missing python, systemd packages and/or EPEL package out of date

Hi,

I think this could be interpreted as a documentation bug or an installation bug, but the default instructions for installing Salt on Amazon Linux do not work. I’m attempting to install on an existing AWS Linux image, and I’ve also reproduced on a brand new Amazon t2.micro instance.

The installation instructions say that: “Salt should work properly with all mainstream derivatives of Red Hat Enterprise Linux, including CentOS, Scientific Linux, Oracle Linux, and Amazon Linux.”

However, if I follow the instructions there the installation fails due to python-cardet being out of date and systemd-units, systemd-python missing (full log is further below if that helps):

Error: Package: python-requests-2.6.0-1.el7.noarch (saltstack-repo)
           Requires: python-chardet >= 2.2.1-1
           Available: python26-chardet-2.0.1-7.7.amzn1.noarch (amzn-main)
               python-chardet = 2.0.1-7.7.amzn1
Error: Package: salt-2015.8.3-1.el7.noarch (saltstack-repo)
           Requires: systemd-units
Error: Package: salt-master-2015.8.3-1.el7.noarch (saltstack-repo)
           Requires: systemd-python
Error: Package: python-requests-2.6.0-1.el7.noarch (saltstack-repo)
           Requires: python-urllib3 >= 1.10.2-1
           Available: python26-urllib3-1.8.2-1.5.amzn1.noarch (amzn-main)
               python-urllib3 = 1.8.2-1.5.amzn1
Error: Package: salt-2015.8.3-1.el7.noarch (saltstack-repo)
           Requires: systemd-python

From looking around (I’m out of my depth here), it looks like systemd is not supported by Amazon Linux (example comment here). I’m not sure about the other packages.

I have also tried to use the Epel installation instructions (which work fine, and I’ve been using them successfully for a while) but the latest version is only 2015.5.5 and I’m trying to confirm a bug is resolved that I previously raised which is only in 2015.8.2 (#28203).

Is there something I’m missing around using systemd? Are the instructions out of date? Is EPEL likely to be updated (who manages that… I couldn’t find an answer?).

Please let me know how I can help with testing/fixing this process too - I’d be happy to.

Kind Regards, Ed

Full Log:

$ rpm --import https://repo.saltstack.com/yum/redhat/7/x86_64/latest/SALTSTACK-GPG-KEY.pub

$ vim /etc/yum.repos.d/saltstack.repo

$ sudo yum clean expire-cache
Loaded plugins: priorities, update-motd, upgrade-helper
Cleaning repos: amzn-main amzn-updates saltstack-repo
4 metadata files removed

$ yum install salt-master
Loaded plugins: priorities, update-motd, upgrade-helper
Resolving Dependencies
--> Running transaction check
---> Package salt-master.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: salt = 2015.8.3-1.el7 for package: salt-master-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-python for package: salt-master-2015.8.3-1.el7.noarch
--> Running transaction check
---> Package salt.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: python-msgpack > 0.3 for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-tornado >= 4.2.1 for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-requests >= 1.0.0 for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-futures >= 2.0 for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-crypto >= 2.6.1 for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-python for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-zmq for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-six for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-markupsafe for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: python-jinja2 for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: PyYAML for package: salt-2015.8.3-1.el7.noarch
---> Package salt-master.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: systemd-python for package: salt-master-2015.8.3-1.el7.noarch
--> Running transaction check
---> Package PyYAML.x86_64 0:3.11-1.el7 will be installed
---> Package python-futures.noarch 0:3.0.3-1.el7 will be installed
---> Package python-msgpack.x86_64 0:0.4.6-1.el7 will be installed
---> Package python-requests.noarch 0:2.6.0-1.el7 will be installed
--> Processing Dependency: python-urllib3 >= 1.10.2-1 for package: python-requests-2.6.0-1.el7.noarch
--> Processing Dependency: python-chardet >= 2.2.1-1 for package: python-requests-2.6.0-1.el7.noarch
---> Package python-tornado.x86_64 0:4.2.1-1.el7 will be installed
--> Processing Dependency: python-pycurl for package: python-tornado-4.2.1-1.el7.x86_64
--> Processing Dependency: python-backports-ssl_match_hostname for package: python-tornado-4.2.1-1.el7.x86_64
---> Package python-zmq.x86_64 0:14.7.0-1.el7 will be installed
--> Processing Dependency: libzmq.so.4()(64bit) for package: python-zmq-14.7.0-1.el7.x86_64
---> Package python26-crypto.x86_64 0:2.6.1-1.12.amzn1 will be installed
--> Processing Dependency: python(abi) = 2.6 for package: python26-crypto-2.6.1-1.12.amzn1.x86_64
--> Processing Dependency: python26(dist-packages) for package: python26-crypto-2.6.1-1.12.amzn1.x86_64
--> Processing Dependency: libpython2.6.so.1.0()(64bit) for package: python26-crypto-2.6.1-1.12.amzn1.x86_64
---> Package python26-jinja2.noarch 0:2.7.2-2.15.amzn1 will be installed
--> Processing Dependency: python26-babel for package: python26-jinja2-2.7.2-2.15.amzn1.noarch
---> Package python26-markupsafe.x86_64 0:0.11-4.6.amzn1 will be installed
---> Package python26-six.noarch 0:1.8.0-1.23.amzn1 will be installed
---> Package salt.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-python for package: salt-2015.8.3-1.el7.noarch
---> Package salt-master.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: systemd-python for package: salt-master-2015.8.3-1.el7.noarch
--> Running transaction check
---> Package python-requests.noarch 0:2.6.0-1.el7 will be installed
--> Processing Dependency: python-urllib3 >= 1.10.2-1 for package: python-requests-2.6.0-1.el7.noarch
--> Processing Dependency: python-chardet >= 2.2.1-1 for package: python-requests-2.6.0-1.el7.noarch
---> Package python26.x86_64 0:2.6.9-2.84.amzn1 will be installed
---> Package python26-babel.noarch 0:0.9.4-5.1.8.amzn1 will be installed
--> Processing Dependency: python26-setuptools for package: python26-babel-0.9.4-5.1.8.amzn1.noarch
---> Package python26-backports-ssl_match_hostname.noarch 0:3.4.0.2-1.12.amzn1 will be installed
--> Processing Dependency: python26-backports for package: python26-backports-ssl_match_hostname-3.4.0.2-1.12.amzn1.noarch
---> Package python26-libs.x86_64 0:2.6.9-2.84.amzn1 will be installed
---> Package python26-pycurl.x86_64 0:7.19.0-17.12.amzn1 will be installed
---> Package salt.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-python for package: salt-2015.8.3-1.el7.noarch
---> Package salt-master.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: systemd-python for package: salt-master-2015.8.3-1.el7.noarch
---> Package zeromq.x86_64 0:4.0.5-4.el7 will be installed
--> Running transaction check
---> Package python-requests.noarch 0:2.6.0-1.el7 will be installed
--> Processing Dependency: python-urllib3 >= 1.10.2-1 for package: python-requests-2.6.0-1.el7.noarch
--> Processing Dependency: python-chardet >= 2.2.1-1 for package: python-requests-2.6.0-1.el7.noarch
---> Package python26-backports.x86_64 0:1.0-3.14.amzn1 will be installed
---> Package python26-setuptools.noarch 0:12.2-1.30.amzn1 will be installed
---> Package salt.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-units for package: salt-2015.8.3-1.el7.noarch
--> Processing Dependency: systemd-python for package: salt-2015.8.3-1.el7.noarch
---> Package salt-master.noarch 0:2015.8.3-1.el7 will be installed
--> Processing Dependency: systemd-python for package: salt-master-2015.8.3-1.el7.noarch
--> Finished Dependency Resolution
Error: Package: python-requests-2.6.0-1.el7.noarch (saltstack-repo)
           Requires: python-chardet >= 2.2.1-1
           Available: python26-chardet-2.0.1-7.7.amzn1.noarch (amzn-main)
               python-chardet = 2.0.1-7.7.amzn1
Error: Package: salt-2015.8.3-1.el7.noarch (saltstack-repo)
           Requires: systemd-units
Error: Package: salt-master-2015.8.3-1.el7.noarch (saltstack-repo)
           Requires: systemd-python
Error: Package: python-requests-2.6.0-1.el7.noarch (saltstack-repo)
           Requires: python-urllib3 >= 1.10.2-1
           Available: python26-urllib3-1.8.2-1.5.amzn1.noarch (amzn-main)
               python-urllib3 = 1.8.2-1.5.amzn1
Error: Package: salt-2015.8.3-1.el7.noarch (saltstack-repo)
           Requires: systemd-python
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 17 (12 by maintainers)

Most upvoted comments

On new EC2 instance (Amazon Linux AMI 2015.09.1 (HVM), SSD Volume Type - ami-bc5b48d0)

sudo yum update
sudo rpm --import https://repo.saltstack.com/yum/redhat/6/x86_64/latest/SALTSTACK-GPG-KEY.pub
sudo vim /etc/yum.repos.d/saltstack.repo

insert into /etc/yum.repos.d/saltstack.repo

[saltstack-repo]
name=SaltStack repo for RHEL/CentOS 6
baseurl=https://repo.saltstack.com/yum/redhat/6/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/6/$basearch/latest/SALTSTACK-GPG-KEY.pub

Proceed with the following commands

sudo yum clean expire-cache
sudo yum update
sudo yum install salt-minion

Now you are happy