Ironic installation guide does not describe the enable operation of the TFTP service

Bug #1596389 reported by zhuxuanlong
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Won't Fix
Undecided
Unassigned

Bug Description

Openstack version: Mitaka
[root@controller43 ~(keystone_admin)]# openstack --version
openstack 2.2.0

Ironic installation Guide: http://docs.openstack.org/developer/ironic/deploy/install-guide.html

There's a very friendly place in the document. For the driver of pxe_ipmitool, the tftp service must be enabled. And the tftp service is started by dnsmasq service. But the default configuration of neutron does not enable tftp service, and ironic installation guide does not describe the enable of tftp. For example:
ps -ef | grep dnsmasq
nobody 7385 1 0 15:41 ? 00:00:00 dnsmasq --no-hosts --no-resolv --strict-order --except-interface=lo --pid-file=/var/lib/neutron/dhcp/26a484da-90fa-48e3-b1b7-76241e8c51f0/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/26a484da-90fa-48e3-b1b7-76241e8c51f0/host --addn-hosts=/var/lib/neutron/dhcp/26a484da-90fa-48e3-b1b7-76241e8c51f0/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/26a484da-90fa-48e3-b1b7-76241e8c51f0/opts --dhcp-leasefile=/var/lib/neutron/dhcp/26a484da-90fa-48e3-b1b7-76241e8c51f0/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tap44995540-16 --dhcp-range=set:tag0,10.0.0.0,static,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=256 --conf-file=/etc/neutron/dnsmasq-neutron.conf --domain=openstacklocal

If the tftp service started by dnsmasq, the function of _build_cmdline_callback must be added the tftp enable operation(the operation of '--enable-tftp' and '--tftp-root=/tftpboot'). Such as:
/usr/lib/python2.7/site-packages/neutron/agent/linux/dhcp.py
    def _build_cmdline_callback(self, pid_file):
        # We ignore local resolv.conf if dns servers are specified
        # or if local resolution is explicitly disabled.
        _no_resolv = (
            '--no-resolv' if self.conf.dnsmasq_dns_servers or
            not self.conf.dnsmasq_local_resolv else '')
        cmd = [
            'dnsmasq',
            '--no-hosts',
            _no_resolv,
            '--strict-order',
            '--except-interface=lo',
            '--pid-file=%s' % pid_file,
            '--dhcp-hostsfile=%s' % self.get_conf_file_name('host'),
            '--addn-hosts=%s' % self.get_conf_file_name('addn_hosts'),
            '--dhcp-optsfile=%s' % self.get_conf_file_name('opts'),
            '--dhcp-leasefile=%s' % self.get_conf_file_name('leases'),
            '--dhcp-match=set:ipxe,175',

            '--enable-tftp',
            '--tftp-root=/tftpboot',
        ]

Revision history for this message
Sam Betts (sambetts) wrote :

There is a section in the guide that describes setting up the TFTP service, we don't use dnsmasq to serve the TFTP to the node: http://docs.openstack.org/developer/ironic/deploy/install-guide.html#pxe-setup

If you want to use the Neutron DHCP server as the host for TFTP then this is something that needs to be worked on as a feature in Ironic and Neutron, so will require an RFE bug to be summitted.

Changed in ironic:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.