8e2906a59e
Under heavy load, when the security_reset script is being run to set up root password, it might happen that the mysql server doesn't get a change to evaluate the SQL statement sent by security_reset.expect before the hardcoded 10 seconds timeout is reached. Allow the timeout to be overriden via env variable DB_MAX_TIMEOUT, which is already used as a timeout variable in extend_start.sh Change-Id: If82c6daca82a48d899605829dc99cf4a352cddcd Closes-Bug: #1775864
59 lines
2.0 KiB
Plaintext
59 lines
2.0 KiB
Plaintext
#!/usr/bin/expect -f
|
|
|
|
if [catch {set timeout $env(DB_MAX_TIMEOUT)}] {set timeout 10}
|
|
spawn mysql_secure_installation
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'Enter current password for root (enter for none):' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'Enter current password for root (enter for none):' prompt\n"; exit 1 }
|
|
"Enter current password for root (enter for none):"
|
|
}
|
|
send "\r"
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'Set root password?' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'Set root password?' prompt\n"; exit 1 }
|
|
"Set root password?"
|
|
}
|
|
send "y\r"
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'New password:' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'New password:' prompt\n"; exit 1 }
|
|
"New password:"
|
|
}
|
|
send "$env(DB_ROOT_PASSWORD)\r"
|
|
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'Re-enter new password:' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'Re-enter new password:' prompt\n"; exit 1 }
|
|
"Re-enter new password:"
|
|
}
|
|
send "$env(DB_ROOT_PASSWORD)\r"
|
|
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'Remove anonymous users?' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'Remove anonymous users?' prompt\n"; exit 1 }
|
|
"Remove anonymous users?"
|
|
}
|
|
send "y\r"
|
|
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'Disallow root login remotely?' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'Disallow root login remotely?' prompt\n"; exit 1 }
|
|
"Disallow root login remotely?"
|
|
}
|
|
send "n\r"
|
|
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'Remove test database and access to it?' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'Remove test database and access to it?' prompt\n"; exit 1 }
|
|
"Remove test database and access to it?"
|
|
}
|
|
send "y\r"
|
|
|
|
expect {
|
|
timeout { send_user "\nFailed to get 'Reload privilege tables now?' prompt\n"; exit 1 }
|
|
eof { send_user "\nFailed to get 'Reload privilege tables now?' prompt\n"; exit 1 }
|
|
"Reload privilege tables now?"
|
|
}
|
|
send "y\r"
|
|
expect eof
|