I am trying to create an openstack environment using Fuel 9.0 - Openstack Mitaka-9.0. Ubuntu loads clean on all nodes and then OpenStack starts to load on all of the nodes, but eventually on the controller node I get the following errors.

2017-05-02 21:13:30 ERR Error: argument "enx8cae4cfe75f2.101" is wrong: "name" too long 2017-05-02 21:13:30 ERR Command 'ip link add link enx8cae4cfe75f2 name enx8cae4cfe75f2.101 type vlan id 101' has been failed with exit_code=255.

The issue is related to when creating a vlan link the network name with vlan id number exceeds the 16 character length so it fails.

the why: There are 2 nodes and a Fuel Server. both nodes boot up and retrieve a Ubuntu image from the Fuel Server (via PXE). Then using the Fuel Dashboard I create a OS Enviornment which queries the network for any nodes and collects the logical names of the network interfaces, and all hardware attributes (memory, cores, etc).

Once the envirnment is created and one selects deploy, the deployment starts by first loading ubuntu. This process completes on both nodes and then Openstack is loaded on both nodes, here is when the problem starts. On the controller node at about 28 percent, the phyton script wants to creat a IP VLAN link

and since the logical name of the network interface is already at 14 (determined during the discovery of the nodes by the Fuel Dashboard) , it tries to add the vlan ID which is an additional 3 exceeding the 16 character max. Hence it fails and the openstack stack deployment fails.

I am looking for a solution - please help

  • yes, this would be a viable option if I had access to the system. But I do not, this is an openstack deployment, therefore the process is automated. when the nodes first boot, they are in PXE mode with no OS, they request for an image which the fuel server provides. Then the nodes load and the fuel dashboard discovers and collects all of the devices details, nic name, memory, disk, etc... this is when the OS is made aware of the logically name. hence I do not have any option to modify. with that said, are there any suggestions? – dan tiernan May 26 '17 at 15:05

My proposal is to get an ethX names back. To do this you must edit the grub file.

 $ sudo nano /etc/default/grub

Look for GRUB_CMDLINE_LINUX and add the following net.ifnames=0 biosdevname=0.




GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

Generate a new grub file using the following command.

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0-15-generic
Found initrd image: /boot/initrd.img-4.4.0-15-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin

After this, restart servers.

Some explanation

From Ubuntu 15.10 (Wily Werewolf), starting with systemd/udev will automatically assign predictable, stable network interface names for all local Ethernet, Wlan and Wwan interfaces.

The following different naming schemes for network interfaces are now supported by udev natively:

  • Names incorporating Firmware/BIOS provided index numbers for on-board devices (example: eno1)
  • Names incorporating Firmware/BIOS provided PCI Express hotplug slot index numbers (example: ens1)
  • Names incorporating physical/geographical location of the connector of the hardware (example: enp2s0)
  • Names incorporating the interfaces's MAC address (example: enx78e7d1ea46da)

Classic, unpredictable kernel-native ethX naming (example: eth0) - deprecated

Try maybe help you.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.