Wrong role's limits calculation

Bug #1496328 reported by Swann Croiset
30
This bug affects 3 people
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_ip_required: false
  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

Swann Croiset (swann-w)
description: updated
description: updated
Swann Croiset (swann-w)
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)
Revision history for this message
Simon Pasquier (simon-pasquier) wrote :

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

Dmitry Pyzhov (dpyzhov)
no longer affects: fuel/8.0.x
Changed in fuel:
importance: Medium → High
Dmitry Pyzhov (dpyzhov)
tags: added: area-ui
tags: added: late-discovery
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

Fix proposed to branch: master
Review: https://review.openstack.org/254664

Changed in fuel:
assignee: Fuel UI Team (fuel-ui) → Julia Aranovich (jkirnosova)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/254664
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=08d42c48a87d316c3f2046de505c0e780fb1b061
Submitter: Jenkins
Branch: master

commit 08d42c48a87d316c3f2046de505c0e780fb1b061
Author: Julia Aranovich <email address hidden>
Date: Tue Dec 8 13:22:30 2015 +0300

    Fix role limits calculation

    also nodes collection becomes an abligatory attribute
    in Roles.checkLimits method

    Closes-Bug: #1496328

    Change-Id: I363f5ad095dc27af268453d5a4f878af13ea41b0

Changed in fuel:
status: In Progress → Fix Released
Changed in fuel:
status: Fix Released → Fix Committed
Revision history for this message
Denis Klepikov (dklepikov) wrote : Re: custom roles: "limits: max" constraint has an unpredictable behavior

High for 7.0 due to unable to reproduce Customer environment.
Please provide fix or permanent solution to close this issue.

tags: added: customer-found support
tags: added: on-verification
Revision history for this message
ElenaRossokhina (esolomina) wrote :

Verified using suggested scenario on iso#507
VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "8.0"
  api: "1.0"
  build_number: "507"
  build_id: "507"
  fuel-nailgun_sha: "8e954abd70ef0083109f34289de2553dcda544d4"
  python-fuelclient_sha: "4f234669cfe88a9406f4e438b1e1f74f1ef484a5"
  fuel-agent_sha: "658be72c4b42d3e1436b86ac4567ab914bfb451b"
  fuel-nailgun-agent_sha: "b2bb466fd5bd92da614cdbd819d6999c510ebfb1"
  astute_sha: "b81577a5b7857c4be8748492bae1dec2fa89b446"
  fuel-library_sha: "ec7e212972ead554f21b52b9e165156665f659df"
  fuel-ostf_sha: "ab5fd151fc6c1aa0b35bc2023631b1f4836ecd61"
  fuel-mirror_sha: "351d568fa3b3e4dd062054b91d766aa54d379867"
  fuelmenu_sha: "234cb4cbb30fbd2df00f388c28f31606d9cae15f"
  shotgun_sha: "63645dea384a37dde5c01d4f8905566978e5d906"
  network-checker_sha: "a43cf96cd9532f10794dce736350bf5bed350e9d"
  fuel-upgrade_sha: "616a7490ec7199f69759e97e42f9b97dfc87e85b"
  fuelmain_sha: "94507c5e4dad6d8cfbd8f5d41aa8389d5335990a"

tags: removed: on-verification
Changed in fuel:
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/7.0)

Fix proposed to branch: stable/7.0
Review: https://review.openstack.org/294466

Revision history for this message
Alexey Stupnikov (astupnikov) wrote : Re: custom roles: "limits: max" constraint has an unpredictable behavior

STEPS-TO-REPRODUCE (for QA team):
1. Use LMA Nagios (fuel-plugin-lma-infrastructure-alerting) or ElasticSearch/Kibana (fuel-plugin-elasticsearch-kibana) plugins
# wget http://plugins.mirantis.com/repository/l/m/lma_infrastructure_alerting/lma_infrastructure_alerting-0.8-0.8.0-1.noarch.rpm

2. Install plugin:
# fuel plugins --install lma_infrastructure_alerting-0.8-0.8.0-1.noarch.rpm
# fuel plugins
id | name | version | package_version
---|-----------------------------|---------|----------------
1 | lma_infrastructure_alerting | 0.8.0 | 3.0.0

3. Create new environment [Fuel WEB UI]

4. Enable and configure LMA plugin on the settings tab

5. Add three controller nodes

Result: you can't add a node with "LMA Infrastructure Alerting" role

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (stable/7.0)

Reviewed: https://review.openstack.org/294466
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=bea4f60cc8e5a1986ee8af48cab7f2691b7b6957
Submitter: Jenkins
Branch: stable/7.0

commit bea4f60cc8e5a1986ee8af48cab7f2691b7b6957
Author: Julia Aranovich <email address hidden>
Date: Tue Dec 8 13:22:30 2015 +0300

    Fix role limits calculation

    also nodes collection becomes an abligatory attribute
    in Roles.checkLimits method

    Closes-Bug: #1496328

    Change-Id: I363f5ad095dc27af268453d5a4f878af13ea41b0

tags: added: on-verification
Revision history for this message
TatyanaGladysheva (tgladysheva) wrote : Re: custom roles: "limits: max" constraint has an unpredictable behavior

Verified on MOS 7.0 + mu3 updates.

Test scenario is described above.
Result: role "LMA Infrastructure Alerting"/"Elasticsearch Kibana"/"InfluxDB Grafana" is available for adding.
Please see screenshot.

tags: removed: on-verification
summary: - custom roles: "limits: max" constraint has an unpredictable behavior
+ Wrong role's limits calculation
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.