Monday, 1 August 2016

Re: Annoucing netplan -- Consolidated YAML network configuration across Ubuntu

On 1 August 2016 at 09:02, Martin Pitt <[email protected]> wrote:
>
> Hello Christian,
>
> Christian Ehrhardt [2016-08-01 8:18 +0200]:
> > I read through the current yaml and recognized a lot from curtin/Maas that I
> > knew. There is one point I wanted to ... well not discuss, but mention at
> > least.
>
> Please do discuss these. This is meant to be demand driven -- i. e. if
> we need a feature for one of our installers, we add it.
>
> > So in that s390x world and reading this announcement as written with a
> > scope of: "unify and clean up networking configuration" I'd miss:
> > - a way configure my Network card options (layer2, hwchksum, ..)
>
> These settings are not currently exposed in NetworkManager or
> networkd. You can configure a few layer 2 settings like wake-on-lan,
> duplex, or MTU, but not the full range that you can set with e. g.
> ethtool. However, netplan could certainly generate udev rules which
> apply those settings via e. g. ethtool. udev rule generation already
> happens for other purposes (mostly to blacklist a device from NM if it
> is configured via networkd), so this isn't too hard in principle.
>

Well chzdev is a udev rule generator, which pokes things in sysfs to
make the card appear. On bare-metal, one has to manually "echo
1>online" to make the device by bus-id to be configured on the system,
after that happens - the network interface acctually appears and is
taken cared of.

Note that PCIe cards and Virtio cards do not need this extra fiddling
as far as I can tell, and they are available in a similar fashion like
on other platforms.

> Needless to say, contributions appreciated :-) (Just keep the test
> coverage at 100%).
>
> > - a way to identify my card by subchannel
>

Systemd defaults to stable naming by subchannel, stripping leading
zeros (similar to how chzdev accepts bus ids)

(See https://github.com/systemd/systemd/blob/master/src/udev/udev-builtin-net_id.c
for details)

> I'm afraid I don't know what that means, this might be a z series
> specific concept? This isn't exposed by networkd or NM directly, but
> it might be possible that the subchannel is part of the ifnames
> generated name so that you can use a name glob?
>
> > So it is a matter of our intended "target":
> > - If we think of it as one place to configure all I need for my networking
> > config, but just above a certain level - I think it is ok.
> > - If we think of it as one place to configure all I need for my networking
> > config - it is missing something.
>
> I think the intention is the latter -- with emphasis on what we
> actually need to configure in cloud-init, MaaS, subiquity, Ubiquity
> etc.
>

For a while I have been pondering to have a few s390x specific keys in
cloud-init / MaaS, e.g.:

chzdev_enable:
- [600,1.0.0400]

cio_ignore:
- [all]

Or some such. (chzdev creates additional rules to remove devices from
kernel ignore list too). But one should be able to pass arbitrary
key-value pairs too because One would do things like these too:

chzdev_enable:
- 600:
portno: 1
level2: 0

To tweak various things in sysfs, via chzdev udev rules generator.

This is all s390x specific, for the OSA cards configuration as seen on
LPAR & z/VM (~= bare metal configurations)

> > To be clear that is not a feature request in any way, I just want to
> > ensure that this "separating line" between Network-Hardware and
> > Network-Logical configuration is a conscious and intentional
> > decision instead of happening accidentally.
>
> It is not a conscious decision at all. I suggest filing wishlist bugs
> against the nplan package or the netplan project to keep track of
> these.
>

Will take a look. And I guess we'll need a bit more consulation about
syntax extensions that will be needed for s390x.

--
Regards,

Dimitri.

--
ubuntu-devel mailing list
[email protected]
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel