Since Cloud Networks aren't available OnMetal I did the following:
OnMetal Kubernetes Cluster uses ServiceNet and flannel backend type UDP
Separated out Discovery and Overlord roles so that they can continue to use General Purpose flavors and accompanying images
Kubernetes Master and Minions as OnMetal flavors
Added a default network interface of bond0.401 for OnMetal Servers (as opposed to eth2)
Added systemd unit to set /run/systemd/system/etcd.service.d/20-cloudinit.conf with correct servicenet ip address (the cloud-config magic variable $private_ipv4 doesn't work in OnMetal)
Created a parameter so that users can specify the cluster subnet (default is still 10.244.0.0/15)
Since Cloud Networks aren't available OnMetal I did the following: