Project

General

Profile

Actions

Bug #13104

closed

CentOS minor version numbering issue - preventing build

Added by Michael Deffenbaugh about 8 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Unattended installations
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

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


Related issues 3 (1 open2 closed)

Related to Foreman - Bug #6884: Centos mirror in "Installation Media" doesn't work for versions without $minorClosedDaniel Lobato Garcia08/01/2014Actions
Related to Foreman - Bug #17193: Duplicated OS (CentOS) detectionNew11/03/2016Actions
Related to Foreman - Bug #17335: puppet_fact_parser.rb does not correctly add hosts facts whos minor number does not exist or is emptyClosedDominic Cleal11/15/2016Actions
Actions #1

Updated by Michael Deffenbaugh about 8 years ago

  • Related to Bug #6884: Centos mirror in "Installation Media" doesn't work for versions without $minor added
Actions #2

Updated by Qiong Wu about 8 years ago

thats rather annoying, so currently I cant provision a CentOS 7 host from foreman correctly?

Actions #3

Updated by Tomer Brisker over 7 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
Actions #4

Updated by Anonymous over 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions #5

Updated by Dominic Cleal over 7 years ago

  • translation missing: en.field_release set to 190
Actions #6

Updated by Daniel Lobato Garcia over 7 years ago

  • Target version set to 1.5.2
Actions #7

Updated by Davide Ferrari over 7 years ago

Hello

this fix "broke" my foreman 1.13 installation wrt OSes: after updating now I've duplicated CentOS versions

Actions #8

Updated by Dominic Cleal over 7 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.

Actions #9

Updated by Davide Ferrari over 7 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)

Actions #10

Updated by Davide Ferrari over 7 years ago

Ok, created #17193

Actions #11

Updated by Davide Ferrari over 7 years ago

  • Related to Bug #17193: Duplicated OS (CentOS) detection added
Actions #12

Updated by Dominic Cleal over 7 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
Actions

Also available in: Atom PDF