Skip to content

Commit 457004a

Browse files
gmpifyrvrangel
authored andcommitted
Add support for receiving grpc_bind_adress on vttestserver (vitessio#17231)
Signed-off-by: Gabriel Parreiras <gabriel.parreiras@shopify.com> Signed-off-by: Renan Rangel <rrangel@slack-corp.com>
1 parent 115fd86 commit 457004a

File tree

3 files changed

+37
-19
lines changed

3 files changed

+37
-19
lines changed

go/vt/servenv/grpc_server.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,11 @@ func GRPCPort() int {
169169
return gRPCPort
170170
}
171171

172+
// GRPCPort returns the value of the `--grpc_bind_address` flag.
173+
func GRPCBindAddress() string {
174+
return gRPCBindAddress
175+
}
176+
172177
// isGRPCEnabled returns true if gRPC server is set
173178
func isGRPCEnabled() bool {
174179
if gRPCPort != 0 {

go/vt/vttest/local_cluster.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -660,6 +660,7 @@ func (db *LocalCluster) JSONConfig() any {
660660
config := map[string]any{
661661
"bind_address": db.vt.BindAddress,
662662
"port": db.vt.Port,
663+
"grpc_bind_address": db.vt.BindAddressGprc,
663664
"socket": db.mysql.UnixSocket(),
664665
"vtcombo_mysql_port": db.Env.PortForProtocol("vtcombo_mysql_port", ""),
665666
"mysql": db.Env.PortForProtocol("mysql", ""),

go/vt/vttest/vtprocess.go

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,17 @@ type HealthChecker func(addr string) bool
4444
// It can be spawned manually or through one of the available
4545
// helper methods.
4646
type VtProcess struct {
47-
Name string
48-
Directory string
49-
LogDirectory string
50-
Binary string
51-
ExtraArgs []string
52-
Env []string
53-
BindAddress string
54-
Port int
55-
PortGrpc int
56-
HealthCheck HealthChecker
47+
Name string
48+
Directory string
49+
LogDirectory string
50+
Binary string
51+
ExtraArgs []string
52+
Env []string
53+
BindAddress string
54+
BindAddressGprc string
55+
Port int
56+
PortGrpc int
57+
HealthCheck HealthChecker
5758

5859
proc *exec.Cmd
5960
exit chan error
@@ -139,6 +140,11 @@ func (vtp *VtProcess) WaitStart() (err error) {
139140
vtp.proc.Args = append(vtp.proc.Args, fmt.Sprintf("%d", vtp.PortGrpc))
140141
}
141142

143+
if vtp.BindAddressGprc != "" {
144+
vtp.proc.Args = append(vtp.proc.Args, "--grpc_bind_address")
145+
vtp.proc.Args = append(vtp.proc.Args, vtp.BindAddressGprc)
146+
}
147+
142148
vtp.proc.Args = append(vtp.proc.Args, vtp.ExtraArgs...)
143149
vtp.proc.Env = append(vtp.proc.Env, os.Environ()...)
144150
vtp.proc.Env = append(vtp.proc.Env, vtp.Env...)
@@ -199,16 +205,22 @@ func VtcomboProcess(environment Environment, args *Config, mysql MySQLManager) (
199205
if args.VtComboBindAddress != "" {
200206
vtcomboBindAddress = args.VtComboBindAddress
201207
}
208+
grpcBindAddress := "127.0.0.1"
209+
if servenv.GRPCBindAddress() != "" {
210+
grpcBindAddress = servenv.GRPCBindAddress()
211+
}
212+
202213
vt := &VtProcess{
203-
Name: "vtcombo",
204-
Directory: environment.Directory(),
205-
LogDirectory: environment.LogDirectory(),
206-
Binary: environment.BinaryPath("vtcombo"),
207-
BindAddress: vtcomboBindAddress,
208-
Port: environment.PortForProtocol("vtcombo", ""),
209-
PortGrpc: environment.PortForProtocol("vtcombo", "grpc"),
210-
HealthCheck: environment.ProcessHealthCheck("vtcombo"),
211-
Env: environment.EnvVars(),
214+
Name: "vtcombo",
215+
Directory: environment.Directory(),
216+
LogDirectory: environment.LogDirectory(),
217+
Binary: environment.BinaryPath("vtcombo"),
218+
BindAddress: vtcomboBindAddress,
219+
BindAddressGprc: grpcBindAddress,
220+
Port: environment.PortForProtocol("vtcombo", ""),
221+
PortGrpc: environment.PortForProtocol("vtcombo", "grpc"),
222+
HealthCheck: environment.ProcessHealthCheck("vtcombo"),
223+
Env: environment.EnvVars(),
212224
}
213225

214226
user, pass := mysql.Auth()

0 commit comments

Comments
 (0)