Description of problem: When deploying a simple 2 nic, 2 vlan configuration of RHEL OSP 7.1 (provision network + external network), all controller nodes utilize the provision network's default route regardless of controller.yaml network configuration. Version-Release number of selected component (if applicable): 7.1 How reproducible: Always Steps to Reproduce: 1. Force defroute to external network in osp director templates 2. Deploy 3 node HA OSP environment 3. Actual results: All controller nodes have the default route of the provision network, even when setting defroute: no/false in the controller.yaml template and setting next hop in the 'external' section of the controller.yaml template. VIP is then unreachable. Expected results: Controller node has external network default route set, vip is accessible. Additional info: This environment is internal to redhat currently in one of our SA labs and I can show this environment to engineering for reproducing. It appears to be very similar to this: https://review.openstack.org/#/c/197742/
Created attachment 1096698 [details] controller.yaml template This is the template for controller nodes.
Created attachment 1096700 [details] external network overrides template Network configuration overrides.
This is a consequence of using use_dhcp: true on the control plane interface of the controller.yaml. The Undercloud sets a specific route (not default) to the all-zeroes network, which overrides the default route on the External interface. Assuming this is OSP-Director 7.1 or later, use the following in controller.yaml to use a static IP address on the control plane (which will not have a default route): network_config: - type: ovs_bridge # Assuming you want to keep br-ex as external bridge name name: {get_input: bridge_name} use_dhcp: true defroute: yes members: - type: interface name: eth1 primary: true - type: ovs_bridge name: br-provisioning use_dhcp: false addresses: - ip_netmask: list_join: - '/' - - {get_param: ControlPlaneIp} - {get_param: ControlPlaneSubnetCidr} routes: - ip_netmask: 169.254.169.254/32 next_hop: {get_param: EC2MetadataIp} members: - type: interface name: eth0 primary: true