[openstack-dev] [Fuel] How to auto allocate VIPs for roles in different network node groups?
Bogdan Dobrelya
bdobrelia at mirantis.com
Fri Jan 15 09:50:43 UTC 2016
On 15.01.2016 10:19, Aleksandr Didenko wrote:
> Hi,
>
> We need to come up with some solution for a problem with VIP generation
> (auto allocation), see the original bug [0].
>
> The main problem here is: how do we know what exactly IPs to auto
> allocate for VIPs when needed roles are in different nodegroups (i.e. in
> different IP networks)?
> For example 'public_vip' for 'controller' roles.
>
> Currently we have two possible solutions.
>
> 1) Fail early in pre-deployment check (when user hit "Deploy changes")
> with error about inability to auto allocate VIP for nodes in different
> nodegroups (racks). So in order to run deploy user has to put all roles
> with the same VIPs in the same nodegroups (for example: all controllers
> in the same nodegroup).
>
> Pros:
>
> * VIPs are always correct, they are from the same network as nodes
> that are going to use them, thus user simply can't configure invalid
> VIPs for cluster and break deployment
>
> Cons:
>
> * hardcoded limitation that is impossible to bypass, does not allow to
> spread roles with VIPs across multiple racks even if it's properly
> handled by Fuel Plugin, i.e. made so by design
That'd be no good at all.
>
>
> 2) Allow to move roles that use VIPs into different nodegroups, auto
> allocate VIPs from "default" nodegroup and send an alert/notification to
> user that such configuration may not work and it's up to user how to
> proceed (either fix config or deploy at his/her own risk).
It seems we have not much choice then, but use the option 2
>
> Pros:
>
> * relatively simple solution
>
> * impossible to break VIP serialization because in the worst case we
> allocate VIPs from default nodegroup
>
> Cons:
>
> * user can deploy invalid environment that will fail during deployment
> or will not operate properly (for example when public_vip is not
> able to migrate to controller from different rack)
>
> * which nodegroup to choose to allocate VIPs? default nodegroup?
> random pick? in case of random pick troubleshooting may become
> problematic
Random choices aren't good IMHO, let's use defaults.
>
> * waste of IPs - IP address from the network range will be implicitly
> allocated and marked as used, even it's not used by deployment
> (plugin uses own ones)
>
>
> *Please also note that this solution is needed for 8.0 only.*In 9.0 we
> have new feature for manual VIPs allocation [1]. So in 9.0, if we can't
> auto allocate VIPs for some cluster configuration, we can simply ask
> user to manually set those problem VIPs or move roles to the same
> network node group (rack).
>
> So, guys, please feel free to share your thoughts on this matter. Any
> input is greatly appreciated.
>
> Regards,
> Alex
>
> [0] https://bugs.launchpad.net/fuel/+bug/1524320
> [1] https://blueprints.launchpad.net/fuel/+spec/allow-any-vip
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
--
Best regards,
Bogdan Dobrelya,
Irc #bogdando
More information about the OpenStack-dev
mailing list