Bug 1289058 - Re-deploying RHELOSP: "The Stack (overcloud) already exists", traceback on the Installation Progress screen
Re-deploying RHELOSP: "The Stack (overcloud) already exists", traceback on th...
Status: CLOSED ERRATA
Product: Red Hat Quickstart Cloud Installer
Classification: Red Hat
Component: Installation - RHELOSP (Show other bugs)
1.0
Unspecified Unspecified
unspecified Severity low
: ga
: 1.0
Assigned To: John Matthews
Tasos Papaioannou
Dan Macpherson
: Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-12-07 05:47 EST by Antonin Pagac
Modified: 2016-09-13 12:23 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-09-13 12:23:23 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Antonin Pagac 2015-12-07 05:47:07 EST
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 12:26:07 EST
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 17:40:51 EST
Also see this with RHCIOOO-7-RHEL-7-20160122.t.0
Comment 3 Thom Carlin 2016-01-25 17:45:11 EST
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 16:04:09 EDT
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 12:23:23 EDT
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.