Node assignment always updates the 'overcloud' node count, no matter the current plan
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Fix Released
|
High
|
Julie Pichon |
Bug Description
When I try to assign nodes on a non-default plan, the profile gets added to the node correctly but the node count wrongly gets updated for the 'overcloud' default plan, *not* the plan currently activated.
The deployment may still succeed but only the default of 1 controller and 1 compute will ever be deployed for non-default plans. This may also cause issues later on if people use the CLI to scale up/down the default plan.
Steps to reproduce:
-------------------
1. Create a new plan, e.g. test
2. Click on the new plan to "activate" it and got to the "Deployment Plan" page
3. On the CLI, look at the mistral environments for both 'overcloud' and 'test', confirm nothing is set in the parameters_defaults ($ mistral environment-get <plan_name>)
4. On the UI, assign a node to 'Ceph storage'
Expected result:
---------------
5. The CephStorageCount for 'test' got updated in the Mistral environment.
Actual result:
--------------
5. The CephStorageCount for 'overcloud' was updated to 1, the 'test' environment didn't change.
Workaround
----------
On the deployment page in the UI, editing the overall Deployment Configuration and navigating to the Parameters, it is possible to manually update the node count for the main roles (CephStoragecCount, ControllerCount, etc).
Additional information
-------
Possibly related to the node assignment/tagging splitting (bug 1640103) though it'd be good to get a band-aid for this.
summary: |
- Node assignment always updates the 'overcloud' node count + Node assignment always updates the 'overcloud' node count, no matter the + current plan |
tags: | added: newton-backport-potential |
description: | updated |
Changed in tripleo: | |
assignee: | nobody → Julie Pichon (jpichon) |
Error happens because container (plan) is not passed here https:/ /github. com/openstack/ tripleo- common/ blob/master/ workbooks/ baremetal. yaml#L481
UpdateRoleParam etersAction then calls super -> UpdateParameter sAction without container specified so it uses default one https:/ /github. com/openstack/ tripleo- common/ blob/master/ tripleo_ common/ actions/ parameters. py#L101