Bug 1549139

Summary: Stack update is not working when using derived parameters.
Product: Red Hat OpenStack Reporter: Gregory Charot <gcharot>
Component: openstack-tripleo-commonAssignee: Alan Bishop <abishop>
Status: CLOSED ERRATA QA Contact: Yogev Rabl <yrabl>
Severity: medium Docs Contact:
Priority: medium    
Version: 12.0 (Pike)CC: abishop, dmaley, dpeacock, gcharot, jamsmith, jmelvin, johfulto, mburns, ojanas, pgrist, pmorey, rhel-osp-director-maint, scohen, slinaber
Target Milestone: z3Keywords: Triaged, ZStream
Target Release: 12.0 (Pike)   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-tripleo-common-7.6.9-4.el7ost Doc Type: Bug Fix
Doc Text:
The TripleO Derived Parameters workflow now searches for nodes in either the 'active' or 'available' states. The TripleO Derived Parameters feature searches for overcloud nodes associated with each TripleO role. Previously, the search was limited to nodes in the 'available' state. After the initial deployment, when nodes are typically in the 'active' state, stack updates failed because the Derived Parameters workflow did not find any nodes in the 'available' state.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-08-20 12:59:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Gregory Charot 2018-02-26 13:53:00 UTC
Description of problem:

Deployed a HCI environment with derived parameters (-p), deployment works fine. When i try to do a stack update (re-run the deployment), it fails with 

Unable to determine matching node for profile 'osdcompute'

See full output below

Version-Release number of selected component (if applicable):

12

How reproducible:

Always based on my THT

Steps to Reproduce:
1. Deploy with derived params
2. Re-run the deploy command
3.

Actual results:


$ sh overcloud-deploy.sh
Started Mistral Workflow tripleo.validations.v1.check_pre_deployment_validations. Execution ID: f82bee96-41f3-4143-8874-520ed474815f
Waiting for messages on queue '344c7abc-72e7-4f81-a5b5-347791969450' with no timeout.
Removing the current plan files
Uploading new plan files
Started Mistral Workflow tripleo.plan_management.v1.update_deployment_plan. Execution ID: 211334a1-241b-4a2c-af60-fd3dd7e09506
Plan updated.
Processing templates in the directory /tmp/tripleoclient-c3CXZh/tripleo-heat-templates
Invoking workflow (tripleo.derive_params.v1.derive_parameters) specified in plan-environment file
Started Mistral Workflow tripleo.derive_params.v1.derive_parameters. Execution ID: 9f3f705b-d3bd-4361-8929-a0be684e58a5
Workflow execution is failed: [{u'status': u'SUCCESS', u'message': u'', u'role_name': u'Controller'}, {u'status': u'FAILED', u'message': u"Unable to determine matching node for profile 'osdcompute'", u'role_name': u'ComputeHCI'}, {u'status': u'SUCCESS', u'message': u'', u'role_name': u'Compute'}]

Expected results:

Stack update process completes.


Additional info:

If i remove the -p options from the deploy commands then the stack update works fine.

(undercloud) [stack@undercloud ~]$ cat overcloud-deploy.sh
#!/bin/bash

exec openstack overcloud deploy \
        --templates /usr/share/openstack-tripleo-heat-templates \
        -r /home/stack/templates/roles_data.yaml \
        -e /home/stack/templates/global-config.yaml \
        -e /home/stack/templates/fencing.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
        -e /home/stack/templates/network-environment.yaml \
        -e /home/stack/templates/HostnameMap.yaml \
        -e /home/stack/templates/ips-from-pool-all.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
        -e /home/stack/templates/ceph-config.yaml \
        -e /home/stack/templates/docker-registry.yaml \
        -e /home/stack/templates/enable-tls.yaml \
        -e /home/stack/templates/inject-trust-anchor.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/tls-endpoints-public-ip.yaml \
        -e /home/stack/templates/public_vip.yaml \
        -e /home/stack/templates/rsvd_host_memory.yaml \
        -p /home/stack/templates/plan-environment-derived-params.yaml \


----

parameter_defaults:

  ControllerCount: 3
  ControllerSchedulerHints:
    'capabilities:node': 'controller-%index%'

  ComputeCount: 1
  OvercloudComputeFlavor: compute

  ComputeHCICount: 3
  OvercloudComputeHCIFlavor: osdcompute


(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list
+--------------------------------------+---------------------+-----------------+-----------------+-------------------+
| Node UUID                            | Node Name           | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+---------------------+-----------------+-----------------+-------------------+
| 266fbb32-2c60-48d3-9a59-c36ee9fba4a0 | overcloud-ctrl01    | active          | None            |                   |
| 8b97b8a5-50a2-461f-a55e-33a96f61e83b | overcloud-ctrl02    | active          | None            |                   |
| 81609fe5-766e-4d75-8b38-5e30ffcdb74f | overcloud-ctrl03    | active          | None            |                   |
| 4a5f7b12-6006-4506-ae12-5b2bb2fa2ea8 | overcloud-compute01 | available       | compute         |                   |
| 45976769-343c-4e19-88de-ac39f63d4fa4 | overcloud-compute02 | active          | compute         |                   |
| 44a95ee1-9999-425c-86cb-c2d4536843c4 | overcloud-ceph01    | active          | osdcompute      |                   |
| b8cc5b7d-c198-4b45-bf45-ba94913ed87a | overcloud-ceph02    | active          | osdcompute      |                   |
| 1d99bc4a-8e83-41b5-80fe-3ae6d8e84a3d | overcloud-ceph03    | active          | osdcompute      |                   |
| f8b7a0c9-1bd4-4d9b-a349-b49a475d7e9a | overcloud-custom01  | available       | networker       |                   |
+--------------------------------------+---------------------+-----------------+-----------------+-------------------+

Comment 3 Alan Bishop 2018-03-12 13:54:57 UTC
Starting backports to stable/queens and stable/pike

Comment 4 Alan Bishop 2018-03-20 18:55:54 UTC
Fix is not included in openstack-tripleo-common-7.6.9-3.el7ost.

Comment 23 Jeremy 2018-07-18 22:02:33 UTC
After installing the fix package stack update still failed, however after running this command on the undercloud:

% mistral workbook-update \
  /usr/share/openstack-tripleo-common/workbooks/baremetal.yaml

Then retrying the stack update

The update worked!

Comment 24 Yogev Rabl 2018-07-30 17:01:46 UTC
Verified

Comment 28 errata-xmlrpc 2018-08-20 12:59:02 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2331