Ask Your Question
0

kolla multinode deploy neutron-server container -> UNREACHABLE

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

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:

[control]
anscontroller network_interface=enp0s3 api_interface=enp0s3 neutron_external_interface=enp0s8 tunnel_interface=enp0s3

[network]
anscontroller

[compute]
# 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:

https://drive.google.com/file/d/0B1Ogs7JKGrHMUlpNVmdibFNLeWs/view?usp=sharing (https://drive.google.com/file/d/0B1Og...)

http://lvalive.com/pics/kolla/kolla-ancontroller-screenshot.jpg (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: "10.0.1.11" 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
1

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

Hi,

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:

[control]
anscontroller network_interface=enp0s3 neutron_external_interface=enp0s8

[network]
anscontroller network_interface=enp0s3 neutron_external_interface=enp0s8

[compute]
# 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: "10.0.1.11"
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.

Regards

edit flag offensive delete link more

Comments

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 -0500 )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

Stats

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

Seen: 521 times

Last updated: Aug 01 '17