Bug #13104
closedCentOS minor version numbering issue - preventing build
Description
Foreman is providing an incorrect installation media url to the unattended installer for CentOS installations.
Current Behavior:
Installation media URL:
http://mirror.example.com/centos/$version/os/$arch where it seems $version is evaluated at $major.$minor (as reported facter).
Related issue: #6884
Example OS: CentOS 7.2.1511
This causes problems with CentOS installs as facter reports $minor as "2", rather than "2.1511". The resulting URL does not exist on a CentOS Mirror:
http://mirror.example.com/centos/7.2/os/x86_64
Workaround - Create a sym-link in the mirror from 7.2 to 7.2.1511. This is only viable for administrators who run a mirror locally (or one they otherwise control).
Workaround 2 - change the installation URL to http://mirror.example.com/centos/$major/os/$arch. While this works, it will provision whatever the most recent release is, regardless of what was selected for the host.
Possible Solutions
1. Rather than manually creating the $version by concatenating $major and $minor, why not just map $version in the installation url the full version number as reported by factor?
Example factor OS hash pulled from foreman:
{"name"=>"CentOS", "family"=>"RedHat", "release"=>{"major"=>"7", "minor"=>"2", "full"=>"7.2.1511"}, "lsb"=>{"distcodename"=>"Core", "distid"=>"CentOS", "distdescription"=>"CentOS Linux release 7.2.1511 (Core) ", "release"=>":core-4.1-amd64:core-4.1-noarch", "distrelease"=>"7.2.1511", "majdistrelease"=>"7", "minordistrelease"=>"2"}}
1a) make this a separate field supported within the operating system definition menu in the Foreman UI - and have the value pulled from facter (fact os.release.full) rather than recalculating it internally in foreman
2) Make this an issue for facter; should $minor be reporting as $full less $major?
It should be noted, this is assuming some nodes all ready exist, and are reporting facts. Initially an Operating System could be defined just as
Major = 7
Minor = 2.1511
But the moment the first host reports in, Minor gets overwritten and provisioning stops working
Updated by Michael Deffenbaugh over 8 years ago
- Related to Bug #6884: Centos mirror in "Installation Media" doesn't work for versions without $minor added
Updated by Qiong Wu over 8 years ago
thats rather annoying, so currently I cant provision a CentOS 7 host from foreman correctly?
Updated by Tomer Brisker about 8 years ago
- Status changed from New to Ready For Testing
- Assignee set to Tomer Brisker
- Pull request https://github.com/theforeman/foreman/pull/3836 added
Updated by Anonymous about 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset af6d54a3a184846f77f5fd7ca07bcdc7de70a264.
Updated by Dominic Cleal about 8 years ago
- Translation missing: en.field_release set to 190
Updated by Davide Ferrari almost 8 years ago
Hello
this fix "broke" my foreman 1.13 installation wrt OSes: after updating now I've duplicated CentOS versions
Updated by Dominic Cleal almost 8 years ago
Please file a new issue with precise details of what's happening if you're experiencing a bug. This ticket is already merged and closed.
Updated by Davide Ferrari almost 8 years ago
Let me explain: before our OSes were:
- CentOS Linux 7.1.1503
- CentOS Linux 7.2.1511
now with 1.13.1, with this fix implemented, there are 2 more OSes in addition:
- CentOS 7.1.1503
- CentOS 7.2.1511
obviously with no template associated, no disk layout, nothing. And about half of our machines switched to this new OSes and the other half stayed with the old (maybe something related to LSB not being installed on the machines that remained with the original version)
Updated by Davide Ferrari almost 8 years ago
- Related to Bug #17193: Duplicated OS (CentOS) detection added
Updated by Dominic Cleal almost 8 years ago
- Related to Bug #17335: puppet_fact_parser.rb does not correctly add hosts facts whos minor number does not exist or is empty added