Red Hat Bugzilla – Bug 682317
Need method to automate ccs_sync password entry
Last modified: 2011-05-19 10:18:01 EDT
Description of problem:
QE is requesting a modification to ccs_sync so we can automate its setup. ccs_sync now asks for the ricci password for every host using the getpass(3) function. This function opens /dev/tty which makes piping in the password via stdin ineffective. It is also marked obsolete, "Do not use it." in the man page.
The getpass info page includes example code for writing a substitute.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. yes riccipasswd | passwd ricci
2. yes riccipasswd | ccs_sync
3. ccs_sync prompts for password on /dev/tty
Seems reasonable to me, ccs_sync should be able to be able to get the password from a script.
I've updated ricci (and ccs_sync) to properly accept piped input for passwords. Please let me know if this doesn't work.
How to test:
[root@ask-03 ~]# yes "password" | ccs_sync
You have not authenticated to the ricci daemon on ask-03
With the old ccs_sync it would just hang on the password and not actually propagate the files.
You'll also want to clear out any cached ricci certificates, so on all the ricci nodes run the following commands:
rm -f /var/lib/ricci/certs/clients/client_cert_*
service ricci restart
Verified with ricci-0.16.2-30.el6.x86_64.
[root@buzz-02 cluster]# yes riccipass | passwd ricci
Changing password for user ricci.
New password: Retype new password: passwd: all authentication tokens updated successfully.
[root@buzz-02 cluster]# yes riccipass | ccs_sync
You have not authenticated to the ricci daemon on buzz-02
You have not authenticated to the ricci daemon on buzz-05
You have not authenticated to the ricci daemon on buzz-04
You have not authenticated to the ricci daemon on buzz-03
You have not authenticated to the ricci daemon on buzz-01
[root@buzz-02 cluster]# ccs_sync
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.