fuel 5.1.1 does not use any other interface except eth0 for the admin network

Asked by abdul hannan ghafoor

i have installed fuel 5.1.1 with admin (pxe ) network on eth0. it works properly. however when i try to use any other interface like eth1 or eth2 for admin network, the slave nodes does not detect the pxe server on the master node.i have tried the following approaches

1.i have also selected the pxe interface to be eth2 on the fuel setup screen. but that did not help either.

2.i have tried to edit manually the config files of cobbler by editing the ( /etc/dnsmasq.conf) file present in the docker container path.

3. i have tried editing the cobbler template by editing the ( /etc/cobbler/dnsmasq.template ) file present in the docker container path and after that doing the cobbler sync. important thing to notice here that the dnsmasq.conf file did not change after the cobbler sync.

4. i have tried changing the names of the interfaces. the slave nodes detects the ips but getting the error in the end "PXE E11 ARP timeout"

apparently i should be able to pxe boot the slave nodes by just changing the pxe setup option in the fuel setup. but that is not the case here ......... so what should i do now ???

Question information

Language:
English Edit question
Status:
Solved
For:
Fuel for OpenStack Edit question
Assignee:
No assignee Edit question
Solved by:
abdul hannan ghafoor
Solved:
Last query:
Last reply:
Revision history for this message
Evgeny Kozhemyakin (ekozhemyakin) said :
#1

Hello,

PXE must be configured only in scope of master node first boot. Please see here
http://docs.mirantis.com/openstack/fuel/fuel-6.0/user-guide.html#pxe-setup
The doc suggests rebuilding all the containers after changing pxe params.

In your case please check that you dhcrelay listen the proper NIC and make sure iptables rules don't block pxe traffic.
Quickly you can just run
"/usr/sbin/dhcrelay -i eth2 -i docker0 172.17.0.11" and "iptables -F" on master node.

You've changed dnsmasq.conf/dnsmasq.template in the cobbler container. Please note these files work inside container, there is only eth0 inside. Have you set eth2 there?

Revision history for this message
abdul hannan ghafoor (ahannan-ghafoor) said :
#2

thanks for the quick reply @Evgeny.

i have checked the dhcrelay and have turned off iptables but still no PXE booting of slave nodes.

actually i found something regarding changing the network parameters
https://software.mirantis.com/refdoc-fuelweb3/changing-network-parameters/

the guide says to change the interface name in dnsmasq file. the dnsmasq.conf i could find was in the docker container file. bu it did not help.

i tried changing

do u have any other suggestion?

Revision history for this message
abdul hannan ghafoor (ahannan-ghafoor) said :
#3

ok i think i have narrow down what might be the problem here ....

i think the fuel master is working fine. its the fuel slave nodes that are causing trouble. by default pxe clients listen on eth0 for the pxe booting. since in my case eth2 of the slave node is connected to the eth2 of the master node. eth0 at the master node is connected to the slave node at the eth0 but using different switch and the different network. the client by default sends out dhcp request at the eth0 for pxe booting and since it could not find any dhcp server, it displays the error as " no boot file found ".

one possible solution that i can do is to change the names of interfaces in the bios in the preboot environment. is it possible ??? if yes how to do that

thanks in advance

Revision history for this message
abdul hannan ghafoor (ahannan-ghafoor) said :
#4

ok i have found the error which was causing the pxe to fail. the problem was not with the pxe or fuel, it was with the hardware. i have broadcom and intell nics. the pxe option was not enabled in the bios menu. after enabling the option, pxe is finally working :)

Revision history for this message
Evgeny Kozhemyakin (ekozhemyakin) said :
#5

I don't think you have to change interfaces's names (and never heard it's possible) in bios. Your client server should usially use any NIC in turn or you can set eth2 for PXE boot. So it must not be the problem.

Please check whether xinetd in cobbler container listens 69 utp (run "dockerctl shell cobbler" to enter into the container), whether tftp packets come to the right interface and get into the cobbler container (use tcpdump inside container).

ps: oops. Great to hear it.

Revision history for this message
Priya Kanaujia (priya-kanaujia) said :
#6

i have installed fuel-master in my vm. After PXE boot in the nodes, the private interface is not getting recognized,as a result Fuel-Master is unable to assign them IP's.
Is there any alternate way to solve this issue?