@@ -1737,28 +1737,28 @@ def add_node(
1737
1737
run_cmd (cmd_export_s3_source , node = source_node_data , message = "Setting S3 environment variables for BackRest" , verbose = verbose )
1738
1738
1739
1739
# Step 6: Set all BackRest backup configuration values for the source node.
1740
- # (a) Set the backup stanza
1741
- cmd_set_backup_stanza_source = f"cd { source_node_data [ 'path' ] } /pgedge && ./pgedge set BACKUP stanza { stanza_source } "
1742
- run_cmd ( cmd_set_backup_stanza_source , node = source_node_data , message = f"Setting BACKUP stanza ' { stanza_source } ' on node ' { source_node_data [ 'name' ] } '" , verbose = verbose )
1743
- # (b) Create restore directory and set restore_path for backups.
1744
- cmd_create_restore_dir_source = f"sudo mkdir -p { restore_path_source } "
1745
- run_cmd ( cmd_create_restore_dir_source , node = source_node_data , message = f"Creating restore directory { restore_path_source } " , verbose = verbose )
1746
- cmd_set_restore_path_source = f"cd { source_node_data [ 'path' ] } /pgedge && ./pgedge set BACKUP restore_path { restore_path_source } "
1747
- run_cmd ( cmd_set_restore_path_source , node = source_node_data , message = f"Setting BACKUP restore_path to { restore_path_source } " , verbose = verbose )
1748
- # (c) Set BACKUP repo1-host-user to the OS user (default: postgres)
1749
- os_user_source = source_node_data .get (" os_user" , " postgres" )
1750
- cmd_set_repo1_host_user_source = f"cd { source_node_data [ 'path' ] } /pgedge && ./pgedge set BACKUP repo1-host-user { os_user_source } "
1751
- run_cmd ( cmd_set_repo1_host_user_source , node = source_node_data , message = f"Setting BACKUP repo1-host-user to { os_user_source } on node ' { source_node_data [ 'name' ] } '" , verbose = verbose )
1752
- # (d) Set BACKUP pg1-path to the PostgreSQL data directory
1753
- cmd_set_pg1_path_source = f"cd { source_node_data [ 'path' ] } /pgedge && ./pgedge set BACKUP pg1-path { pg1_path_source } "
1754
- run_cmd (cmd_set_pg1_path_source , node = source_node_data , message = f"Setting BACKUP pg1-path to { pg1_path_source } on node ' { source_node_data [ 'name' ] } '" , verbose = verbose )
1755
- # (e) Set BACKUP pg1-user to the OS user
1756
- cmd_set_pg1_user_source = f"cd { source_node_data [ 'path' ] } /pgedge && ./pgedge set BACKUP pg1-user { os_user_source } "
1757
- run_cmd ( cmd_set_pg1_user_source , node = source_node_data , message = f"Setting BACKUP pg1-user to { os_user_source } on node '{ source_node_data ['name' ]} '" , verbose = verbose )
1758
- # (f) Set BACKUP pg1-port to the node's port value
1759
- cmd_set_pg1_port_source = f"cd { source_node_data [ 'path' ] } /pgedge && ./pgedge set BACKUP pg1-port { port_source } "
1760
- run_cmd ( cmd_set_pg1_port_source , node = source_node_data , message = f"Setting BACKUP pg1-port to { port_source } on node ' { source_node_data [ 'name' ] } '" , verbose = verbose )
1761
- # (g) Create the BackRest stanza (this command uses --pg1-port because it connects to the DB)
1740
+ #
1741
+ # Build one compound shell command
1742
+ compound_cmd = " && " . join ([
1743
+ f"cd { source_node_data [ 'path' ] } /pgedge" ,
1744
+ f"./pgedge set BACKUP stanza { stanza_source } " ,
1745
+ f"sudo mkdir -p { restore_path_source } " ,
1746
+ f" ./pgedge set BACKUP restore_path { restore_path_source } ",
1747
+ f"./pgedge set BACKUP repo1-host-user { source_node_data . get ( 'os_user' , 'postgres' ) } " ,
1748
+ f"./pgedge set BACKUP pg1-path { pg1_path_source } " ,
1749
+ f"./pgedge set BACKUP pg1-user { source_node_data .get (' os_user' , ' postgres' ) } " ,
1750
+ f" ./pgedge set BACKUP pg1-port { port_source } "
1751
+ ] )
1752
+
1753
+ # Execute once with verbose disabled
1754
+ run_cmd (
1755
+ compound_cmd ,
1756
+ node = source_node_data ,
1757
+ message = f"Configuring BACKUP settings on node '{ source_node_data ['name' ]} '" ,
1758
+ verbose = False
1759
+ )
1760
+
1761
+ # # (g) Create the BackRest stanza (this command uses --pg1-port because it connects to the DB)
1762
1762
cmd_create_stanza_source = (
1763
1763
f"cd { source_node_data ['path' ]} /pgedge && "
1764
1764
f"./pgedge backrest command stanza-create "
0 commit comments