Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1497730

Summary: [UPDATES] Cannot setup heat outputs without container-registry-file
Product: Red Hat OpenStack Reporter: Yurii Prokulevych <yprokule>
Component: python-tripleoclientAssignee: mathieu bultel <mbultel>
Status: CLOSED ERRATA QA Contact: Yurii Prokulevych <yprokule>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 12.0 (Pike)CC: augol, hbrock, jpichon, jschluet, jslagle, lbezdick, mandreou, mbultel, mburns, morazi, rhel-osp-director-maint, sathlang
Target Milestone: gaKeywords: Triaged
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-common-7.6.3-4.el7ost python-tripleoclient-7.3.3-5.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-13 22:11:53 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 Yurii Prokulevych 2017-10-02 14:21:18 UTC
Description of problem:
-----------------------
Attempt to setup heat config output without specifying container-registry-file failed:
(undercloud) [stack@undercloud-0 ~ (undercloud-12-us7)]$ openstack overcloud update stack --init-minor-update
You need to provide your container registry file if you want to update your container. If not, the old registry will be used for the minor update.
Started Mistral Workflow tripleo.package_update.v1.package_update_plan. Execution ID: 23c9c40b-9c3e-4263-b344-fe8d4a7f3931
Waiting for messages on queue '3e6535a4-a4cc-4f51-8fa1-9c099023117f' with no timeout.
{u'execution': {u'created_at': u'2017-10-02 14:03:29',
                u'id': u'23c9c40b-9c3e-4263-b344-fe8d4a7f3931',
                u'input': {u'config_dir': u'/tmp/',
                           u'container': u'overcloud',
                           u'container_registry': None,
                           u'queue_name': u'3e6535a4-a4cc-4f51-8fa1-9c099023117f',
                           u'skip_deploy_identifier': False,
                           u'timeout': 240},
                u'name': u'tripleo.package_update.v1.package_update_plan',
                u'params': {u'namespace': u''},
                u'spec': {u'description': u'Take a container and perform a package update with possible breakpoints',
                          u'input': [u'container',
                                     u'container_registry',
                                     {u'timeout': 240},
                                     {u'queue_name': u'tripleo'},
                                     {u'skip_deploy_identifier': False},
                                     {u'config_dir': u'/tmp/'}],
                          u'name': u'package_update_plan',
                          u'tags': [u'tripleo-common-managed'],
                          u'tasks': {u'get_config': {u'action': u'tripleo.config.get_overcloud_config',
                                                     u'name': u'get_config',
                                                     u'on-error': u'set_update_failed',
                                                     u'on-success': u'send_message',
                                                     u'type': u'direct',
                                                     u'version': u'2.0'},
                                     u'send_message': {u'action': u'zaqar.queue_post',
                                                       u'input': {u'messages': {u'body': {u'payload': {u'execution': u'<% execution() %>',
                                                                                                       u'message': u"<% $.get('message', '') %>",
                                                                                                       u'status': u"<% $.get('status', 'SUCCESS') %>"},
                                                                                          u'type': u'tripleo.package_update.v1.package_update_plan'}},
                                                                  u'queue_name': u'<% $.queue_name %>'},
                                                       u'name': u'send_message',
                                                       u'on-success': [{u'fail': u'<% $.get(\'get_config\') = "FAILED" %>'}],
                                                       u'type': u'direct',
                                                       u'version': u'2.0'},
                                     u'set_update_failed': {u'name': u'set_update_failed',
                                                            u'on-success': u'send_message',
                                                            u'publish': {u'message': u'<% task(update).result %>',
                                                                         u'status': u'FAILED'},
                                                            u'type': u'direct',
                                                            u'version': u'2.0'},
                                     u'update': {u'action': u'tripleo.package_update.update_stack container=<% $.container %> timeout=<% $.timeout %> container_registry=<% $.container_registry %>',
                                                 u'input': {u'container': u'<% $.container %>',
                                                            u'container_registry': u'<% $.container_registry %>',
                                                            u'timeout': u'<% $.timeout %>'},
                                                 u'name': u'update',
                                                 u'on-error': u'set_update_failed',
                                                 u'on-success': u'get_config',
                                                 u'type': u'direct',
                                                 u'version': u'2.0'},
                                     u'update_plan': {u'action': u'tripleo.plan.update_from_dir',
                                                      u'input': {u'container': u'<% $.container %>'},
                                                      u'name': u'update_plan',
                                                      u'on-error': u'set_update_failed',
                                                      u'on-success': u'update',
                                                      u'type': u'direct',
                                                      u'version': u'2.0'}},
                          u'version': u'2.0'}},
 u'message': u"Failed to run action [action_ex_id=fdc704cd-1b68-4893-bd79-4d21466437cb, action_cls='<class 'mistral.actions.action_factory.UpdateStackAction'>', attributes='{}', params='{u'container': u'overclou
d', u'timeout': 240, u'container_registry': None}']\n 'NoneType' object has no attribute '__getitem__'",
 u'status': u'FAILED'}

