Skip to content

Commit c71970d

Browse files
committed
Use sudo to run ssh script
1 parent ba3c2af commit c71970d

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

cluster/prov_onpremise_db.go

+16-6
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,23 @@ func (cluster *Cluster) OnPremiseConnect(server *ServerMonitor) (*sshclient.Clie
3838
if !cluster.Conf.OnPremiseSSH {
3939
return nil, errors.New("onpremise-ssh disable ")
4040
}
41-
user, _ := misc.SplitPair(cluster.Conf.OnPremiseSSHCredential)
41+
user, password := misc.SplitPair(cluster.Conf.OnPremiseSSHCredential)
42+
4243
key := cluster.OnPremiseGetSSHKey(user)
43-
client, err := sshcli.DialWithKey(misc.Unbracket(server.Host)+":"+strconv.Itoa(cluster.Conf.OnPremiseSSHPort), user, key)
44-
if err != nil {
45-
return nil, errors.New(fmt.Sprintf("OnPremise Provisioning via SSH %s %s", err.Error(), key))
44+
if password != "" {
45+
client, err := sshcli.DialWithPasswd(misc.Unbracket(server.Host)+":"+strconv.Itoa(cluster.Conf.OnPremiseSSHPort), user, password)
46+
if err != nil {
47+
return nil, errors.New(fmt.Sprintf("OnPremise Provisioning via SSH %s %s", err.Error(), key))
48+
}
49+
return client, nil
50+
} else {
51+
client, err := sshcli.DialWithKey(misc.Unbracket(server.Host)+":"+strconv.Itoa(cluster.Conf.OnPremiseSSHPort), user, key)
52+
if err != nil {
53+
return nil, errors.New(fmt.Sprintf("OnPremise Provisioning via SSH %s %s", err.Error(), key))
54+
}
55+
return client, nil
4656
}
47-
return client, nil
57+
return nil, errors.New("onpremise-ssh no key no password ")
4858
}
4959

5060
func (cluster *Cluster) OnPremiseProvisionDatabaseService(server *ServerMonitor) {
@@ -164,7 +174,7 @@ func (cluster *Cluster) OnPremiseStartDatabaseService(server *ServerMonitor) err
164174
if user, ok := server.ClusterGroup.APIUsers[adminuser]; ok {
165175
adminpassword = user.Password
166176
}
167-
buf2 := strings.NewReader("export MYSQL_ROOT_PASSWORD=\"" + server.Pass + "\";export REPLICATION_MANAGER_URL=\"https://" + server.ClusterGroup.Conf.MonitorAddress + ":" + server.ClusterGroup.Conf.APIPort + "\";export REPLICATION_MANAGER_USER=\"" + adminuser + "\";export REPLICATION_MANAGER_PASSWORD=\"" + adminpassword + "\";export REPLICATION_MANAGER_HOST_NAME=\"" + server.Host + "\";export REPLICATION_MANAGER_HOST_PORT=\"" + server.Port + "\";export REPLICATION_MANAGER_CLUSTER_NAME=\"" + server.ClusterGroup.Name + "\"\n")
177+
buf2 := strings.NewReader("export MYSQL_ROOT_PASSWORD=\"" + server.Pass + "\";export REPLICATION_MANAGER_URL=\"https://" + server.ClusterGroup.Conf.MonitorAddress + ":" + server.ClusterGroup.Conf.APIPort + "\";export REPLICATION_MANAGER_USER=\"" + adminuser + "\";export REPLICATION_MANAGER_PASSWORD=\"" + adminpassword + "\";export REPLICATION_MANAGER_HOST_NAME=\"" + server.Host + "\";export REPLICATION_MANAGER_HOST_PORT=\"" + server.Port + "\";export REPLICATION_MANAGER_CLUSTER_NAME=\"" + server.ClusterGroup.Name + "\"\nsudo -E ")
168178
r := io.MultiReader(buf2, buf)
169179

170180
var (

0 commit comments

Comments
 (0)