Ask Your Question

Revision history [back]

You need an external network whose subnet includes those IP addresses. Your instances are connected to virtual networks that are routed to the external network. Then you can associate floating IP addresses to the instances.

To get more specific help, explain how you created the external network and its subnet(s), how the instances are connected, how you associate floating IPs and what doesn’t work.

You need an external network whose subnet includes those IP addresses. Your instances are connected to virtual networks that are routed to the external network. Then you can associate floating IP addresses to the instances.

To get more specific help, explain how you created the external network and its subnet(s), how the instances are connected, how you associate floating IPs and what doesn’t work.

EDIT Sep 22 AFTER YOU UPDATED THE QUESTION

I have never attempted to map Devstack's external network to the physical network, but let me raise a few points I find noteworthy.

my public interface receives another IP (something like 172.x.y.z) and i lose the connection to the server

This is strange. A default Devstack setup uses 172.24.4.0/24 for external networks that are simulated inside the server. Since you mapped the external network to the outside world, where does this range come from?

What I don't understand either - if you lose connection, and your external interface has this address, how can you connect?

Creating the network: network type local

local means that the network is created inside your server. This doesn't make sense in your case. To create a Neutron network that maps to the physical network, use flat instead.

However, i get the following error: No sql_connection parameter is established

When you google this error, you will find an unresolved bug. Consider using a more recent Devstack version than Pike.

Also, by default, only an admin can connect instances to the external network, even though the error message should be different. Perhaps it's related to the local network type.

But i can instantiate this cirros image with the same command in another network (e.g. net0).

I guess that net0 is a tenant network, i.e. a virtual network created and managed by Neutron and possibly connected to the external network by a router. Correct? Since external networks and tenant networks are different, it's not surprising that you only see the problem in one case and not in the other.

Normally, people set up their Devstack in a virtual machine. If you did that, you should have no problem adding a NIC and using the instructions for a dedicated guest interface. That's probably simpler (but remember, I have no experience with this setup).

You need an external network whose subnet includes those IP addresses. Your instances are connected to virtual networks that are routed to the external network. Then you can associate floating IP addresses to the instances.

To get more specific help, explain how you created the external network and its subnet(s), how the instances are connected, how you associate floating IPs and what doesn’t work.

EDIT Sep 22 AFTER YOU UPDATED THE QUESTION

I have never attempted to map Devstack's external network to the physical network, but let me raise a few points I find noteworthy.

my public interface receives another IP (something like 172.x.y.z) and i lose the connection to the server

This is strange. A default Devstack setup uses 172.24.4.0/24 for external networks that are simulated inside the server. Since you mapped the external network to the outside world, where does this range come from?

What I don't understand either - if you lose connection, and your external interface has this address, how can you connect?

Creating the network: network type local

local means that the network is created inside your server. This doesn't make sense in your case. To create a Neutron network that maps to the physical network, use flat instead.

Also, by default Devstack provisions an external network named public. You should have have to do that manually.

However, i get the following error: No sql_connection parameter is established

When you google this error, you will find an unresolved bug. Consider using a more recent Devstack version than Pike.

Also, by default, only an admin can connect instances to the external network, even though the error message should be different. Perhaps it's related to the local network type.

But i can instantiate this cirros image with the same command in another network (e.g. net0).

I guess that net0 is a tenant network, i.e. a virtual network created and managed by Neutron and possibly connected to the external network by a router. Correct? Since external networks and tenant networks are different, it's not surprising that you only see the problem in one case and not in the other.

Normally, people set up their Devstack in a virtual machine. If you did that, you should have no problem adding a NIC and using the instructions for a dedicated guest interface. That's probably simpler (but remember, I have no experience with this setup).

You need an external network whose subnet includes those IP addresses. Your instances are connected to virtual networks that are routed to the external network. Then you can associate floating IP addresses to the instances.

To get more specific help, explain how you created the external network and its subnet(s), how the instances are connected, how you associate floating IPs and what doesn’t work.

EDIT Sep 22 AFTER YOU UPDATED THE QUESTION

I have never attempted to map Devstack's external network to the physical network, but let me raise a few points I find noteworthy.

my public interface receives another IP (something like 172.x.y.z) and i lose the connection to the server

This is strange. A default Devstack setup uses 172.24.4.0/24 for external networks that are simulated inside the server. Since you mapped the external network to the outside world, where does this range come from?

What I don't understand either - if you lose connection, and your external interface has this address, how can you connect?

Creating the network: network type local

local means that the network is created inside your server. This doesn't make sense in your case. To create a Neutron network that maps to the physical network, use flat instead.

Also, by default Devstack provisions an external network named public. You should have not have to do that manually.

However, i get the following error: No sql_connection parameter is established

When you google this error, you will find an unresolved bug. Consider using a more recent Devstack version than Pike.

Also, by default, only an admin can connect instances to the external network, even though the error message should be different. Perhaps it's related to the local network type.

But i can instantiate this cirros image with the same command in another network (e.g. net0).

I guess that net0 is a tenant network, i.e. a virtual network created and managed by Neutron and possibly connected to the external network by a router. Correct? Since external networks and tenant networks are different, it's not surprising that you only see the problem in one case and not in the other.

Normally, people set up their Devstack in a virtual machine. If you did that, you should have no problem adding a NIC and using the instructions for a dedicated guest interface. That's probably simpler (but remember, I have no experience with this setup).