Ask Your Question
0

DevStack - auto reconfigure br-ex bridge

asked 2017-03-06 07:55:39 -0500

vgeorga gravatar image

updated 2017-03-06 07:56:48 -0500

Greetings,

I am trying to install DevStack but so far, unless I run stack.sh without local.conf file configured, I get errors during the operations of stack.sh

The reason I try to configure a local.conf in the first place, is because I want to achieve this:

  • I'm running Ubuntu Server 16.04 VM with virtual box. The VM is bridged so the IP address of the VM (192.168.1.5) is the same as the local network (192.168.1.0/24) of the physical machine it resides (192.168.1.3)
  • I need to achieve a configuration in which br-ex receives the static ip address information of the physcial interface of the VM (enp0s3) and simultaneously make the physical interface passive and OVS port to the br-ex bridge in order to be able to create floating IP assigments that derive from my home local network (192.168.1.0/24) and NOT the default 172.24.4.0/24 the devstack script assigns to br-ex and also make ingress traffic from my local network to the instances possible.

So , since every local.conf configuration I've tried so far failed, is there a way to mess the stack script so it does all of the above automatically while executing?

Any solutions, that are checked to be working, are acceptable (even a valid local.conf configuration)

Thank you in advance,

VG

edit retag flag offensive close merge delete

Comments

Bernd Bausch gravatar imageBernd Bausch ( 2017-03-06 08:00:53 -0500 )edit

Thank you for your time, this is actually pretty helpful and I thank you for it, but this solution refers to PackStack (CentOS 7) implementation so I m not sure that the methodology is transferable το DevStack on Ubuntu 16.04. Unless it is an indirectly suggestion to abandon DevStack :)

vgeorga gravatar imagevgeorga ( 2017-03-06 09:50:56 -0500 )edit

Mix-up in my brain, sorry. There are instructions for devstack, though not that detailed perhaps: https://docs.openstack.org/developer/.... Scroll down to "provider networks".

Bernd Bausch gravatar imageBernd Bausch ( 2017-03-06 17:05:08 -0500 )edit

Thank you for your time but I think I came with a solution that suits my needs :)

vgeorga gravatar imagevgeorga ( 2017-03-12 13:26:06 -0500 )edit

1 answer

Sort by » oldest newest most voted
1

answered 2017-03-12 13:18:53 -0500

vgeorga gravatar image

updated 2017-03-12 13:22:44 -0500

So, after some research I think I came up with a solution to change the default 172.24.4.0/24 floating IP network to let's say your home LAN network address range (let's say 192.168.1.0/24).

Assume that you have a running Ubuntu VM and you've just setup DevStack. Also make sure the VM is bridged so it receives a home LAN network ip address (let's say 192.168.1.5). Next thing you need to do is to add a port between you br-ex and your VM physical interface (is this situation enp0s3):

$ sudo bash 
# ovs-vsctl add-port br-ex enp0s3

Next thing you need to do is strip your VM physical interface and your br-ex interface of their IP configuration:

# ifconfig enp0s3 0
# ifconfig br-ex 0

Finally make sure you assign the previous IP configuration of your enp0s3 interface (ip: 192.168.1.5 etc...) to your br-ex interface:

# dhclient br-ex

If everything done correct, the new IP configuration will be something like this:

image description

Notice that enp0s3 interface is no longer assigned an IP address and br-ex has enp0s3's IP address.

Be aware that in order to make this happen with dhcp (dhclient command), you need to configure some sort of DHCP binding to your physical router so when br-ex requests for a new IP address it will be the same specified as the physical interface's IP address after the succesfull build of DevStack.

After that, you need to login to your horizon dashboard and delete the default created public network (named public) from stack.sh and create your own external network and assign as his subnet the ip address range of your home LAN network.

In order to destroy the public network (without getting an error) is to delete some other things first. From the admin panel:

  • Go to Routers and delete the interface connecting the default created router (router1) and "public" network.
  • Then go to Networks and delete the DHCP server, ports and any subnets associated with "public" network.

If the operations are completed successfully with no errors, then you can go ahead and create your own external network. Just make sure though that:

  • You select "Flat" for the network type.
  • You enter "public" for the Physical Network name (that was the default name from stack.sh)
  • Mark it as "Shared"
  • Mark it as "External Network"

image description

Finally, create a new subnet associated with your new external network and enter as Network Address the address of your home LAN network (e.g 192.168.1.0 /24).

edit flag offensive delete link more

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-03-06 07:55:39 -0500

Seen: 2,539 times

Last updated: Mar 12 '17