Amazon Linux Install

No issues yet, but tomorrow I’m looking to install Foreman on Amazon Linux (for a variety of reasons, mostly having to do with subscription keys and what not). Anything I should know ahead of time? i know it’s got a few return values that are unexpected by the install (such as the os family, etc). Are there ways I can work around this? Anyone done a good install on amazon linux and can share the roadblocks they had to get around? Ounce of prevention and all that.

thanks much.

Joe.

Do you mean as in running Foreman on Amazon Linux or using Amazon Linux as a host that reports to Foreman?

In case of the former I’m not sure what will and won’t work. There is something in the installer to handle Amazon but it assumes it’s EL6 based which we no longer support. I think I read that recent versions are based on EL7 and I’d happily accept patches to fix the support.

In case of the latter I wouldn’t expect any problems.

Yes, I mean using Amazon linux as a host. I’m on seven. Basically centos
was just too big a hassle for our firewall (nobody wants to make exceptions
for the 20+ sites their repos are on).

I don’t have access to facts Amazon Linux generates but I’d expect it to pretty much work. I do see some params that have incorrect defaults but I think those are unused. Is there an easy way to run Amazon Linux as a docker container or libvirt VM locally? The testing is based on that.

Otherwise I’m happy to work with you to get it properly working.

Honestly, I’m not sure about docker, but my plan is just to install it and
see how it goes. Seems like Amazon Linux is closest to CentOS 7, so I’m
going to try that install process and see how it goes. Unless people here
think the RHEL install walkthrough might be better, but IIRC the two are
almost identical.

Either way I’m doing foreman and katello, so AFAIK this
https://theforeman.org/plugins/katello/3.5/installation/index.html is my
process (that is: install katello and then use foreman as a scenario) .

You’re probably right it’s closer to CentOS than RHEL. The differences
between those are the repository subscriptions which won’t work for
Amazon Linux (I assume). Let me know how it goes and if I can help.

Meaning that Amazon Linux won’t work with the CentOS repos? I agree (well,
rather it would take more work that it’s worth) but I’m hoping that I can
find other versions of the needed software for Amazon on the repos they
provide (which are fairly beefy compared to the ones they provide for other
distros).

I mean that the RHEL instructions wouldn’t work with Amazon but CentOS could work well.

Assuming I can find the foreman and katello stuff in their repositories,
yes. If not, I might have to find some alternatives. I’ll keep you updated.

You could just pick one mirror and open the firewall to it, you don’t have to use the default configuration.

https://www.centos.org/download/mirrors/

I was able to install foreman in Amazon’s cloud by using one of the Free Red Hat instances and then changing the repos to CentOS and running a yum update. This effectively converted the AMI to a CentOS one. I don’t think it would work on an up-to-date Red Hat AMI though.

I didn’t try Amazon’s AMI though.

It would be great to see the steps documented here and|or in the official docs to know how to get it running on that os.

You’d think that, but they are not all populated the same, it seems.

Well, I’ll document what I do. With luck we’ll have some documentation
soon.

Okay, so far so good. I had to use the amazon epel and the mirrors are still playing merry hell on my firewall, but I got to the katello install.

And here, again, I find unmet dependencies. I’m going to TRY to install them from rpm. Anyone have a suggestion as to which rpm set might work best for amazon linux 2? I’m guessing centos 7?

Could you share which dependencies are missing? I recall something about a different ruby stack which might make the proxy harder since it’s using the system ruby and assumes EL/EPEL packages being available.

totally:

Error: Package: python-pulp-oid_validation-2.13.4-1.el7.noarch
(katello-pulp)
Requires: python-rhsm
Error: Package: python-crane-2.1.0-1.el7.noarch (katello-pulp)
Requires: python-flask >= 0.9
Error: Package: pulp-rpm-plugins-2.13.4-1.el7.noarch (katello-pulp)
Requires: python-rhsm >= 1.8.0
Error: Package: python-crane-2.1.0-1.el7.noarch (katello-pulp)
Requires: python-rhsm
Error: Package: python-pulp-repoauth-2.13.4-1.el7.noarch (katello-pulp)
Requires: python-rhsm

So .,… just two packages. python-rhsm and python-flask. IIRC flash will
require two others. Not sure about rhsm, never installed it from rpm.

python-rhsm is in base/updates while python-flask is in extras. I’d get both from CentOS and see if that solves the problem.

Apparently they’re not in base or extras for amazon. I’ve got both enabled and came up empty. grabbing rpm now. the install seems to have gone off well. here’s what I needed to download seperately (the CentOS 7 versions of each):

python-flask >= 0.9
python-rhsm >= 1.8.0
python-itsdangerous
python-werkzeug
python-rhsm-certificates = 1.19.9-1.el7

Barring that the CentOS 7 instructions worked just fine.

I correct myself. It went well till I tried to run the foreman-installer.

foreman-installer --scenario katello

backtrace:
/opt/puppetlabs/bin/puppet:5:in <main>' :1:inblock in call_function’
:in stack' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:306:inoverride’
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in realtime' /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:306:inoverride’
/opt/puppetlabs/bin/puppet:5:in `'
Preparing installation Done
Something went wrong! Check the log for ERROR-level output
The full log is at /var/log/foreman-installer/katello.log