Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1144862

Summary: The “provision Template” sets “DEFROUTE=no” on the “provisioning interface” of the control node
Product: Red Hat OpenStack Reporter: Steven Carter <stevenca>
Component: rhel-osp-installerAssignee: Mike Burns <mburns>
Status: CLOSED DUPLICATE QA Contact: Omri Hochman <ohochman>
Severity: medium Docs Contact:
Priority: medium    
Version: Foreman (RHEL 6)CC: bthurber, jdonohue, mburns, rhos-maint, sgordon, yeylon
Target Milestone: z2Keywords: ZStream
Target Release: Installer   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-30 12:39:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1154145, 1154159, 1154162    

Description Steven Carter 2014-09-21 16:17:11 UTC
Description of problem:
The “provision Template” sets “DEFROUTE=no” on the “provisioning interface” of the control node in the following block:

<% if @host.hostgroup.to_s.include?("Controller") %>
echo "setting DEFROUTE=no on $PROVISION_IFACE"
sed -i '
    /DEFROUTE/ d
    $ a\DEFROUTE=no
' /etc/sysconfig/network-scripts/ifcfg-$PROVISION_IFACE
<% end -%>

This is contradictory to the proceeding block that specifically avoids setting “DEFROUTE=no” on the provisioning interface:

# get name of provisioning interface
PROVISION_IFACE=$(ip route  | awk '$1 == "default" {print $5}' | head -1)
echo "found provisioning interface = $PROVISION_IFACE"

IFACES=$(ls -d /sys/class/net/* | while read iface; do readlink $iface | grep -q virtual || echo ${iface##*/}; done)
for i in $IFACES; do
    sed -i 's/ONBOOT.*/ONBOOT=yes/' /etc/sysconfig/network-scripts/ifcfg-$i
    if [ "$i" != "$PROVISION_IFACE" ]; then
        echo "setting PEERDNS=no on $i"
        sed -i '
            /PEERDNS/ d
            $ a\PEERDNS=no
        ' /etc/sysconfig/network-scripts/ifcfg-$i
<% unless @host.hostgroup.to_s.include?("Controller") %>
        echo "setting DEFROUTE=no on $i"
        sed -i '
            /DEFROUTE/ d
            $ a\DEFROUTE=no
        ' /etc/sysconfig/network-scripts/ifcfg-$i
<% end -%>
    fi
done

Version-Release number of selected component (if applicable):
RHEL-OSP5 Installer

How reproducible:
Reproducible

Steps to Reproduce:
1. Create Deployment
2. Add node to "base_RedHat_7/rhelosp1/Controller (Neutron)" host group
3. Install node

Actual results:
"DEFROUTE=no" get set on the “provisioning interface” and horizon cannot be reach off-net.

Expected results:
"DEFROUTE=yes" get set on the “provisioning interface” and horizon can be reach off-net.

Additional info:
I worked around this by setting DEFROUTE=yes in the second block.

Comment 3 Mike Burns 2014-09-30 12:39:39 UTC
The correct solution is for the default gateway to be placed on the nic with the Public API traffic.  This was done as part of bug 1142295

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