Bug 1257748

Summary: [RFE] Add the ability to change the password for a user through API, especially for 'admin' user
Product: Red Hat CloudForms Management Engine Reporter: John Matthews <jmatthew>
Component: APIAssignee: Tim Wade <twade>
Status: CLOSED ERRATA QA Contact: Taras Lehinevych <tlehinev>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: dajohnso, gtanzill, jhardy, mfeifer, obarenbo, snansi, tlehinev, twade
Target Milestone: GAKeywords: FutureFeature
Target Release: 5.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 5.5.0.5 Doc Type: Enhancement
Doc Text:
The new version of CloudForms Management Engine adds the ablity to change a user's password using the REST API. This feature was added to address the need to change the CloudForms Management Engine's administrator's password during deployment from the Red Hat Cloud Infrastructure product.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-08 13:28:49 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 John Matthews 2015-08-27 20:27:37 UTC
Description of problem:

RHCI needs the ability to change the CFME admin user's password during a deployment.  

We'd like to be able to interact with a REST API to alter the admin user's password.

Comment 3 Aziza Karol 2015-10-28 05:48:21 UTC
Can you please provide verification steps?

Comment 4 Taras Lehinevych 2015-11-03 13:09:14 UTC
Verified fixed in version 5.5.0.8

Verification step: 
1. Get admin user via rest api
2. Send query with new password
3. Try to login in cfme with new password

You can run code in ipython:

from cfme.login import login
from cfme import Credential
from cfme.configure.access_control import User
from fixtures.pytest_store import store

rest_api = store.current_appliance.rest_api
admin_user = rest_api.collections.users.find_by(userid='admin')[0]
new_password = 'test'
admin_user.action.edit(password=new_password)

# This part could be done manually
cred = Credential(principal=admin_user.userid, secret=new_password)
new_user = User(credential=cred)
login(new_user)

Comment 6 errata-xmlrpc 2015-12-08 13:28:49 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/RHSA-2015:2551