Comment 0 for bug 1504572

Ihor Kalnytskyi (ikalnytskyi) wrote :

Well, the story is huge and requires some explanations.

We *do* have a network_configuration handler that returns (surprise-surprise) network configuration of the cluster. The configuration includes information about networks and VIPs, and it's used on UI on Network tab, so user can change network settings and re-submit it.

The problem occurs when we need to allocate VIPs more than we have free IPs in network pool. Since information how many VIPs we need is dynamic and is depended on plugins (since plugins may export network roles), we can't *validate* it on the first place. Moreover, it's depended on which network some netrole is assigned, so we can't and shouldn't forbid user to enable plugin.

Still, when new plugin is enabled, and we have not enough free IP addresses for VIPs the errors will be raised. If it's the case, the network_configuration handler will return an HTTP error and UI is unable to handle this case properly. In fact, it looks like user just unable to open some cluster.. and no way to change network settings (except fuel cli).

Unfortunately, there's no easy fix for UI.. since they don't know what's wrong.

I have no idea how to fix it. Perhaps we should start with removing VIP allocation code from serializing network settings for the API handler.