Bug 971539 - Foreman OpenStack Installer requires 2 NICs on the Foreman Server
Foreman OpenStack Installer requires 2 NICs on the Foreman Server
Status: CLOSED CURRENTRELEASE
Product: Red Hat OpenStack
Classification: Red Hat
Component: doc-Installation_and_Configuration_Guide (Show other bugs)
3.0
Unspecified Unspecified
unspecified Severity unspecified
: ---
: 4.0
Assigned To: Scott Radvan
Omri Hochman
: Documentation
Depends On:
Blocks: 1011085
  Show dependency treegraph
 
Reported: 2013-06-06 14:37 EDT by Stephen Gordon
Modified: 2015-04-06 23:21 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-01-05 19:02:18 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Stephen Gordon 2013-06-06 14:37:54 EDT
Description of problem:

When running foreman_server.sh from the ruby193-openstack-foreman-installer package I receive this message:

# sh foreman_server.sh 
This installer needs 2 configured interfaces - only 1 detected

As a result I assumed that foreman installation requires two NICs. When the instructions I had written based on this went for review though...

<jomara> steveg: foreman machine does not need 2 nics, the openstack nodes do
<steveg> jomara, really? because it failed for me without it
<jomara> foreman did? 
<steveg> yes
<steveg> the install script
<jomara> steveg: the private/public interface configuration?
<steveg> jomara, i assumed so yeah - it isn't exactly the most interactive beast
<jomara> steveg: hehe no it is not - those are network configs for openstack, not foreman
<jomara> its slightly unintuitive, you enter them in on your foreman box but they get applied to the controller and compute
<steveg> but why is it running them at that point?
<steveg> this is when i sh foreman_server.sh

I don't really know what is "right" here. Either the script is incorrectly requiring 2 NICs or the message could probably expand upon *why* it needs them (I suspected something to do with smart proxy deployment but I'm not sure we are even doing that?).

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

ruby193-openstack-foreman-installer-0.0.11-1.el6ost.x86_64
Comment 2 Crag Wolfe 2013-08-07 14:15:15 EDT
In provisioning mode (i.e., foreman is responsible for owning the pxe server and installing client OSes), two NIC's are required, one "internal" and one "external."  So, perhaps there should be more of a "why."  However, shouldn't that belong in the documentation and not the script output?
Comment 3 Stephen Gordon 2013-08-07 14:53:21 EDT
(In reply to Crag Wolfe from comment #2)
> In provisioning mode (i.e., foreman is responsible for owning the pxe server
> and installing client OSes), two NIC's are required, one "internal" and one
> "external."  

Which is effectively the default.

> So, perhaps there should be more of a "why."  However,
> shouldn't that belong in the documentation and not the script output?

The documentation actually does state that two NICs are required, I raised this bug to seek clarification as a result of the conversation I had with Jordan where it was suggested that it's not in fact strictly required.
Comment 4 Crag Wolfe 2013-08-07 16:50:39 EDT
It is strictly required in provisioning mode.  Reading back through the pasted IRC text, when jomara writes "foreman machine does not need 2 nics..." that is true, in non-provisioning mode.  We don't really care what the nic config of the foreman server is in the non-provisioning mode, as long as the clients are able to reach the foreman server.  The openstack public/private nic configuration is a separate issue.

In the provisioning case, the foreman node has two nic's.  Let's give those networks the names of external and foreman_provisioning.  E.g.:

 foreman |-- external
         |-- foreman_provisioning (NAT'ed)

The openstack nodes would have three nic's where the networking config looks like:

  openstack_node |-- foreman_provisioning
                 |-- openstack_public
                 |-- openstack_private


In the non-provisioning case, the openstack_nodes still need the openstack_public and openstack_private nic's, and way to reach the foreman server.  For simplicity, let's just say they do that through the external network.  E.g.

  foreman |-- external

  openstack_node |-- external
                 |-- openstack_public
                 |-- openstack_private

In either the provisioning or non-provisioning case, foreman is still responsible for telling the openstack_nodes which interfaces to use for openstack_public and openstack_private, i.e. they are the environment variables PRIVATE_INTERFACE and PUBLIC_INTERFACE in foreman_server.sh.
Comment 5 Stephen Gordon 2013-11-27 09:15:25 EST
Hi guys,

Crag tells me that the situation per comment # 4 is now clarified in the documentation, can you confirm that this is the case and if not take appropriate action to ensure that it is?

Thanks,

Steve
Comment 7 Omri Hochman 2013-12-16 10:41:41 EST
Verified with: openstack-foreman-installer-0.0.25-1.el6ost.noarch

(puddle 2013-12-12.1)

In foreman_server.sh :  When setting 'FOREMAN_PROVISIONING=False' the script do not require for two available NICs with IP. 

When FOREMAN_PROVISIONING=True -> the script won't run without 2 NICs with IP.

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