@@ -58,7 +58,7 @@ impl Config {
58
58
}
59
59
}
60
60
61
- fn deployment_servers < ' a > ( & ' a self ) -> impl Iterator < Item = & ' a Server > {
61
+ fn deployment_servers ( & self ) -> impl Iterator < Item = & Server > {
62
62
self . servers . iter ( ) . filter_map ( |( name, s) | {
63
63
if self . deployment . servers . contains ( name) {
64
64
Some ( s)
@@ -331,12 +331,25 @@ fn do_install_prereqs(config: &Config) -> Result<()> {
331
331
let builder = & config. servers [ & config. builder . server ] ;
332
332
let build_server = ( builder, & config. builder . omicron_path ) ;
333
333
let all_servers = std:: iter:: once ( build_server) . chain (
334
- config
335
- . deployment_servers ( )
336
- . map ( |server| ( server, & config. deployment . staging_dir ) ) ,
334
+ config. deployment_servers ( ) . filter_map ( |server| {
335
+ // Don't duplicate the builder
336
+ if server. addr != builder. addr {
337
+ Some ( ( server, & config. deployment . staging_dir ) )
338
+ } else {
339
+ None
340
+ }
341
+ } ) ,
342
+ ) ;
343
+
344
+ let server_names = std:: iter:: once ( & config. builder . server ) . chain (
345
+ config. deployment . servers . iter ( ) . filter_map ( |s| {
346
+ if * s != config. builder . server {
347
+ Some ( s)
348
+ } else {
349
+ None
350
+ }
351
+ } ) ,
337
352
) ;
338
- let server_names = std:: iter:: once ( & config. builder . server )
339
- . chain ( config. deployment . servers . iter ( ) ) ;
340
353
341
354
// run install_prereqs on each server
342
355
let fns = all_servers. map ( |( server, root_path) | {
0 commit comments