Wrong role's limits calculation
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel Plugins |
Confirmed
|
Undecided
|
LMA-Toolchain Fuel Plugins | ||
Fuel for OpenStack |
Fix Released
|
High
|
Julia Aranovich | ||
7.0.x |
Fix Released
|
High
|
Alexey Stupnikov |
Bug Description
Affects: Fuel 7.0 RC2
Context:
We use custom roles for LMA plugins, these roles are described for example like this for the InfluxDB-Grafana plugin :
node_roles.yaml:
influxdb_grafana:
name: 'InfluxDB Grafana'
description: 'Install InfluxDB and Grafana'
has_primary: false
public_
weight: 100
limits:
max: 1
conflicts:
- controller
- compute
- cinder
- ceph-osd
Steps to reproduce:
0/ install plugin LMA Influxdb grafana (master version)
1/ enable and configure the plugin (settings tab in Fuel UI)
2/ assign one node with controller node (nodes tab in Fuel UI)
3/ assign one node with compute node (nodes tab in Fuel UI)
4/ assign one node with the influxdb_grafana role
Expected results:
step #4 must be possible
Actual results:
step #4 is not possible, the role is 'locked' (cannot be selected)
a warning message indicates 'At most 1 InfluxDB Grafana nodes are allowed'
This message is inaccurate since there is not yet one inlfuxdb_grafana node.
Also, this works fine if we skip the step #2 (in other words, the bug appears when more than 1 node in conflicts list is assigned)
Impacts:
The user cannot deploy the LMA influxdb-grafana plugin if he/she has already assigned more than 1 node with other roles
Workaround:
assign the influxdb_grafana role BEFORE assignement of 2 other roles
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in fuel: | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Fuel UI Team (fuel-ui) |
milestone: | none → 7.0 |
Changed in fuel-plugins: | |
status: | New → Confirmed |
assignee: | nobody → LMA-Toolchain Fuel Plugins (mos-lma-toolchain) |
no longer affects: | fuel/8.0.x |
Changed in fuel: | |
importance: | Medium → High |
tags: | added: area-ui |
tags: | added: late-discovery |
Changed in fuel: | |
status: | Fix Released → Fix Committed |
tags: | added: on-verification |
tags: | added: on-verification |
summary: |
- custom roles: "limits: max" constraint has an unpredictable behavior + Wrong role's limits calculation |
To workaround the isssue, one can use the Fuel CLI to assign the roles. For instance:
$ fuel --env 3 node set --node-id=9 --role= infrastructure_ alerting