Red Hat Bugzilla – Bug 971539
Foreman OpenStack Installer requires 2 NICs on the Foreman Server
Last modified: 2015-04-06 23:21:19 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> 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):
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?
(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
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.
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
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
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.
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?
Verified with: openstack-foreman-installer-0.0.25-1.el6ost.noarch
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.