-
Notifications
You must be signed in to change notification settings - Fork 36
Disable Predictable Network Interface Names under VMware #436
base: flatcar-master
Are you sure you want to change the base?
Disable Predictable Network Interface Names under VMware #436
Conversation
I'm not sure this is a good idea. If it's about the main network interface, then it's better to control the naming directly via https://www.freedesktop.org/software/systemd/man/systemd.link.html instead of impacting other interfaces as well (containers etc). Also, this is a breaking change. At least our testing uses |
Thank you for taking the time to look at this PR.
I don't believe there's a problem here, here you can see a before/after of interfaces on Flatcar VMs joined to Kubernetes & running containers:
VM manually booted with the change proposed in this PR:
I can check to see if the change can be made via Ignition early enough in the boot process, but I believe this is a useful change generally to bring VMware instance naming in line with cloud provider instance naming.
The problem is that when we launch Flatcar instances in multiple clouds, we end up with inconsistency in the primary interface naming:
Also, predictable device naming was designed to solve a problem with physical hardware changing interface naming as hardware is being added/removed from servers. It doesn't buy us much w/ virtual machines, which is why it is not being used for AWS/Azure instances. |
Besides breaking existing configurations I think it's also impacting the functionality of renaming with networkd but I would need to check. Good that this isn't affecting K8s container interfaces in your case but there are also other cases to consider. In the mean time I suggest that you add a networkd config file in your Ignition config that renames the |
@pothos, thanks for the insight you've shared. I'd like to keep this issue open for consideration since I still see value in unifying the interface naming between cloud providers.
Note that this would break if we changed to a different type of network adapter. |
Yes, let's keep this open even if the solution would be to enable predictable names on the other platforms but have all virtual interfaces called |
@pothos, is there any other information I can provide to help the conversation along? |
Currently GRUB is used to write this setting in AWS etc which is not so nice because it's not part of the A/B partition update mechanism. That said, I think it's not a good idea to rely on the presence of a |
Seeing this PR again and my last comment: the linked 98-virtio.link unit is a good starting point to set the VMware and AWS interfaces to follow |
Disable Predictable Network Interface Names under VMware
Predictable Network Interface Names are enabled for VMware instances of Flatcar CL, whereas they are disabled for (at least) AWS/Azure instances. This leads to inconsistency of interface naming between instances across clouds (
eth0
for AWS/Azure,ens192
for VMware). This commit brings VMware instances in line with public cloud instances and adds some consistency to comments about this configuration in the EC2 & Rackspace grub config files.How to use
Build the Flatcar VMware image and boot it on VMware ESXi, note the name of the primary (and probably only) network interface.
Testing done
I am not sure how to build the image at this time, so no testing has been done. If testing is required before a review of this PR, please let me know and I'll look into building the VMware image locally.