Revision history [back]

click to hide/show revision 1
initial version

docker run --net test_net fails

Hello, I have used kuryr-libnetwork successfully for about a month, but unfortunately after full openstack reinstallation using juju I got error when trying to run docker container using kuryr-libnetwork directly on compute node. My juju bundle is the same like it used to be when it ran smoothly. Journalctl output is attached below

docker version 19.03.2

In /usr/local/libexec directory I have:

bridge iovisor midonet ovs tap unbound

  • Installed Zun manually (source: https://docs.openstack.org/zun/stein/install/compute-install.html)
  • stable/stein version of Zun and Kuryr-libnetwork
  • Installed Kuryr-libnetwork manually (source: https://docs.openstack.org/kuryr-libnetwork/stein/install/compute-install-ubuntu.html)
  • OS Ubuntu 18.04.3

In addition to, I can assure that I am able to create nova instances on nodes without errors

How to fully reproduce this error: First I am adding unit with nova-compute command and completely reinstall OS on compute node

1) juju add-unit nova-compute --to computei7-2.maas node

During step above nova-compute, ntp, neutron-openvswitch is installed on a completely fresh node

2) Installing docker from repo:

https://docs.docker.com/install/linux/docker-ce/ubuntu/

3) Because I have already installed kuryr on controller (https://docs.openstack.org/kuryr-libnetwork/stein/install/controller-install.html) I only install kuryr on compute using this guide:

https://docs.openstack.org/kuryr-libnetwork/stein/install/compute-install-ubuntu.html

4) Creating docker network (https://docs.openstack.org/kuryr-libnetwork/stein/install/verify.html)

NETWORK ID NAME DRIVER SCOPE 4bdc0dd4bef0 bridge bridge local 71bbf6f23bdd host host local 94b75f0199ff none null local

docker network create --driver kuryr --ipam-driver kuryr \ --subnet 10.11.0.0/16 --gateway=10.11.0.1 test_net

I get:

b70cff92465b03f52cfba47f2333519fcd775a66fbc545d2d4956c70df4b9b64

5) Finally, when I enter command "sudo docker run --net test_net cirros ifconfig"

I get:

docker: Error response from daemon: failed to create endpoint cocky_franklin on network test_net: NetworkDriver.CreateEndpoint: vif_type(binding_failed) is not supported. A binding script for this type can't be found. ERRO[0012] error waiting for container: context canceled

What I noticed is that when I try to create docker container within test_net network in a neutron-openvswitch logs I see this message:

INFO neutron.agent.common.ovs_lib [req-6bb7efbc-1cc7-4b0b-8819-a61f3ae1c175 - - - - -] Port a56f0e7f-e564-42ad-a752-0b32db37f919 not present in bridge br-int

Then, I check openstack port list using cli and get and do not see port with ID a56f0e7f-e564-42ad-a752-0b32db37f919

Howerver, when creating nova instance in neutron-openvswitch logs I see that it is port is being created and openstack port list command returns the same port ID as it was mentioned in neutron-openvswitch. Therefore, VM is created successfully

In neutron-openvswitch logs (on compute node) I see mentioned port a56f0e7f-e564-42ad-a752-0b32db37f919 from message:

INFO neutron.agent.common.ovs_lib [req-6bb7efbc-1cc7-4b0b-8819-a61f3ae1c175 - - - - -] Port a56f0e7f-e564-42ad-a752-0b32db37f919 not present in bridge br-int

It's ID differs from port ID's listed in openstack port list. In openstack port list I see that kuryr network port was created, but it's own ID is different (cbec64ec-70ab-4d66-ae5e-4c3d3b271999) from neutron-openvswitch. In other words, Neutron tries to find port with a56f0e7f-e564-42ad-a752-0b32db37f919 ID instead of using cbec64ec-70ab-4d66-ae5e-4c3d3b271999