@@ -194,7 +194,7 @@ def parse_short_mount(mount_str, basedir):
194
194
# unless it's anonymous-volume
195
195
196
196
197
- def fix_mount_dict (compose , mount_dict , proj_name , srv_name ):
197
+ def fix_mount_dict (compose , mount_dict , srv_name ):
198
198
"""
199
199
in-place fix mount dictionary to:
200
200
- define _vol to be the corresponding top-level volume
@@ -214,7 +214,7 @@ def fix_mount_dict(compose, mount_dict, proj_name, srv_name):
214
214
if not source :
215
215
# missing source
216
216
vol ["name" ] = "_" .join ([
217
- proj_name ,
217
+ compose . project_name ,
218
218
srv_name ,
219
219
hashlib .sha256 (mount_dict ["target" ].encode ("utf-8" )).hexdigest (),
220
220
])
@@ -225,7 +225,7 @@ def fix_mount_dict(compose, mount_dict, proj_name, srv_name):
225
225
elif external :
226
226
vol ["name" ] = f"{ source } "
227
227
else :
228
- vol ["name" ] = f"{ proj_name } _{ source } "
228
+ vol ["name" ] = f"{ compose . project_name } _{ source } "
229
229
return mount_dict
230
230
231
231
@@ -346,14 +346,14 @@ def norm_ulimit(inner_value):
346
346
return inner_value
347
347
348
348
349
- def default_network_name_for_project (compose , proj_name , net , is_ext ):
349
+ def default_network_name_for_project (compose , net , is_ext ):
350
350
if is_ext :
351
351
return net
352
352
353
353
default_net_name_compat = compose .x_podman .get ("default_net_name_compat" , False )
354
354
if default_net_name_compat is True :
355
- return f"{ proj_name .replace ('-' , '' )} _{ net } "
356
- return f"{ proj_name } _{ net } "
355
+ return f"{ compose . project_name .replace ('-' , '' )} _{ net } "
356
+ return f"{ compose . project_name } _{ net } "
357
357
358
358
359
359
# def tr_identity(project_name, given_containers):
@@ -397,7 +397,6 @@ async def assert_volume(compose, mount_dict):
397
397
return
398
398
if mount_dict ["type" ] != "volume" or not vol or not vol .get ("name" , None ):
399
399
return
400
- proj_name = compose .project_name
401
400
vol_name = vol ["name" ]
402
401
is_ext = vol .get ("external" , None )
403
402
log .debug ("podman volume inspect %s || podman volume create %s" , vol_name , vol_name )
@@ -413,9 +412,9 @@ async def assert_volume(compose, mount_dict):
413
412
args = [
414
413
"create" ,
415
414
"--label" ,
416
- f"io.podman.compose.project={ proj_name } " ,
415
+ f"io.podman.compose.project={ compose . project_name } " ,
417
416
"--label" ,
418
- f"com.docker.compose.project={ proj_name } " ,
417
+ f"com.docker.compose.project={ compose . project_name } " ,
419
418
]
420
419
for item in norm_as_list (labels ):
421
420
args .extend (["--label" , item ])
@@ -534,17 +533,15 @@ def mount_desc_to_volume_args(compose, mount_desc, srv_name, cnt_name): # pylin
534
533
535
534
536
535
def get_mnt_dict (compose , cnt , volume ):
537
- proj_name = compose .project_name
538
536
srv_name = cnt ["_service" ]
539
537
basedir = compose .dirname
540
538
if is_str (volume ):
541
539
volume = parse_short_mount (volume , basedir )
542
- return fix_mount_dict (compose , volume , proj_name , srv_name )
540
+ return fix_mount_dict (compose , volume , srv_name )
543
541
544
542
545
543
async def get_mount_args (compose , cnt , volume ):
546
544
volume = get_mnt_dict (compose , cnt , volume )
547
- # proj_name = compose.project_name
548
545
srv_name = cnt ["_service" ]
549
546
mount_type = volume ["type" ]
550
547
await assert_volume (compose , volume )
@@ -854,25 +851,22 @@ async def assert_cnt_nets(compose, cnt):
854
851
net = cnt .get ("network_mode" , None )
855
852
if net and not net .startswith ("bridge" ):
856
853
return
857
- proj_name = compose .project_name
858
- nets = compose .networks
859
- default_net = compose .default_net
860
854
cnt_nets = cnt .get ("networks" , None )
861
855
if cnt_nets and is_dict (cnt_nets ):
862
856
cnt_nets = list (cnt_nets .keys ())
863
- cnt_nets = norm_as_list (cnt_nets or default_net )
857
+ cnt_nets = norm_as_list (cnt_nets or compose . default_net )
864
858
for net in cnt_nets :
865
- net_desc = nets [net ] or {}
859
+ net_desc = compose . networks [net ] or {}
866
860
is_ext = net_desc .get ("external" , None )
867
861
ext_desc = is_ext if is_dict (is_ext ) else {}
868
- default_net_name = default_network_name_for_project (compose , proj_name , net , is_ext )
862
+ default_net_name = default_network_name_for_project (compose , net , is_ext )
869
863
net_name = ext_desc .get ("name" , None ) or net_desc .get ("name" , None ) or default_net_name
870
864
try :
871
865
await compose .podman .output ([], "network" , ["exists" , net_name ])
872
866
except subprocess .CalledProcessError as e :
873
867
if is_ext :
874
868
raise RuntimeError (f"External network [{ net_name } ] does not exists" ) from e
875
- args = get_network_create_args (net_desc , proj_name , net_name )
869
+ args = get_network_create_args (net_desc , compose . project_name , net_name )
876
870
await compose .podman .output ([], "network" , args )
877
871
await compose .podman .output ([], "network" , ["exists" , net_name ])
878
872
@@ -911,9 +905,6 @@ def get_net_args(compose, cnt):
911
905
sys .exit (1 )
912
906
else :
913
907
is_bridge = True
914
- proj_name = compose .project_name
915
- default_net = compose .default_net
916
- nets = compose .networks
917
908
cnt_nets = cnt .get ("networks" , None )
918
909
919
910
aliases = [service_name ]
@@ -949,13 +940,13 @@ def get_net_args(compose, cnt):
949
940
# sort dict by priority
950
941
prioritized_cnt_nets .sort (reverse = True )
951
942
cnt_nets = [net_key for _ , net_key in prioritized_cnt_nets ]
952
- cnt_nets = norm_as_list (cnt_nets or default_net )
943
+ cnt_nets = norm_as_list (cnt_nets or compose . default_net )
953
944
net_names = []
954
945
for net in cnt_nets :
955
- net_desc = nets [net ] or {}
946
+ net_desc = compose . networks [net ] or {}
956
947
is_ext = net_desc .get ("external" , None )
957
948
ext_desc = is_ext if is_dict (is_ext ) else {}
958
- default_net_name = default_network_name_for_project (compose , proj_name , net , is_ext )
949
+ default_net_name = default_network_name_for_project (compose , net , is_ext )
959
950
net_name = ext_desc .get ("name" , None ) or net_desc .get ("name" , None ) or default_net_name
960
951
net_names .append (net_name )
961
952
net_names_str = "," .join (net_names )
@@ -988,10 +979,10 @@ def get_net_args(compose, cnt):
988
979
)
989
980
990
981
for net_ , net_config_ in multiple_nets .items ():
991
- net_desc = nets [net_ ] or {}
982
+ net_desc = compose . networks [net_ ] or {}
992
983
is_ext = net_desc .get ("external" , None )
993
984
ext_desc = is_ext if is_dict (is_ext ) else {}
994
- default_net_name = default_network_name_for_project (compose , proj_name , net_ , is_ext )
985
+ default_net_name = default_network_name_for_project (compose , net_ , is_ext )
995
986
net_name = ext_desc .get ("name" , None ) or net_desc .get ("name" , None ) or default_net_name
996
987
997
988
ipv4 = net_config_ .get ("ipv4_address" , None )
@@ -1454,9 +1445,7 @@ async def format_out(stdout):
1454
1445
log .info ("exit code: %s" , exit_code )
1455
1446
return exit_code
1456
1447
1457
- async def volume_ls (self , proj = None ):
1458
- if not proj :
1459
- proj = self .compose .project_name
1448
+ async def volume_ls (self ):
1460
1449
output = (
1461
1450
await self .output (
1462
1451
[],
@@ -1465,7 +1454,7 @@ async def volume_ls(self, proj=None):
1465
1454
"ls" ,
1466
1455
"--noheading" ,
1467
1456
"--filter" ,
1468
- f"label=io.podman.compose.project={ proj } " ,
1457
+ f"label=io.podman.compose.project={ self . compose . project_name } " ,
1469
1458
"--format" ,
1470
1459
"{{.Name}}" ,
1471
1460
],
@@ -1926,10 +1915,9 @@ def _parse_compose_file(self):
1926
1915
self .default_net = "default"
1927
1916
else :
1928
1917
self .default_net = None
1929
- default_net = self .default_net
1930
1918
allnets = set ()
1931
1919
for name , srv in services .items ():
1932
- srv_nets = srv .get ("networks" , None ) or default_net
1920
+ srv_nets = srv .get ("networks" , None ) or self . default_net
1933
1921
srv_nets = list (srv_nets .keys ()) if is_dict (srv_nets ) else norm_as_list (srv_nets )
1934
1922
allnets .update (srv_nets )
1935
1923
given_nets = set (nets .keys ())
@@ -2490,7 +2478,6 @@ def get_excluded(compose, args):
2490
2478
2491
2479
@cmd_run (podman_compose , "up" , "Create and start the entire stack or some of its services" )
2492
2480
async def compose_up (compose : PodmanCompose , args ):
2493
- proj_name = compose .project_name
2494
2481
excluded = get_excluded (compose , args )
2495
2482
if not args .no_build :
2496
2483
# `podman build` does not cache, so don't always build
@@ -2505,7 +2492,7 @@ async def compose_up(compose: PodmanCompose, args):
2505
2492
"ps" ,
2506
2493
[
2507
2494
"--filter" ,
2508
- f"label=io.podman.compose.project={ proj_name } " ,
2495
+ f"label=io.podman.compose.project={ compose . project_name } " ,
2509
2496
"-a" ,
2510
2497
"--format" ,
2511
2498
'{{ index .Labels "io.podman.compose.config-hash"}}' ,
@@ -2601,14 +2588,13 @@ def _task_cancelled(task: Task) -> bool:
2601
2588
2602
2589
2603
2590
def get_volume_names (compose , cnt ):
2604
- proj_name = compose .project_name
2605
2591
basedir = compose .dirname
2606
2592
srv_name = cnt ["_service" ]
2607
2593
ls = []
2608
2594
for volume in cnt .get ("volumes" , []):
2609
2595
if is_str (volume ):
2610
2596
volume = parse_short_mount (volume , basedir )
2611
- volume = fix_mount_dict (compose , volume , proj_name , srv_name )
2597
+ volume = fix_mount_dict (compose , volume , srv_name )
2612
2598
mount_type = volume ["type" ]
2613
2599
if mount_type != "volume" :
2614
2600
continue
@@ -2688,8 +2674,7 @@ async def compose_down(compose, args):
2688
2674
2689
2675
@cmd_run (podman_compose , "ps" , "show status of containers" )
2690
2676
async def compose_ps (compose , args ):
2691
- proj_name = compose .project_name
2692
- ps_args = ["-a" , "--filter" , f"label=io.podman.compose.project={ proj_name } " ]
2677
+ ps_args = ["-a" , "--filter" , f"label=io.podman.compose.project={ compose .project_name } " ]
2693
2678
if args .quiet is True :
2694
2679
ps_args .extend (["--format" , "{{.ID}}" ])
2695
2680
elif args .format :
0 commit comments