airshipit / treasuremap

Reference Airship manifests, CICD, and reference architecture.
http://openstack.org
Apache License 2.0
52 stars 39 forks source link

Provision target baremetal nodes with 'vm-infra-bridge' #122

Closed onlysource closed 3 years ago

onlysource commented 3 years ago

*Problem description (if applicable)** Baremetal nodes requires a linux bridge created for underlying Virtual Machines communication.

Proposed change Under site manifest, the linux bridge will need to be created as part of 'pre-kubernetes' provisioning. Perhaps this also can go under site networking catalogue.

https://github.com/airshipit/airshipctl/blob/master/manifests/site/test-site/target/workers/provision/kubeadmconfigtemplate.yaml#L23-L26

1) Add linux bridge, vm-infra-bridge. 2) Attach the bridge to the dedicated VLAN for VM-VM communication (ex: bond0.1516 in labs) 3) Assign IPAdddress to the bridge(s) from 192.168.0.x/24 4) Update the IPtables for VM-VM connectivity between baremetal.

This is needed to support sub-cluster deployments & should be included as part of the multi-tenant type

mattmceuen commented 3 years ago

This change will modify the KubeadmConfigTemplate resource, which is currently defined only at site-level -- in a tiny form in test-site and a bloated form in STL3 manifests.

So, this issue should be coordinated with the following other changes. I think someone will need to sit down and understand the contents/direction of all three to make sure they do what we need.

  1. This change is to move the existing test-site definition of KubeadmConfigTemplate into a reusable function: https://review.opendev.org/c/airship/airshipctl/+/778931

  2. This issue is to move the KubeadmConfigTemplate settings required for baremetal either into the generic function in # 1 above, or, to create a second (potentially derivitive) function that has kubeadm settings specific for bare metal, if needed. https://github.com/airshipit/airshipctl/issues/510

For all of these, any data that we expect to be site-specific should be extracted into a catalogue (networking, networking-ha, or a new catalogue).

Note: I think whichever way # 2 ends up above, we want to have these distinct configurations, which might be based on one another:

manojkva commented 3 years ago

Please assign it to me.

eak13 commented 3 years ago

@manojkva all yours. LMK t-shirt size when you have a minute. Thanks!

michaelfix commented 3 years ago

Related PS https://review.opendev.org/c/airship/treasuremap/+/787378