The way this is working in cloud-init seems to me to make some sense.
Basically, there are 3 places cloud-init can get its network configuration. In 
order of increasing precedence:
 1. datasource (only works for local datasources currently)
 2. system configuration
 3. kernel command line.
    a.) ip= argument: files written by the initramfs networking system 
(/run/net-eth0.conf) for example.

    b.) network-config= argument.  This is yaml formated text blob.

So, if datasource (1) provides network config, but the system says not
to pay attention to it (2), then cloud-init will not write network
config.  Similarly if system says it is disabled, but the kernel command
line enables it, then cloud-init will write networking config.

You're kind of hitting a weird situation where the kernel cmdline has
3a, but you dont want cloud-init to render system based on that.  (The
reason you dont is a bug somewhere, but I'm not sure, as this does not
happen in many iscsi root scenarios that we have and test).

One solution I think should work for you is if you pass on the kernel command 
line:
 network-config=eyJuZXR3b3JrIjp7ImNvbmZpZyI6ImRpc2FibGVkIn19fQ==

This is specifying the config to cloud-init in base64 encoded network
config format (described at
http://curtin.readthedocs.io/en/latest/topics/networking.html).

So what you have there is:
$ echo eyJuZXR3b3JrIjp7ImNvbmZpZyI6ImRpc2FibGVkIn19fQ== | base64 --decode ; echo
{"network":{"config":"disabled"}}}


Last thing... I see 'netroot=' on you command line.
I'm guessing that means you've generated an initramfs with dracut?
I do not know how well that would be supported in ubuntu.  My experience with 
iscsi root is with initramfs-tools which would take a different form of kernel 
command line.

In 16.04 and later you should be able to use root=iscsi:<rfc4173>
 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804162
I think that is also supported in dracut if you're looking for something 
supported by both.



** Bug watch added: Debian Bug tracker #804162
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=804162

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1640635

Title:
  cloud-init creates /etc/network/interfaces.d/50-cloud-init.cfg even if
  /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg present

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1640635/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to