Version-Release number of selected component (if applicable):
-------------------------------------------------------------
python-tripleoclient-7.3.1-0.20170925220840.f114a61.el7ost.noarch

python-mistralclient-3.1.3-0.20170915002443.c33d39c.el7ost.noarch
openstack-mistral-api-5.1.1-0.20170925134000.d1a917e.el7ost.noarch
puppet-mistral-11.3.1-0.20170825184651.cf2e493.el7ost.noarch
openstack-mistral-executor-5.1.1-0.20170925134000.d1a917e.el7ost.noarch
openstack-mistral-common-5.1.1-0.20170925134000.d1a917e.el7ost.noarch
python-mistral-lib-0.2.0-0.20170821165722.bb1b87b.el7ost.noarch
openstack-mistral-engine-5.1.1-0.20170925134000.d1a917e.el7ost.noarch
python-mistral-5.1.1-0.20170925134000.d1a917e.el7ost.noarch

openstack-tripleo-common-7.6.1-0.20170922213744.el7ost.noarch
openstack-tripleo-common-containers-7.6.1-0.20170922213744.el7ost.noarch

Steps to Reproduce:
1. Install RHOS-12
2. Setup latest repos (UC and OC)
3. Apply patches: 487496, 487488, 486567
4. Update UC
5. Try setup heat config output:
    openstack overcloud update stack --init-minor-update

Actual results:
---------------
Error while setting up config output.

Comment 7 mathieu bultel 2017-11-07 15:54:54 UTC
Sorry for this bug, there was a misunderstanding regarding the behavior of the container registry option.
Updating tracker and sending fixes.

Comment 11 Jon Schlueter 2017-11-22 17:07:49 UTC
openstack-tripleo-common-7.6.3-4.el7ost

Comment 17 Yurii Prokulevych 2017-12-13 16:37:30 UTC
Verified with python-tripleoclient-7.3.3-7.el7ost.noarch and openstack-tripleo-common-7.6.3-8.el7ost.noarch

openstack overcloud update stack --init-minor-update
You have not provided a container registry file. Note that none of the containers on your environement will be updated. If you want to update your container you have to re-run this command and provide the registry file with: --container-registry-file option.
Waiting for messages on queue '2a59db0f-c025-47df-9fa7-a2efd0a2548a' with no timeout.
Started Mistral Workflow tripleo.package_update.v1.package_update_plan. Execution ID: 903316df-eda4-48a1-a883-3e906fd68cdf
...
2017-12-13 16:34:34Z [overcloud]: UPDATE_COMPLETE  Stack UPDATE completed successfully

 Stack overcloud UPDATE_COMPLETE 

Minor update init on stack overcloud complete.

Comment 18 errata-xmlrpc 2017-12-13 22:11:53 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/RHEA-2017:3462