Parameter 'CephStorageCount' was not found in existing stack when using composable roles

Bug #1637204 reported by James Slagle
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
James Slagle

Bug Description

When using composable roles with a custom roles_data.yaml that does not have a CephStorage role any stack-update's fail with:
Parameter 'CephStorageCount' was not found in existing stack

The same is true for the other default role names as well.

This is due to the hardcoded role names in tripleoclient at:
https://github.com/openstack/python-tripleoclient/blob/master/tripleoclient/v1/overcloud_deploy.py#L750

When that default dict is passed to check_node_count in utils.py, this exception is raised if these parameter names do not exist in the stack, which they won't if you have removed them from your customized roles_data.yaml.

Changed in tripleo:
importance: Undecided → High
status: New → In Progress
assignee: nobody → James Slagle (james-slagle)
milestone: none → ocata-1
tags: added: composable-roles newton-backport-potential tripleoclient
Changed in tripleo:
status: In Progress → Triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-tripleoclient (master)

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

Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
James Slagle (james-slagle) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-tripleoclient (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/393855

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-tripleoclient (master)

Reviewed: https://review.openstack.org/392313
Committed: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=d1bd56a2f206ce3d5b9af3938d9cd6c65d9787dd
Submitter: Jenkins
Branch: master

commit d1bd56a2f206ce3d5b9af3938d9cd6c65d9787dd
Author: James Slagle <email address hidden>
Date: Tue Nov 1 17:21:55 2016 -0400

    Fix nodes count check on stack-update with custom roles

    When using custom roles, there is no requirement that you have a role
    called Controller, Compute, ObjectStorage, BlockStorage, or CephStorage.
    However, this list is hardcoded in tripleoclient and it is assumed there
    are corresponding *Count parameters for these roles names then the nodes
    count check validation is performed on stack-update.

    This patch parses the roles_data.yaml file if one was specified and gets the
    default role count parameters from that file.

    Change-Id: Ie28e736917fd54dca5dcac8d2defa51a46d28759
    Partial-Bug: #1637204

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-tripleoclient (stable/newton)

Reviewed: https://review.openstack.org/393855
Committed: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=4a2004ded5e7297a76f46559b095fa89b5c8d663
Submitter: Jenkins
Branch: stable/newton

commit 4a2004ded5e7297a76f46559b095fa89b5c8d663
Author: James Slagle <email address hidden>
Date: Tue Nov 1 17:21:55 2016 -0400

    Fix nodes count check on stack-update with custom roles

    When using custom roles, there is no requirement that you have a role
    called Controller, Compute, ObjectStorage, BlockStorage, or CephStorage.
    However, this list is hardcoded in tripleoclient and it is assumed there
    are corresponding *Count parameters for these roles names then the nodes
    count check validation is performed on stack-update.

    This patch parses the roles_data.yaml file if one was specified and gets the
    default role count parameters from that file.

    Change-Id: Ie28e736917fd54dca5dcac8d2defa51a46d28759
    Partial-Bug: #1637204
    (cherry picked from commit d1bd56a2f206ce3d5b9af3938d9cd6c65d9787dd)

tags: added: in-stable-newton
Changed in tripleo:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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