Ask Your Question

kolla multinode deploy neutron-server container -> UNREACHABLE

asked 2017-07-31 14:05:47 -0600

Trying to deploy a multinode network using kolla-ansible.

I have a controller node and a compute node in addition to the ansible-host. The controller and compute nodes have a two NIC's, each connected to a switch.

I want to deploy a simple development instance of OpenStack including open-vswitch.

I have set up my ~/multinode file as follows:

anscontroller network_interface=enp0s3 api_interface=enp0s3 neutron_external_interface=enp0s8 tunnel_interface=enp0s3


# skylake1
mgwlab7 network_interface=eno1 api_interface=eno1 neutron_external_interface=eno2 tunnel_interface=eno1

When I didn't have the tunnel_interface assignments there was a deploy syntax error that seemed to be wanting these variables. Now when I deploy it makes it to:

RUNNING HANDLER [neutron : Restart openvswitch-vswitchd container] ****************************************************************************
changed: [anscontroller]
changed: [mgwlab7]

RUNNING HANDLER [neutron : Restart neutron-server container] **********************************************************************************
fatal: [anscontroller]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: mux_client_request_session: read from master failed: Broken pipe\r\nssh: connect to host anscontroller port 22: Connection timed out\r\n", "unreachable": true}

RUNNING HANDLER [neutron : Restart neutron-openvswitch-agent container] ***********************************************************************
changed: [mgwlab7]
fatal: [anscontroller]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host anscontroller port 22: No route to host\r\n", "unreachable": true}

At this point the anscontroller node is unreachable. On that (anscontroller) node, I can't easily dump "ip addr show" in text form but I did execute this command from the console and took a screen shot:

(unfortunately I don't seem to have enough 'points' to upload my screen shot so I'll give a link to it: ( (image description)

I don't know how much of this is desirable. I don't know why the interface at this point isn't working. I can't ping out or in.

enp0s3 is the interface I've used to bring up the machine and do admin work. I would be fine to use that interface for everything, but it seems like OpenStack likes two interfaces.

In /etc/kolla/globals.yml on the ansible-host I have: kolla_internal_vip_address: "" network_interface: "enp0s8" neutron_external_interface: "enp0s3" neutron_plugin_agent: "openvswitch"

My questions:

*What changes are needed to my config files?

*Is there any easy way to get the anscontroller node working again without re-imaging the OS?

Thank you for all the help! Mark

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2017-08-01 03:45:28 -0600


Issue about node not reachable is:

neutron_external_interface is used for br-ex, this interface will be managed by openvswitch, this causes that when assigning this interface to br-ex, all config/connections in the interface will be dropped.

Access to the server should be done by any other interface.

I would recommend use api interface as management network.

To simplify interface config when tunnel/api is in the same interface, use network_interface=<value> for each node. Internally api_interface and tunnel_interface uses network_interface if not defined.

In you inventory example:

anscontroller network_interface=enp0s3 neutron_external_interface=enp0s8

anscontroller network_interface=enp0s3 neutron_external_interface=enp0s8

# skylake1
mgwlab7 network_interface=eno1 #Compute does not need neutron_external_interface unless using DVR or provider networks

neutron_external_interface is defined with different values in inventory and globals. Make sure for using enp0s8 set properly value. You globals:

kolla_internal_vip_address: ""
network_interface: "enp0s8" # Remove this, will override values in inventory.
neutron_external_interface: "enp0s3" #If all nodes use the same value, can also remove fro inventory.
neutron_plugin_agent: "openvswitch" # This can be removed, is default value

Values in globals.yml override every other variable, this means that setting network_interface=eth1 will override value for compute where in inventory set network_interface=eth2, causing issues.

If all nodes share same interface configuration, use globals.yml for all nodes, if not, set interface in inventory.


edit flag offensive delete link more


Thank you. Very helpful. I had previously tried not having the other interfaces specified but the values in globals.yml were interfering, I think.

With this I was able to get all the way through the 'deploy' step. Now I'm working on openstack issues rather than ansible issues :)

thanks much!

markhargrove28 gravatar imagemarkhargrove28 ( 2017-08-01 14:04:03 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2017-07-31 14:05:47 -0600

Seen: 477 times

Last updated: Aug 01 '17