[network] wrong parsing of the bridge_mapping
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack + Chef |
Expired
|
Undecided
|
Unassigned |
Bug Description
I have checked the master branch and IMHO we are wrong in parsing bridge_mappings for openvswich.
Instead of that we pick the value from bridge_
Proposed fix + scripted ip move:
unless ['nicira', 'plumgrid', 'bigswitch'
unless node['openstack
ext_
ext_
# TODO, there may be more than one mapping specified
ext_
file "/etc/neutron/
content <<EOS
# recreate brigde
ovs-vsctl br-exists #{ext_bridge} || ovs-vsctl add-br #{ext_bridge} -- add-port #{ext_bridge} #{ext_bridge_iface}
# MOVE IP ADDR
ip addr flush #{ext_bridge_iface}
ip addr add ${iface_cidr} dev #{ext_bridge}
ip link set #{ext_bridge} up
# in my case I somehow lost the orig interface IP and custom default route, so I do have to run at least to make the box accessible
ip addr add ${iface_cidr} dev eth0
EOS
owner "root"
group "root"
mode 00744
end
execute 'create data network bridge' do
command '/etc/neutron/
action :run
not_if "ovs-vsctl br-exists #{ext_bridge}"
only_if "ip link show #{ext_bridge_
notifies :restart, 'service[
end
# TODO, update os config with "up <path>" script to move IP on iface init.
end
end
tags: | added: network |
Changed in openstack-chef: | |
status: | New → Incomplete |
The ['openstack' ]['network' ]['openvswitch' ]['bridge_ mapping_ interface' ] is defined to be:
# Create OVS data network bridge for the physical network and configure it mapping_ interface = br-eth1:eth1 'openstack' ]['network' ]['openvswitch' ]['bridge_ mapping_ interface' ] = nil
# with the specified port. If nil or empty string is specified, the data
# network bridge will not be created.
# Format: <data network bridge name>:<external interface>
#
# Example: bridge_
default[
Perhaps you are thinking about the L3 properties which were implemented as two separate properties.
# Name of bridge used for external network traffic. This should be set to 'openstack' ]['network' ]['l3'] ['external_ network_ bridge' ] = 'br-ex'
# empty value for the linux bridge
default[
# Interface to use for external bridge. 'openstack' ]['network' ]['l3'] ['external_ network_ bridge_ interface' ] = 'eth1'
default[
The ['openvswitch' ]['bridge_ mapping_ interface' ] was defined similar to how the ['openvswitch' ]['bridge_ mappings' ] property is defined.
# Comma-separated list of <physical_ network> :<bridge> tuples 'openstack' ]['network' ]['openvswitch' ]['bridge_ mappings' ] = nil
# mapping physical network names to the agent's node-specific OVS
# bridge names to be used for flat and VLAN networks. The length of
# bridge names should be no more than 11. Each bridge must
# exist, and should have a physical network interface configured as a
# port. All physical networks listed in network_vlan_ranges on the
# server should have mappings to appropriate bridges on each agent.
#
# Example: bridge_mappings = physnet1:br-eth1
default[