@@ -174,11 +174,11 @@ func (r *RepMgr) setDefaults() error {
174
174
return err
175
175
}
176
176
177
- hostname := fmt . Sprintf ( "%s.vm.%s.internal" , r .MachineID , r . AppName )
177
+ hostname := r . machineIdToDNS ( r .MachineID )
178
178
179
179
conf := ConfigMap {
180
180
"node_id" : nodeID ,
181
- "node_name" : fmt .Sprintf ("'%s'" , r . MachineID ),
181
+ "node_name" : fmt .Sprintf ("'%s'" , hostname ),
182
182
"conninfo" : fmt .Sprintf ("'host=%s port=%d user=%s dbname=%s connect_timeout=5'" , hostname , r .Port , r .Credentials .Username , r .DatabaseName ),
183
183
"data_directory" : fmt .Sprintf ("'%s'" , r .DataDir ),
184
184
"failover" : "'automatic'" ,
@@ -301,10 +301,10 @@ func (r *RepMgr) unregisterWitness(id int) error {
301
301
return err
302
302
}
303
303
304
- func (r * RepMgr ) rejoinCluster (machineID string ) error {
304
+ func (r * RepMgr ) rejoinCluster (nodeName string ) error {
305
305
cmdStr := fmt .Sprintf ("repmgr -f %s node rejoin -h %s -p %d -U %s -d %s --force-rewind --no-wait" ,
306
306
r .ConfigPath ,
307
- fmt . Sprintf ( "%s.vm.%s.internal" , machineID , r . AppName ) ,
307
+ nodeName ,
308
308
r .Port ,
309
309
r .Credentials .Username ,
310
310
r .DatabaseName ,
@@ -316,14 +316,14 @@ func (r *RepMgr) rejoinCluster(machineID string) error {
316
316
return err
317
317
}
318
318
319
- func (r * RepMgr ) clonePrimary (machineId string ) error {
319
+ func (r * RepMgr ) clonePrimary (hostname string ) error {
320
320
cmdStr := fmt .Sprintf ("mkdir -p %s" , r .DataDir )
321
321
if _ , err := utils .RunCommand (cmdStr , "postgres" ); err != nil {
322
322
return fmt .Errorf ("failed to create pg directory: %s" , err )
323
323
}
324
324
325
325
cmdStr = fmt .Sprintf ("repmgr -h %s -p %d -d %s -U %s -f %s standby clone -c -F" ,
326
- fmt . Sprintf ( "%s.vm.%s.internal" , machineId , r . AppName ) ,
326
+ hostname ,
327
327
r .Port ,
328
328
r .DatabaseName ,
329
329
r .Credentials .Username ,
@@ -474,13 +474,13 @@ func (r *RepMgr) ResolveMemberOverDNS(ctx context.Context) (*Member, error) {
474
474
continue
475
475
}
476
476
477
- conn , err := r .NewRemoteConnection (ctx , machineId )
477
+ conn , err := r .NewRemoteConnection (ctx , r . machineIdToDNS ( machineId ) )
478
478
if err != nil {
479
479
continue
480
480
}
481
481
defer func () { _ = conn .Close (ctx ) }()
482
482
483
- member , err := r .MemberByHostname (ctx , conn , machineId )
483
+ member , err := r .MemberByHostname (ctx , conn , r . machineIdToDNS ( machineId ) )
484
484
if err != nil {
485
485
continue
486
486
}
@@ -559,3 +559,11 @@ func (r *RepMgr) UnregisterMember(member Member) error {
559
559
func (r * RepMgr ) eligiblePrimary () bool {
560
560
return r .Region == r .PrimaryRegion
561
561
}
562
+
563
+ func (r * RepMgr ) machineIdToDNS (nodeName string ) string {
564
+ if len (nodeName ) != 14 {
565
+ panic ("invalid machine id" )
566
+ }
567
+
568
+ return fmt .Sprintf ("%s.vm.%s.internal" , nodeName , r .AppName )
569
+ }
0 commit comments