Bug 1397518 - upgrade from 6.1 to 6.2 fails if dhcpd.conf contains broken config
Summary: upgrade from 6.1 to 6.2 fails if dhcpd.conf contains broken config
Keywords:
Status: CLOSED DUPLICATE of bug 1267766
Alias: None
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Installer
Version: 6.2.4
Hardware: Unspecified
OS: Unspecified
medium
medium vote
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-22 17:09 UTC by Patrick C. F. Ernzer
Modified: 2016-11-23 09:51 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-22 19:13:38 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Patrick C. F. Ernzer 2016-11-22 17:09:07 UTC
Description of problem:
while trying to update 6.1.9 to 6.2.4 I ran into the following bug;
Operator had made an error during install (of 6.1) that led to a non functional dhcpd.conf
upgrade starts but fails

Version-Release number of selected component (if applicable):
satellite 6.2.4

How reproducible:
always

Steps to Reproduce:
1. install 6.1 with "katello-installer --capsule-dhcp true --capsule-dhcp-interface ens192 --capsule-dhcp-range "10.248.0.240 10.248.0.154" --capsule-dhcp-gateway 10.248.0.1" while having an IP in another network (10.246.0.238/24)
2. attempt to upgrade to 6.2.4 as per the official docs ( https://access.redhat.com/documentation/en/red-hat-satellite/6.2/single/installation-guide#upgrading_a_connected_satellite_server )

Actual results:
upgrade fails because dhcpd.conf contains junk

Expected results:
one of
- 'foreman-rake katello:upgrade_check' catches the broken dhcpd.conf
- 'satellite-installer / katello-installer' catches the bogus range and refuse to use it

Additional info:
'ip a s' of the affected machine
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether <REDACTED> brd ff:ff:ff:ff:ff:ff
    inet 10.246.0.238/24 brd 10.246.0.255 scope global ens192
       valid_lft forever preferred_lft forever

dhcpd.conf (note the 246 vs 248) contains
subnet 10.246.0.0 netmask 255.255.255.0 {
  pool
  {
    range 10.248.0.240 10.248.0.154;
  }

  option subnet-mask 255.255.255.0;
  option routers 10.248.0.1;
}

obviously at the time the dhcpd servce is started by satelite-installer the exit code is not 0 (as 10.248... is not inside 10.246.0.0/24)


workaround was to run 'satellite-installer --scenario satellite --upgrade --foreman-proxy-dhcp false'

Comment 3 Stephen Benjamin 2016-11-22 19:13:38 UTC
This is a dupe of https://bugzilla.redhat.com/show_bug.cgi?id=1267766.

The ranges given aren't bad, the operator may very well have made a mistake, but it might not have been in another situation.  Your dhcpd can manage leases for a subnet that's not explicitly attached to an interface, via DHCP relay.  

The problem is we generate the subnet declaration in the dhcpd.conf (subnet 10.246.0.0 netmask 255.255.255.0 part) based on the interface's own IP, instead of the ranges given.  We need to let a user override that.

You are right that if a user gives us a range and doesn't give us a subnet that matches up we should error, but that should be covered by the other BZ too.

*** This bug has been marked as a duplicate of bug 1267766 ***


Note You need to log in before you can comment on or make changes to this bug.