This bug was fixed in the package open-iscsi -
2.0.873+git0.3b4b4500-14ubuntu3.4
---------------
open-iscsi (2.0.873+git0.3b4b4500-14ubuntu3.4) xenial; urgency=medium
* d/p/08_Parse-origin-value-from-iBFT.patch
* d/p/09_Represent-DHCP-origin-as-an-enum-not-a-string.patch
* d/p/10_iBFT-origin-is-an-enum-not-a-string.patch
- Cherry pick upstream patches to parse IP origin passed in by IBFT.
iscsistart -f will now display the correct iface.bootproto
(e.g. static or dhcp) (LP: #1684039)
* d/extra/initramfs.local-top: When booting from iBFT,
set the PROTO= entry in /run/net-*.conf accordingly,
so that other tools, such as cloud-init, can use that
information. (cloud-init fails if the current PROTO=none
is used.) (Closes: #866213)
-- Trent Lloyd <[email protected]> Fri, 23 Jun 2017 18:03:36
+0800
** Changed in: open-iscsi (Ubuntu Xenial)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1684039
Title:
iBFT network configuration does not correctly populate PROTO=dhcp in
/run/net-*.conf which breaks cloud-init
Status in open-iscsi package in Ubuntu:
Fix Committed
Status in open-iscsi source package in Xenial:
Fix Released
Status in open-iscsi source package in Yakkety:
Won't Fix
Status in open-iscsi source package in Zesty:
In Progress
Status in open-iscsi source package in Artful:
Fix Committed
Status in open-iscsi package in Debian:
Fix Released
Bug description:
[Impact]
When booting with iBFT, the network configuration is performed by open-iscsi
as part of initramfs.local-top instead of by klibc-ipconfig. This includes
populating /run/net-*.conf which is consumed among other things, by cloud-init.
Currently no attempt to determine PROTO is made, and PROTO=none is hard coded
into the file which cloud-init does not recognise and crashes out.
Further to this, open-iscsi in the current version (xenial through zesty)
does not correctly parse the iBFT origin into the boot protocol in "iscsistart
-f" and always returns "STATIC". This is fixed upstream.
[Test Case]
(1) Setup MAAS 2 environment. Install 16.04 LTS images from the
"Daily" Stream. Check settings and ensure Commissioning kernel is
16.04 LTS and "xenial (ga-16.04)"
(2) Enroll a libvirt virtual machine as a machine within the MAAS
including a SINGLE local disk
(3) Install the 'ipxe' package on your libvirt machine
(4) Commission and test and ensure it's otherwise working
(5) Update MAAS settings and add iscsi_auto to the "Global Kernel
Parameters"
(6) You need to build a new open-iscsi package for xenial with the
fix, and then rebuild an initrd for 4.4.0-87-generic with the fix
integrated. An easy way to do that is to deploy the machine, install
the updated (fixed) package and then copy the initrd from
/boot/initrd.img-4.4.0-87-generic to the MAAS server. But you could
also build it on any other xenial machine with that kernel installed.
(7) Edit the virtual machine config using virt-manager and under the "Boot
Options" enable direct kernel boot, set kernel path to /usr/lib/ipxe/ipxe.lkrn
and the kernel args to (all one line):
ifconf -c dhcp && sanhook --drive 0x81
iscsi:100.64.0.253::3260:1:iqn.2004-05.com.ubuntu:maas:ephemeral-ubuntu-amd64-ga-16.04-xenial-daily
; autoboot
Change 100.64.0.253 to the IP of your MAAS instance on the network
that it uses to PXE boot.
(8) Try to commission the machine again, you should see it fail if you
watch the console (it will also show failed in MAAS) and you'll
briefly see a message about PROTO=none
(9) Update the initrd on the MAAS server:
cd
/var/lib/maas/boot-resources/current/ubuntu/amd64/ga-16.04/xenial/daily/
mv boot-initrd boot-initrd.orig
cp (PATHMAYBEDIFFERENT)/boot/initrd.img-4.4.0-87-generic boot-initrd
(10) Try to commission the machine again, it should now succeed with
the patched initrd. A deployment will also work but a commission is
sufficient enough to test.
Notes:
- MAAS may do an image sync and overwrite your updated initrd. So watch out
for that. boot-resources/current is also a symlink so you may need to cd out
and back in
- Advantage of using MAAS to do this is that it also tests that iSCSI boot
is otherwise working and not broken by this change, as the commission and
deploy etc use iSCSI root. There is also a test for this in debian/tests
(tgt-boot-test)
[Regression Potential]
We believe the regression risk is "low" and don't envision any.
The package (including the fixes) has been intensively tested pre-SRU.
If regression is found, it'll be clearly less critical than this
actual bug where cloud-init breaks because of this actual missing
piece of code and It'll most likely only affect system booting with
iBFT.
Additionally, the patches has been proven to work Upstream and Debian
for a couple of years now.
* autopkgtest failure
==
XENIAL
==
* Regression in autopkgtest for open-iscsi (i386): test log
This autopkgtest started to fail more than a year ago, more precisely on
"2016-03-30"[1] with open-iscsi version : "2.0.873+git0.3b4b4500-14ubuntu2"
Meaning that this was already there prior to this current SRU.
[1] - http://autopkgtest.ubuntu.com/packages/o/open-iscsi/xenial/i386
2.0.873+git0.3b4b4500-14ubuntu2 open-iscsi/2.0.873+git0.3b4b4500-14ubuntu2
2016-03-30 03:46:43 UTC 0h 27m 12s fail log artifacts
* Regression in autopkgtest for open-iscsi (amd64): test log
This autopkgtest started to fail more than a year ago, more precisely on
"2016-04-13"[2] with open-iscsi version : "2.0.873+git0.3b4b4500-14ubuntu2"
Meaning that this was already there prior to this current SRU.
[2] - http://autopkgtest.ubuntu.com/packages/o/open-iscsi/xenial/amd64
2.0.873+git0.3b4b4500-14ubuntu2 open-iscsi/2.0.873+git0.3b4b4500-14ubuntu2
2016-04-13 07:13:11 UTC 0h 16m 17s fail log artifacts
==
[Other Info]
* This SRU includes the following upstream/debian fixes :
# Debian:
0347300 initramfs: populate PROTO= entry in /run/net-*.conf from iBFT
# Upstream
- 08_Parse-origin-value-from-iBFT.patch -->
https://github.com/open-iscsi/open-iscsi/commit/78e24f50ab754f35f4aa208ade7c9fd794d82036#diff-c53311d3f6725aa63577b7bf4b582c3d
- 09_Represent-DHCP-origin-as-an-enum-not-a-string.patch -->
https://github.com/open-iscsi/open-
iscsi/commit/4959a89f421fdebc521f48003a79c2161e59d192#diff-
c53311d3f6725aa63577b7bf4b582c3d
- 10_iBFT-origin-is-an-enum-not-a-string.patch --> https://github.com
/open-iscsi/open-iscsi/commit/3f15a2270a7efb1a6ee8ef555b01f3d8674818b9
#diff-3ba89d9a64dda0ffc3664bbc27b0fa27
[Original Description]
When booting with iBFT, the network configuration is performed by
open-iscsi as part of initramfs.local-top instead of by klibc-
ipconfig. This includes populating /run/net-*.conf which is consumed
among other things, by cloud-init.
Currently no attempt to determine PROTO is made, and PROTO=none is
hard coded into the file which cloud-init does not recognise and
crashes out.
Further to this, open-iscsi in the current version (xenial through
zesty) does not correctly parse the iBFT origin into the boot protocol
in "iscsistart -f" and always returns "STATIC". This is fixed
upstream.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/1684039/+subscriptions
_______________________________________________
Mailing list: https://launchpad.net/~group.of.nepali.translators
Post to : [email protected]
Unsubscribe : https://launchpad.net/~group.of.nepali.translators
More help : https://help.launchpad.net/ListHelp