can't deploy underclouds with VLAN API endpoints
Bug #1325114 reported by
Robert Collins
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
James Polley |
Bug Description
Given
NeutronPublicIn
NeutronPublicIn
NeutronPublicIn
What we get is
eth2 - dhcp
vlan25 - bound to eth2
br-ctlplane - static ip of 138.35.77.4
To deploy an undercloud with a VLAN API endpoint, we need some way to end up with:
br-ctlplane - DHCP, one port (eth2)
vlan25 layered on top of br-ctlplane with static IP of 138.35.77.4
Changed in tripleo: | |
assignee: | nobody → Dan Prince (dan-prince) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → Derek Higgins (derekh) |
Changed in tripleo: | |
assignee: | Derek Higgins (derekh) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → Derek Higgins (derekh) |
Changed in tripleo: | |
assignee: | Derek Higgins (derekh) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Robert Collins (lifeless) |
Changed in tripleo: | |
assignee: | Robert Collins (lifeless) → James Polley (tchaypo) |
Changed in tripleo: | |
assignee: | James Polley (tchaypo) → Steve Kowalik (stevenk) |
Changed in tripleo: | |
assignee: | Steve Kowalik (stevenk) → James Polley (tchaypo) |
To post a comment you must log in.
More detail - tripleo-cd.sh which was our overcloud deploy script before we got CI looped in and disabled it to avoid breaking CI...
has this: overcloud. sh vlan25 138.35.77.4/25 eth2 138.35.77.1 terface= vlan25 35.77.4/ 25 =138.35. 77.1
devtest_
which translates to
NeutronPublicIn
...IP=138.
..RawDevice=eth2
...DefaultRoute
before 06ef9918aa63e67 5c0197ed934e68e 21e8572f7c INTERFACE_ RAW_DEVICE" ]; then INTERFACE) ; then VID_NO_ PAD INTERFACE_ RAW_DEVICE $VLAN_ID
vlan25 is setup by init-neutron-ovs itself :
if [ -n "$PHYSICAL_
if ! (ip link show dev $PHYSICAL_
VLAN_ID=$(echo $PHYSICAL_INTERFACE | sed s/vlan//)
vconfig set_name_type VLAN_PLUS_
vconfig add $PHYSICAL_
fi
ip link set $PHYSICAL_INTERFACE up
fi
which hasn't changed - note that that *does not* move IP addresses around so far.
Then the IP address supplied, if it existed, was *added* - not replaced, *added*, to the interface - so to the vlan25.
then init-neutron-ovs calls ensure bridge with
br-ex vlan25 138.35.77.4/25 138.35.77.1
The old behaviour was to:
1) ensure that the interface is in the bridge device (so vlan25 is in br-ex)
2) move all ip addresses from the interface to the bridge. So the supplied IP ends up on the bridge, and the original DHCP ip on eth2 is untouched. [My description of the bug is clearly wrong].
3) if a default route was supplied, apply it
The new behaviour is to:
1) setup definitions for a bridge on the vlan device
2) treat the public ip address as a static ip address and define it on the bridge
3) ifdown and ifup things
From this I conclude that we never had the old behaviour I thought we did, and the undercloud deployments were special snowflakes.