Bug 973035

Summary: heat-engine error
Product: [Community] RDO Reporter: VijayKumar <vijayakumar.kodam.ext>
Component: openstack-heatAssignee: Jeff Peeler <jpeeler>
Status: CLOSED CURRENTRELEASE QA Contact: Amit Ugol <augol>
Severity: medium Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: jpeeler, sdake, vijayakumar.kodam.ext
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-heat-2013.1.2-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-08 11:42:09 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 VijayKumar 2013-06-11 06:31:14 UTC
Description of problem:

Configured heat setup as mentioned in 
http://openstack.redhat.com/Deploy_Heat_and_launch_your_first_Application

After the setup is done, whenever heat-engine is run, below error is seen in the heat-engine logs.
 heat.openstack.common.loopingcall EVPError: bad decrypt
Complete error logs are mentioned at the end of description.

Autoscale up of VMs is not happening due to this.

Tested the same after setting up heat from sources and autoscaling is working fine. The main difference between two setups is the use of cryptography module.
In RDO, M2Crypto is used due to which might be the cause for the above mentioned error. In openstack main stream code, pycrypto is used and there is no error in heat-engine logs.

===========================================================
Please find below the error from the logs:

2013-05-28 07:26:26.178 17735 ERROR heat.openstack.common.loopingcall [-] in looping call
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall Traceback (most recent call last):
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall   File "/usr/lib/python2.7/site-packages/heat/openstack/common/loopingcall.py", line 67, in _inner
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall     self.f(*self.args, **self.kw)
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall   File "/usr/lib/python2.7/site-packages/heat/engine/service.py", line 518, in _periodic_watcher_task
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall     user_creds = db_api.user_creds_get(stack.user_creds_id)
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall   File "/usr/lib/python2.7/site-packages/heat/db/api.py", line 126, in user_creds_get
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall     return IMPL.user_creds_get(context_id)
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall   File "/usr/lib/python2.7/site-packages/heat/db/sqlalchemy/api.py", line 221, in user_creds_get
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall     result['password'] = crypt.decrypt(result['password'])
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall   File "/usr/lib/python2.7/site-packages/heat/common/crypt.py", line 55, in decrypt
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall     res = cipher.update(iv) + cipher.final()
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall   File "/usr/lib64/python2.7/site-packages/M2Crypto/EVP.py", line 128, in final
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall     return m2.cipher_final(self.ctx)
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall EVPError: bad decrypt
2013-05-28 07:26:26.178 17735 TRACE heat.openstack.common.loopingcall

===========================================================

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


How reproducible:


Steps to Reproduce:
1. Configure heat setup as mentioned in 
http://openstack.redhat.com/Deploy_Heat_and_launch_your_first_Application

2. After the setup is done, run heat-engine in background. 
3. Check the heat-engine logs for the below error.
 heat.openstack.common.loopingcall EVPError: bad decrypt


Actual results:

Below error is seen in  heat-engine logs.
 heat.openstack.common.loopingcall EVPError: bad decrypt

Expected results:
No errors should be seen in heat-engine logs.

Additional info:

Comment 1 Jeff Peeler 2013-06-11 14:24:00 UTC
What version of openstack-heat was being tested here? I believe the problem has already been fixed and a yum update will solve the problem.

Comment 2 VijayKumar 2013-06-11 19:08:16 UTC
(In reply to Jeff Peeler from comment #1)
> What version of openstack-heat was being tested here? I believe the problem
> has already been fixed and a yum update will solve the problem.

Jeff Peeler,

I have used openstack-heat-engine-2013.1-1.3.fc19. I shall update the openstack-heat-engine and verify. Looks like openstack-heat-2013.1.2-2 has been released on 10th Jun 2013. I see the timestamp as 10th Jun at http://repos.fedorapeople.org/repos/openstack/openstack-grizzly/epel-6/

-VijayKumar

Comment 3 VijayKumar 2013-07-08 11:42:09 UTC
The error is not seen after updating heat-engine.