Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created 03-06-2017 10:46 AM
I need to automate the process of setting up LDAP in ambari server. I do use EXPECT script for it. Here is my sample_backup.exp file:
#!/usr/bin/expect
spawn ambari-server setup-ldap
expect "Primary URL* {host:port} :"
send "<host>:<port>\r"
expect "Secondary URL {host:port} :"
send " \r"
expect "Use SSL* [true/false] (false):"
send "false\r"
expect "User object class* (posixAccount):"
send "person\r"
expect "User name attribute* (uid):"
send "uid\r"
expect "Group object class* (posixGroup):"
send "groupOfUniqueNames\r"
expect "Group name attribute* (cn):"
send "cn\r"
expect "Group member attribute* (memberUid):"
send "uniqueMember\r"
expect "Distinguished name attribute* (dn):"
send "dn\r"
expect "Base DN* :"
send "<base_dn>\r"
expect "Referral method [follow/ignore] :"
send "ignore\r"
expect "Bind anonymously* [true/false] (false):"
send "false\r"
expect "Manager DN* :"
send "<manager_dn>\r"
expect "Enter Manager Password* :"
send "<manager_password>\r"
expect "Re-enter password:"
send "<manager_password>\r"
expect "Save settings [y/n]"
send "y\r"
expect eof
When running the above I am getting:
[root@dkhdp251 expect_app]# expect sample_backup.exp
spawn ambari-server setup-ldap
Using python /usr/bin/python
Setting up LDAP properties...
Primary URL* {host:port} : <host>:<port>
Secondary URL {host:port} : invalid command name "true/false"
while executing
"true/false"
invoked from within
"expect "Use SSL* [true/false] (false):""
(file "sample_backup.exp" line 7)
Any ideas of what wrong is?
Created 03-06-2017 11:20 AM
I have got it working now. Here it is what I have changed:
I. FROM expect "Use SSL* [true/false] (false):" TO expect "Use SSL* (false):" II. FROM expect "Referral method [follow/ignore] :" TO expect "Referral method :" III. FROM expect "Bind anonymously* [true/false] (false):" TO expect "Bind anonymously* (false):" IV. FROM expect "Save settings [y/n]" TO expect "Save settings "
Now, when running the script I have this:
[root@dkhdp251 expect_app]# expect sample_new.exp
spawn ambari-server setup-ldap
Using python /usr/bin/python
Setting up LDAP properties...
Primary URL* {host:port} : <host>:<port>
Secondary URL {host:port} :
Use SSL* [true/false] (false): false
User object class* (posixAccount): person
User name attribute* (uid): uid
Group object class* (posixGroup): groupOfUniqueNames
Group name attribute* (cn): cn
Group member attribute* (memberUid): uniqueMember
Distinguished name attribute* (dn): dn
Base DN* : <base_dn>
Referral method [follow/ignore] : ignore
Bind anonymously* [true/false] (false): false
Manager DN* : <manager_dn>
Enter Manager Password* :
Re-enter password:
====================
Review Settings
====================
authentication.ldap.managerDn: <manager_dn>
authentication.ldap.managerPassword: *****
Save settings [y/n] (y)? y
Saving...done
Ambari Server 'setup-ldap' completed successfully.
Created 03-06-2017 11:20 AM
I have got it working now. Here it is what I have changed:
I. FROM expect "Use SSL* [true/false] (false):" TO expect "Use SSL* (false):" II. FROM expect "Referral method [follow/ignore] :" TO expect "Referral method :" III. FROM expect "Bind anonymously* [true/false] (false):" TO expect "Bind anonymously* (false):" IV. FROM expect "Save settings [y/n]" TO expect "Save settings "
Now, when running the script I have this:
[root@dkhdp251 expect_app]# expect sample_new.exp
spawn ambari-server setup-ldap
Using python /usr/bin/python
Setting up LDAP properties...
Primary URL* {host:port} : <host>:<port>
Secondary URL {host:port} :
Use SSL* [true/false] (false): false
User object class* (posixAccount): person
User name attribute* (uid): uid
Group object class* (posixGroup): groupOfUniqueNames
Group name attribute* (cn): cn
Group member attribute* (memberUid): uniqueMember
Distinguished name attribute* (dn): dn
Base DN* : <base_dn>
Referral method [follow/ignore] : ignore
Bind anonymously* [true/false] (false): false
Manager DN* : <manager_dn>
Enter Manager Password* :
Re-enter password:
====================
Review Settings
====================
authentication.ldap.managerDn: <manager_dn>
authentication.ldap.managerPassword: *****
Save settings [y/n] (y)? y
Saving...done
Ambari Server 'setup-ldap' completed successfully.