Baremetal server can't get correct TFTP server address for provisioning

Bug #1724595 reported by Vasyl Saienko
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
Trunk
Fix Committed
High
Sergey Matov
OpenContrail
Fix Committed
Undecided
Sergey Matov

Bug Description

Contrail sets 'siaddr' field in DHCP reply to address of TSN node. According to rfc2131 https://www.ietf.org/rfc/rfc2131.txt 'siaddr' is recognized by PXE client as tftp server to boot from, even when option 66 tftp-server-name is set. The good explanation of 'siaddr' field is in https://tools.ietf.org/html/rfc5859

It leads to failed deployment of Baremetal node which doesn't support IPXE. IPXE doesn't use 'siaddr' or option 66. It use only option 67 - which is direct http or ftp link.

An example of DHCP reply from Contrail (both Server-IP 'siaddr' and Server-ID 'option 54 are set to the TSN node 10.20.30.2)

    10.20.30.2.67 > 255.255.255.255.68: [no cksum] BOOTP/DHCP, Reply, length 326, xid 0x7a6c69a8, Flags [Broadcast] (0x8000)
          Your-IP 10.20.30.82
          Server-IP 10.20.30.2
          Client-Ethernet-Address 0c:c4:7a:6c:69:a8
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Offer
            Server-ID Option 54, length 4: 10.20.30.2
            Lease-Time Option 51, length 4: 4294967295
            Subnet-Mask Option 1, length 4: 255.255.255.0
            BR Option 28, length 4: 10.20.30.255
            BF Option 67, length 11: "/pxelinux.0"
            T210 Option 210, length 18: 12150,24946,12140,26978,12148,26228,28770,28527,29743
            TFTP Option 66, length 11: "10.20.30.11"
            Default-Gateway Option 3, length 4: 10.20.30.1
            Domain-Name-Server Option 6, length 4: 10.20.30.2

Vasyl Saienko (vsaienko)
description: updated
Vasyl Saienko (vsaienko)
description: updated
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/36679
Submitter: Vasyl Saienko (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/35131
Submitter: Vasyl Saienko (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote :

Review in progress for https://review.opencontrail.org/35131
Submitter: Sergey Kreys (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/35131
Committed: http://github.com/Juniper/contrail-controller/commit/554a31d8fe15239b7f9536ab73f5ddcf8fb8ecba
Submitter: Zuul (<email address hidden>)
Branch: master

commit 554a31d8fe15239b7f9536ab73f5ddcf8fb8ecba
Author: Andrey Shestakov <email address hidden>
Date: Tue Aug 29 14:57:48 2017 +0300

Set DHCP siaddr to IP of the TFTP server if set

DHCP clarifies the interpretation of the 'siaddr' field as the
address of the server to use in the next step of the client's
bootstrap process according to rfc 2131
https://www.ietf.org/rfc/rfc2131.txt

TSN node doesn't provide tftp service, and for baremetal provisioning
the tftp is located on ironic-conductor host.

This patch update DHCP to set siaddr to value set in option 66 if
provided.

Closes-Bug: #1724595

Change-Id: I997585ffacbeb0fd86b95a3489abd832f1b391d9

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/38549
Submitter: Sergey Matov (<email address hidden>)

Changed in opencontrail:
assignee: nobody → Sergey Matov (smatov)
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/38549
Committed: http://github.com/Juniper/contrail-controller/commit/8c8adffd749d94784e69b16722fa7fd968be6a96
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master

commit 8c8adffd749d94784e69b16722fa7fd968be6a96
Author: Sergey Matov <email address hidden>
Date: Mon Dec 25 10:56:11 2017 +0400

Optimize tftp server option handling to store siaddr

This fix allows to store siaddr in variable and restore it to
update DHCP.

Change-Id: I892f632a27b389899ac5691950324686990f634c
Partial-Bug: #1724595

Sachin Bansal (sbansal)
Changed in opencontrail:
status: New → Fix Committed
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.