Bug 1729762 - [OSP13] Swift container fails when the network file doesn't exist in openstack overcloud deploy command
Summary: [OSP13] Swift container fails when the network file doesn't exist in openstac...
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-tripleoclient
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
Target Milestone: z8
: 13.0 (Queens)
Assignee: Cédric Jeanneret
QA Contact: Sasha Smolyak
Depends On:
TreeView+ depends on / blocked
Reported: 2019-07-14 10:31 UTC by Gurenko Alex
Modified: 2019-09-03 16:56 UTC (History)
4 users (show)

Fixed In Version: python-tripleoclient-9.2.7-11.el7ost
Doc Type: No Doc Update
Doc Text:
Clone Of:
Last Closed: 2019-09-03 16:55:57 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:2624 0 None None None 2019-09-03 16:56:17 UTC

Description Gurenko Alex 2019-07-14 10:31:06 UTC
This bug was initially created as a copy of Bug #1723747

I am copying this bug because: 

Custom network data appeared in OSP13 which is also a long support release.

Description of problem:
When running openstack overcloud deploy -n /home/stack/virt/network/network_data_1.yaml and the file network_data_1.yaml doesn't exist, get a big error:

Exception occured while running the command
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/tripleoclient/command.py", line 32, in run
    super(Command, self).run(parsed_args)
  File "/usr/lib/python3.6/site-packages/osc_lib/command/command.py", line 41, in run
    return super(Command, self).run(parsed_args)
  File "/usr/lib/python3.6/site-packages/cliff/command.py", line 184, in run
    return_code = self.take_action(parsed_args) or 0
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 925, in take_action
    self._deploy_tripleo_heat_templates_tmpdir(stack, parsed_args)
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 374, in _deploy_tripleo_heat_templates_tmpdir
    new_tht_root, tht_root)
  File "/usr/lib/python3.6/site-packages/tripleoclient/v1/overcloud_deploy.py", line 400, in _deploy_tripleo_heat_templates
  File "/usr/lib/python3.6/site-packages/tripleoclient/workflows/plan_management.py", line 206, in update_plan_from_templates
    passwords = _load_passwords(swift_client, name)
  File "/usr/lib/python3.6/site-packages/tripleoclient/workflows/plan_management.py", line 293, in _load_passwords
    return plan_env['passwords']
KeyError: 'passwords'

because the command is trying to build a plan and fails, without validating first that the file exists.

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

How reproducible:

Steps to Reproduce:
1. deploy undercloud
2. Try to deploy overcloud with a non-existing network file

Actual results:
Deploy fails because of empty plan

Expected results:
Error explaining that the file doesn't exist

Additional info:

Comment 9 Sasha Smolyak 2019-08-15 12:10:18 UTC
Checked with non-existing files of type: --plan-environment-file --answers-file --networks-file
Tried several times, then deployed a correct configuration. Deployment passed. Verified.

Comment 11 errata-xmlrpc 2019-09-03 16:55:57 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.


Note You need to log in before you can comment on or make changes to this bug.