Upgrading to F 1.18 from 1.17.1 fails on tfm-ror51-rubygem-rails version 5.14/5.16

Problem:

Updating fails with error message

Error: Package: foreman-1.18.0-2.el7.noarch (Foreman_foreman-1_18)
       Requires: tfm-ror51-rubygem(rails) = 5.1.6
       Installed: tfm-ror51-rubygem-rails-5.1.4-4.el7.centos.noarch (Red_Hat_Software_Collection_rh-ror51)
           tfm-ror51-rubygem(rails) = 5.1.4
 You could try using --skip-broken to work around the problem

Foreman and Proxy versions:

1.17.1

Foreman and Proxy plugin versions:

Katello 3.6.0

You should be sure to first update foreman-release-scl to get the correct Rails repository. We noticed our docs don’t explicitly tell you to and we should add a conflicts in the foreman RPM with the older version but that hasn’t been implemented yet.

1 Like

What does foreman-release-scl actually do?

We have Foreman self hosting. I have all the repos sync’d here (I think). I have correctly applied them to the content host in question. I don’t understand which part of the process I’ve missed. Can you unpack foreman-release-scl in broad terms please?

OH! I see now. It’s a package not a script.

Downloading packages:
No Presto metadata available for Foreman_foreman-1_18
foreman-release-scl-5-1.el7.noarch.rpm                                                                            | 4.3 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : foreman-release-scl-5-1.el7.noarch                                                                                    1/2 
warning: /etc/yum.repos.d/tfm-ror51.repo saved as /etc/yum.repos.d/tfm-ror51.repo.rpmsave
  Cleanup    : foreman-release-scl-4-1.el7.noarch                                                                                    2/2 
Uploading Package Profile
Uploading Tracer Profile
  Verifying  : foreman-release-scl-5-1.el7.noarch                                                                                    1/2 
  Verifying  : foreman-release-scl-4-1.el7.noarch       

Hang on - now I have junk in my /etc/yum.repos.d. Does foreman-release-scl create new rpms and put them in place?

I feel like that is something that should not just be documented, but well documented. And also have a star put next to it.

Correct, I didn’t think about mirrored repositories. It was also pointed out I messed up the GPG key for it (Bug #24491: Rails dependencies on http://yum.theforeman.org/rails/foreman-1.18/ signed with the ‘wrong’ key - Packaging - Foreman).

Looks like Foreman :: Manual needs an update. For the 1.19 release preparation @tbrisker and I have been going over it and we’re working on updates. Any feedback on other issues would be highly welcome. Patches to https://github.com/theforeman/theforeman.org are even better :slight_smile:

Yes. And the most important information for those that are self hosting is that the repository for tfm-ror51 has changed from

https://copr-be.cloud.fedoraproject.org/results/%40theforeman/tfm-ror51/epel-7-$basesearch

to

http://yum.theforeman.org/rails/foreman-nightly/el7/$basearch

which I would say is sufficient a change that it should have made it into the changelog for the release?

Also - and I don’t like to tell you how to do your job given that I’m just a user - but is using a repo that explicitly says “nightly” in its title the right move for a production release?

1 Like

It is not. There should be one for each release, which you can see if you go to the directory listing. We’ve moved it around but I think we made a mistake to include it in foreman-release-scl and it should have been part of foreman-release since that’s already versioned per-release. Now there’s been a bit of a mess with versioning and ensuring the right version is installed.

The repository fixes are planned for 1.17.2, 1.18.1 and 1.19.0-RC2. Those should be released soon.