<div dir="ltr"><div><br></div><div>In 6.0 we added nodegroups as part of the multiple-cluster-networks features. With these you can add additional sets of networks with so that the nodes can exist on different network segments. When these are used you will also need to set the gateway for each of your networks. When you do this, you get routes set up between the matching network names across the nodegroups.</div><div><br></div><div>For example network.yaml that looks like (shortened)</div><div><br></div><div>networks:</div><div>- cidr: <a href="http://172.16.0.0/24">172.16.0.0/24</a></div><div>  gateway: 172.16.0.1</div><div>  group_id: 2</div><div>  id: 6</div><div>- cidr: <a href="http://172.16.10.0/24">172.16.10.0/24</a></div><div>  gateway: 172.16.10.1</div><div>  group_id: 3</div><div>  id: 9</div><div><br></div><div>Will result in mappings like this in a nodes yaml (in nodegroup 2)</div><div><br></div><div>network_scheme:</div><div>  endpoints:</div><div>    br-ex:</div><div>      IP:</div><div>      - <a href="http://172.16.0.4/24">172.16.0.4/24</a></div><div>      routes:</div><div>      - net: <a href="http://172.16.10.0/24">172.16.10.0/24</a></div><div>        via: 172.16.0.1</div><div><br></div><div><br></div><div>With the introduction of templates we may no longer need nodegroups. They served two functions. 1) They allowed us to create additional networks. 2) They created additional routes between networks of the same name. Comparing with what is in templates, #1 is taken care of, but what about #2? I think that we need the routes configured anyway. Nodes with the same network role should have a route for it when it crosses network segments. </div><div><br></div><div>This would have traditionally been separated by nodegroups. but it now can be coded with templates. In this case (such as the yaml above) we must have routes for the nodes to communicate on the correct interface. Since we need code for routes between segments of the same network role, it might behoove ourselves to compute (maybe not use when they are the local interface). This serves two functions, it allows us to visualize the routing topology instead of just relying on the default route. Secondly when we get to using a routing protocol it gives us the data necessary to validate the routing protocol with what we expected.</div><div><br></div><div>Regardless of computing all the routes, we need to compute same role, but multi-segement routes. In this case I see that nodegroups becomes redundant. It's only value is that it may be a simpler interface then templates but it imposes the old network topology which I could see people wanting to get away from.</div></div><div dir="ltr">-- <br></div><div dir="ltr"><p dir="ltr">--</p><p dir="ltr"><span style="font-size:13.1999998092651px">Andrew Woodward</span></p><p dir="ltr"><span style="font-size:13.1999998092651px">Mirantis</span></p><p dir="ltr"><span style="font-size:13.1999998092651px">Fuel Community Ambassador</span></p><p dir="ltr"><span style="font-size:13.1999998092651px">Ceph Community</span></p>
</div>