Bug 1289058 - Re-deploying RHELOSP: "The Stack (overcloud) already exists", traceback on the Installation Progress screen
Summary: Re-deploying RHELOSP: "The Stack (overcloud) already exists", traceback on th...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Quickstart Cloud Installer
Classification: Red Hat
Component: Installation - RHELOSP
Version: 1.0
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ga
: 1.0
Assignee: John Matthews
QA Contact: Tasos Papaioannou
Dan Macpherson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-12-07 10:47 UTC by Antonin Pagac
Modified: 2016-09-13 16:23 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-09-13 16:23:23 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:1862 0 normal SHIPPED_LIVE Red Hat Quickstart Installer 1.0 2016-09-13 20:18:48 UTC

Description Antonin Pagac 2015-12-07 10:47:07 UTC
Description of problem:
When re-deploying RHELOSP, if the same Director is used and if the Overcloud has been deployed, there is an error on the Installation Progress page:

Error Expected(201) <=> Actual(409 Conflict) response => #<Excon::Response:0x0000000ed3d0c0 @data={:body=>"{\"explanation\": \"There was a conflict when trying to complete your request.\", \"code\": 409, \"error\": {\"message\": \"The Stack (overcloud) already exists.\", \"traceback\": \"Traceback (most recent call last):\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/common/context.py\\\", line 300, in wrapped\\n return func(self, ctx, *args, **kwargs)\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 670, in create_stack\\n parent_resource_name)\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 566, in _parse_template_and_validate_stack\\n self._validate_new_stack(cnxt, stack_name, tmpl)\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 531, in _validate_new_stack\\n raise exception.StackExists(stack_name=stack_name)\\n\\nStackExists: The Stack (overcloud) already exists.\\n\", \"type\": \"StackExists\"}, \"title\": \"Conflict\"}", :headers=>{"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"898", "X-Openstack-Request-Id"=>"req-03dc90e9-c60b-4ddb-a0c4-156ab9c0acc0", "Date"=>"Mon, 07 Dec 2015 08:18:53 GMT"}, :status=>409, :remote_ip=>"192.0.2.1", :local_port=><SNIP>, :local_address=>"<SNIP>"}, @body="{\"explanation\": \"There was a conflict when trying to complete your request.\", \"code\": 409, \"error\": {\"message\": \"The Stack (overcloud) already exists.\", \"traceback\": \"Traceback (most recent call last):\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/common/context.py\\\", line 300, in wrapped\\n return func(self, ctx, *args, **kwargs)\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 670, in create_stack\\n parent_resource_name)\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 566, in _parse_template_and_validate_stack\\n self._validate_new_stack(cnxt, stack_name, tmpl)\\n\\n File \\\"/usr/lib/python2.7/site-packages/heat/engine/service.py\\\", line 531, in _validate_new_stack\\n raise exception.StackExists(stack_name=stack_name)\\n\\nStackExists: The Stack (overcloud) already exists.\\n\", \"type\": \"StackExists\"}, \"title\": \"Conflict\"}", @headers={"Content-Type"=>"application/json; charset=UTF-8", "Content-Length"=>"898", "X-Openstack-Request-Id"=>"req-03dc90e9-c60b-4ddb-a0c4-156ab9c0acc0", "Date"=>"Mon, 07 Dec 2015 08:18:53 GMT"}, @status=409, @remote_ip="192.0.2.1", @local_port=<SNIP>, @local_address="<SNIP>">

I suspect this might be a fairly common situation, so there should appear a message about Overcloud, but no traceback in webUI. Traceback is also in production.log, so no data will be lost.

Version-Release number of selected component (if applicable):
RHCI-6.0-RHEL-7-20151201.t.0
RHCIOOO-7-RHEL-7-20151201.t.1

How reproducible:
Always

Steps to Reproduce:
1. Do a deployment of RHELOSP with deployed Overcloud
2. Start new deployment of RHELOSP, use the same Director
3. Content sync successful, during installation the above error appears

Actual results:
Error with traceback appears on the Installation Progress screen

Expected results:
Error without traceback should appear on the Installation Progress screen

Additional info:

Comment 1 Jason Montleon 2015-12-17 17:26:07 UTC
Maybe as part of our predeployment validation we check to ensure the overcloud is not already deployed, so it doesn't happen after sync'ing content?

Comment 2 Thom Carlin 2016-01-25 22:40:51 UTC
Also see this with RHCIOOO-7-RHEL-7-20160122.t.0

Comment 3 Thom Carlin 2016-01-25 22:45:11 UTC
Potential Workaround: 

Director: heat stack-delete overcloud
wait for heat stack-list finish DELETE_IN_PROGRESS
Resume step

Comment 8 Tasos Papaioannou 2016-07-22 20:04:09 UTC
Verified on QCI-1.2-RHEL-7-20160720.t.0 w/ QCIOOO-8.0-RHEL-7-20160719.t.0.

Comment 10 errata-xmlrpc 2016-09-13 16:23:23 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-2016:1862


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