Hanging heat-api after validate request

Bug #1405752 reported by Sergey Kraynev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Invalid
High
Sergey Kraynev

Bug Description

For juno release Heat has requirement:

requests>=1.2.1,!=2.4.0

In case when you use requests>=1.2.1, <=2.0.1, with Devstack installation on Centos 6.5 you can got situation with hanging heat-api process.
It will be still available, but can not handle any new request. How to reproduce:
 - install devstack of juno release on Centos 6.5
 - manually downgrade requests lib to one value of range (1.2.1 - 2.0.1)
 - restart heat-api
 - start tempest test [1] or do the same manually:
     * get token_id and tenant_id from json response:
        curl -d '{"auth":{"passwordCredentials":{"username": "admin", "password": "admin"},"tenantName": "demo"}}' -H "Content-Type: application/json" http://localhost:5000/v2.0/tokens
     * try to validate template with wrong url:
       curl -iv http://localhost:8004/v1/<TENANT_ID>/validate -H "X-Auth-Token: <TOKEN_ID>" -H "Content-Type: application/json" -d '{"template_url": "http://www.example.com/template.template", "parameters":{}}'

As result you will get hanging heat-api:

[skr@localhost devstack]$ curl -iv http://localhost:8004/v1/37997a474b8745768b19f8c11946a3b5/validate -H "X-Auth-Token: 069915cc53ee4cdf863f5735a5e433de" -H "Content-Type: application/json" -d '{"template_url": "http://www.example.com/template.template", "parameters":{}}'

* About to connect() to localhost port 8004 (#0)
* Trying ::1... Connection refused
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 8004 (#0)
> POST /v1/37997a474b8745768b19f8c11946a3b5/validate HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: localhost:8004
> Accept: */*
> X-Auth-Token: 069915cc53ee4cdf863f5735a5e433de
> Content-Type: application/json
> Content-Length: 77
>

Log from heat-api:

Exception AttributeError: "'GreenSocket' object has no attribute 'fd'" in <bound method GreenSocket.__del__ of <eventlet.greenio.GreenSocket object at 0x536a710>> ignored
Exception RuntimeError: 'maximum recursion depth exceeded in __subclasscheck__' in <type 'exceptions.AttributeError'> ignored
Exception AttributeError: "'GreenSocket' object has no attribute 'fd'" in <bound method GreenSocket.__del__ of <eventlet.greenio.GreenSocket object at 0x536a710>> ignored
^CException KeyboardInterrupt in <bound method GreenSocket.__del__ of <eventlet.greenio.GreenSocket object at 0x536a710>> ignored

[1] https://github.com/openstack/tempest/blob/477d63086eac246afed75904918d757ecc1762a4/tempest/api/orchestration/stacks/test_templates_negative.py

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (stable/juno)

Fix proposed to branch: stable/juno
Review: https://review.openstack.org/144433

Angus Salkeld (asalkeld)
Changed in heat:
status: New → Triaged
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on heat (stable/juno)

Change abandoned by Sergey Kraynev (<email address hidden>) on branch: stable/juno
Review: https://review.openstack.org/144433
Reason: Abandoned according to the previous message. (in favor of auto-sync from global requirements)

Revision history for this message
Angus Salkeld (asalkeld) wrote :
Changed in heat:
status: Triaged → In Progress
Revision history for this message
Steven Hardy (shardy) wrote :

Affects Juno only, marking master bug invalid

Changed in heat:
status: In Progress → Invalid
Thomas Herve (therve)
no longer affects: heat/juno
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.