parsl 2024.8.5__py3-none-any.whl → 2024.8.19__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- parsl/channels/__init__.py +1 -4
- parsl/channels/oauth_ssh/oauth_ssh.py +12 -4
- parsl/channels/ssh/ssh.py +17 -7
- parsl/channels/ssh_il/ssh_il.py +13 -3
- parsl/dataflow/dflow.py +1 -1
- parsl/executors/high_throughput/executor.py +18 -27
- parsl/executors/high_throughput/interchange.py +4 -0
- parsl/executors/high_throughput/mpi_executor.py +23 -2
- parsl/executors/high_throughput/mpi_prefix_composer.py +5 -4
- parsl/executors/taskvine/executor.py +2 -0
- parsl/executors/workqueue/executor.py +2 -0
- parsl/monitoring/db_manager.py +36 -49
- parsl/monitoring/monitoring.py +9 -5
- parsl/monitoring/remote.py +4 -4
- parsl/monitoring/router.py +16 -18
- parsl/providers/__init__.py +0 -4
- parsl/providers/ad_hoc/ad_hoc.py +6 -2
- parsl/tests/configs/local_adhoc.py +2 -2
- parsl/tests/test_htex/test_resource_spec_validation.py +40 -0
- parsl/tests/test_htex/test_zmq_binding.py +2 -1
- parsl/tests/test_mpi_apps/test_bad_mpi_config.py +29 -14
- parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py +16 -8
- parsl/tests/test_mpi_apps/test_mpiex.py +2 -3
- parsl/tests/test_mpi_apps/test_resource_spec.py +39 -41
- parsl/tests/test_providers/test_local_provider.py +6 -5
- parsl/version.py +1 -1
- {parsl-2024.8.5.data → parsl-2024.8.19.data}/scripts/interchange.py +4 -0
- {parsl-2024.8.5.dist-info → parsl-2024.8.19.dist-info}/METADATA +5 -3
- {parsl-2024.8.5.dist-info → parsl-2024.8.19.dist-info}/RECORD +36 -47
- parsl/configs/ad_hoc.py +0 -38
- parsl/tests/configs/ad_hoc_cluster_htex.py +0 -35
- parsl/tests/configs/htex_ad_hoc_cluster.py +0 -26
- parsl/tests/configs/swan_htex.py +0 -43
- parsl/tests/integration/test_channels/test_scp_1.py +0 -45
- parsl/tests/integration/test_channels/test_ssh_1.py +0 -40
- parsl/tests/integration/test_channels/test_ssh_errors.py +0 -46
- parsl/tests/integration/test_channels/test_ssh_file_transport.py +0 -41
- parsl/tests/integration/test_channels/test_ssh_interactive.py +0 -24
- parsl/tests/manual_tests/test_ad_hoc_htex.py +0 -49
- parsl/tests/manual_tests/test_oauth_ssh.py +0 -13
- parsl/tests/test_mpi_apps/test_mpi_mode_disabled.py +0 -47
- {parsl-2024.8.5.data → parsl-2024.8.19.data}/scripts/exec_parsl_function.py +0 -0
- {parsl-2024.8.5.data → parsl-2024.8.19.data}/scripts/parsl_coprocess.py +0 -0
- {parsl-2024.8.5.data → parsl-2024.8.19.data}/scripts/process_worker_pool.py +0 -0
- {parsl-2024.8.5.dist-info → parsl-2024.8.19.dist-info}/LICENSE +0 -0
- {parsl-2024.8.5.dist-info → parsl-2024.8.19.dist-info}/WHEEL +0 -0
- {parsl-2024.8.5.dist-info → parsl-2024.8.19.dist-info}/entry_points.txt +0 -0
- {parsl-2024.8.5.dist-info → parsl-2024.8.19.dist-info}/top_level.txt +0 -0
@@ -8,7 +8,7 @@ parsl/multiprocessing.py,sha256=MyaEcEq-Qf860u7V98u-PZrPNdtzOZL_NW6EhIJnmfQ,1937
|
|
8
8
|
parsl/process_loggers.py,sha256=uQ7Gd0W72Jz7rrcYlOMfLsAEhkRltxXJL2MgdduJjEw,1136
|
9
9
|
parsl/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
10
|
parsl/utils.py,sha256=91FjQiTUY383ueAjkBAgE21My9nba6SP2a2SrbB1r1Q,11250
|
11
|
-
parsl/version.py,sha256=
|
11
|
+
parsl/version.py,sha256=Cz-5cl59BVU1_SViVhDG0FvWfftidv7huse6Kygyu10,131
|
12
12
|
parsl/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
13
13
|
parsl/app/app.py,sha256=0gbM4AH2OtFOLsv07I5nglpElcwMSOi-FzdZZfrk7So,8532
|
14
14
|
parsl/app/bash.py,sha256=jm2AvePlCT9DZR7H_4ANDWxatp5dN_22FUlT_gWhZ-g,5528
|
@@ -17,22 +17,21 @@ parsl/app/futures.py,sha256=XU1NwkoNVsxy3KF5y0Ihsla5hPbhhuSikZInfS7h7Uo,2910
|
|
17
17
|
parsl/app/python.py,sha256=0hrz2BppVOwwNfh5hnoP70Yv56gSRkIoT-fP9XNb4v4,2331
|
18
18
|
parsl/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
19
|
parsl/benchmark/perf.py,sha256=kKXefDozWXSJKSNA7qdfUgEoacA2-R9kSZcI2YvZ5uE,3096
|
20
|
-
parsl/channels/__init__.py,sha256=
|
20
|
+
parsl/channels/__init__.py,sha256=OEZcuNBOxUwmzrHMZOuPvkw4kUxrbJDA99crDk61O90,131
|
21
21
|
parsl/channels/base.py,sha256=bS43-Qv4VSxa83V6fJ54lNBL_eHCu-Ce7-aoy1C9vCc,4193
|
22
22
|
parsl/channels/errors.py,sha256=Dp0FhtHpygn0IjX8nGurx-WrTJm9aw-Jjz3SSUT-jCc,3283
|
23
23
|
parsl/channels/local/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
24
|
parsl/channels/local/local.py,sha256=xqH4HnipUN95NgvyB1r33SiqgQKkARgRKmg0_HnumUk,5311
|
25
25
|
parsl/channels/oauth_ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
-
parsl/channels/oauth_ssh/oauth_ssh.py,sha256=
|
26
|
+
parsl/channels/oauth_ssh/oauth_ssh.py,sha256=6pj3LQAX89p5Lc8NL1Llq2_noi8GS8BItCuRtDp-iCA,3823
|
27
27
|
parsl/channels/ssh/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
28
|
-
parsl/channels/ssh/ssh.py,sha256=
|
28
|
+
parsl/channels/ssh/ssh.py,sha256=3PfE3qYQOCr-BZrCseGiMKYFUILFPmW_CgvV63CWI4M,10494
|
29
29
|
parsl/channels/ssh_il/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
-
parsl/channels/ssh_il/ssh_il.py,sha256=
|
30
|
+
parsl/channels/ssh_il/ssh_il.py,sha256=acOXJyqCmgC2nl7zrO_uEu3GpJZMN2l-Af5XfmNMLRs,2783
|
31
31
|
parsl/concurrent/__init__.py,sha256=TvIVceJYaJAsxedNBF3Vdo9lEQNHH_j3uxJv0zUjP7w,3288
|
32
32
|
parsl/configs/ASPIRE1.py,sha256=eKnmz0QD3V522emtXMjS6Ppeooe5lzcBgCE6cxunbYY,1718
|
33
33
|
parsl/configs/Azure.py,sha256=CJms3xWmdb-S3CksbHrPF2TfMxJC5I0faqUKCOzVg0k,1268
|
34
34
|
parsl/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
parsl/configs/ad_hoc.py,sha256=Gwnehd5_K6IzUSPECHnNBljyO-LQ9fyaBClHiT_myp8,1352
|
36
35
|
parsl/configs/bridges.py,sha256=NsTvCiHZHbJj-BsOXOpgS4hCblCHW_lnMa_VMb3SIww,1523
|
37
36
|
parsl/configs/cc_in2p3.py,sha256=T9PjUt2OFFv3w2uXFeKfIDmE7j_nllD3jVouvCmPrCc,785
|
38
37
|
parsl/configs/ec2.py,sha256=5xtlZI4Fc558sYXdM4nQQvQDBNPdzhRRCO14F-8H7Y4,944
|
@@ -62,7 +61,7 @@ parsl/data_provider/staging.py,sha256=ZDZuuFg38pjUStegKPcvPsfGp3iMeReMzfU6DSwtJj
|
|
62
61
|
parsl/data_provider/zip.py,sha256=S4kVuH9lxAegRURYbvIUR7EYYBOccyslaqyCrVWUBhw,4497
|
63
62
|
parsl/dataflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
64
63
|
parsl/dataflow/dependency_resolvers.py,sha256=Om8Dgh7a0ZwgXAc6TlhxLSzvxXHDlNNV1aBNiD3JTNY,3325
|
65
|
-
parsl/dataflow/dflow.py,sha256=
|
64
|
+
parsl/dataflow/dflow.py,sha256=2RV4MmQ3y6iwOT7aJaeWMsVPJ6tFT03V0YAcUbxogpk,68250
|
66
65
|
parsl/dataflow/errors.py,sha256=9SxVhIJY_53FQx8x4OU8UA8nd7lvUbDllH7KfMXpYaY,2177
|
67
66
|
parsl/dataflow/futures.py,sha256=08LuP-HFiHBIZmeKCjlsazw_WpQ5fwevrU2_WbidkYw,6080
|
68
67
|
parsl/dataflow/memoization.py,sha256=l9uw1Bu50GucBF70M5relpGKFkE4dIM9T3R1KrxW0v0,9583
|
@@ -80,13 +79,13 @@ parsl/executors/flux/executor.py,sha256=8_xakLUu5zNJAHL0LbeTCFEWqWzRK1eE-3ep4GII
|
|
80
79
|
parsl/executors/flux/flux_instance_manager.py,sha256=5T3Rp7ZM-mlT0Pf0Gxgs5_YmnaPrSF9ec7zvRfLfYJw,2129
|
81
80
|
parsl/executors/high_throughput/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
81
|
parsl/executors/high_throughput/errors.py,sha256=Sak8e8UpiEcXefUjMHbhyXc4Rn7kJtOoh7L8wreBQdk,1638
|
83
|
-
parsl/executors/high_throughput/executor.py,sha256=
|
84
|
-
parsl/executors/high_throughput/interchange.py,sha256=
|
82
|
+
parsl/executors/high_throughput/executor.py,sha256=f6xHuDRklecrxz9luqERyuNpfBXJi0erSd0EuDwQnNQ,37770
|
83
|
+
parsl/executors/high_throughput/interchange.py,sha256=upaJht6YnqvJqVF1Ub7GEyRFDtw1v19d0JmCWNXsi6k,31094
|
85
84
|
parsl/executors/high_throughput/manager_record.py,sha256=yn3L8TUJFkgm2lX1x0SeS9mkvJowC0s2VIMCFiU7ThM,455
|
86
85
|
parsl/executors/high_throughput/manager_selector.py,sha256=uRaEtcbDO2vXf8vjEcm7bfZVdeUlSPTRc3G4oFRO29M,820
|
87
86
|
parsl/executors/high_throughput/monitoring_info.py,sha256=HC0drp6nlXQpAop5PTUKNjdXMgtZVvrBL0JzZJebPP4,298
|
88
|
-
parsl/executors/high_throughput/mpi_executor.py,sha256=
|
89
|
-
parsl/executors/high_throughput/mpi_prefix_composer.py,sha256=
|
87
|
+
parsl/executors/high_throughput/mpi_executor.py,sha256=khvGz56A8zU8XAY-R4TtqqiJB8B10mkVTXD_9xtrXgo,4696
|
88
|
+
parsl/executors/high_throughput/mpi_prefix_composer.py,sha256=XQAv9MH7pl5rCUOVw1x8qB64n8iT1-smiVLTBSB1Ro0,4878
|
90
89
|
parsl/executors/high_throughput/mpi_resource_management.py,sha256=LFBbJ3BnzTcY_v-jNu30uoIB2Enk4cleN4ygY3dncjY,8194
|
91
90
|
parsl/executors/high_throughput/probe.py,sha256=TNpGTXb4_DEeg_h-LHu4zEKi1-hffboxvKcZUl2OZGk,2751
|
92
91
|
parsl/executors/high_throughput/process_worker_pool.py,sha256=3s-Ouo3ZEhod7hon8euyL37t1DbP5pSVjXyC23DSN_0,43075
|
@@ -98,7 +97,7 @@ parsl/executors/radical/rpex_worker.py,sha256=qli6i6ejKubTSv3lAE3YiW8RlkHrfl4Jhr
|
|
98
97
|
parsl/executors/taskvine/__init__.py,sha256=9rwp3M8B0YyEhZMLO0RHaNw7u1nc01WHbXLqnBTanu0,293
|
99
98
|
parsl/executors/taskvine/errors.py,sha256=euIYkSslrNSI85kyi2s0xzOaO9ik4c1fYHstMIeiBJk,652
|
100
99
|
parsl/executors/taskvine/exec_parsl_function.py,sha256=ftGdJU78lKPPkphSHlEi4rj164mhuMHJjghVqfgeXKk,7085
|
101
|
-
parsl/executors/taskvine/executor.py,sha256=
|
100
|
+
parsl/executors/taskvine/executor.py,sha256=yODov_9LNyuxJga2Ki-fp1WEHwDcwNsLIBaqP8bAvfw,31056
|
102
101
|
parsl/executors/taskvine/factory.py,sha256=rWpEoFphLzqO3HEYyDEbQa14iyvgkdZg7hLZuaY39gQ,2638
|
103
102
|
parsl/executors/taskvine/factory_config.py,sha256=AbE2fN2snrF5ITYrrS4DnGn2XkJHUFr_17DYHDHIwq0,3693
|
104
103
|
parsl/executors/taskvine/manager.py,sha256=fwRSgYWpbsnr5jXlzvX0sQjOqryqn_77K_svJJ1HJ2U,25631
|
@@ -107,7 +106,7 @@ parsl/executors/taskvine/utils.py,sha256=iSrIogeiauL3UNy_9tiZp1cBSNn6fIJkMYQRVi1
|
|
107
106
|
parsl/executors/workqueue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
108
107
|
parsl/executors/workqueue/errors.py,sha256=XO2naYhAsHHyiOBH6hpObg3mPNDmvMoFqErsj0-v7jc,541
|
109
108
|
parsl/executors/workqueue/exec_parsl_function.py,sha256=RUkJ4JSJAjr7YyRZ58zhMdg8cR5dVV9odUl3AuzNf3k,7802
|
110
|
-
parsl/executors/workqueue/executor.py,sha256=
|
109
|
+
parsl/executors/workqueue/executor.py,sha256=aS864cpAvWQeW6hDqOtX_aUa1YnXsPcemuiVMq51pys,49840
|
111
110
|
parsl/executors/workqueue/parsl_coprocess.py,sha256=cF1UmTgVLoey6QzBcbYgEiEsRidSaFfuO54f1HFw_EM,5737
|
112
111
|
parsl/executors/workqueue/parsl_coprocess_stub.py,sha256=_bJmpPIgL42qM6bVzeEKt1Mn1trSP41rtJguXxPGfHI,735
|
113
112
|
parsl/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -121,13 +120,13 @@ parsl/launchers/base.py,sha256=CblcvPTJiu-MNLWaRtFe29SZQ0BpTOlaY8CGcHdlHIE,538
|
|
121
120
|
parsl/launchers/errors.py,sha256=8YMV_CHpBNVa4eXkGE4x5DaFQlZkDCRCHmBktYcY6TA,467
|
122
121
|
parsl/launchers/launchers.py,sha256=VB--fiVv_IQne3DydTMSdGUY0o0g69puAs-Hd3mJ2vo,15464
|
123
122
|
parsl/monitoring/__init__.py,sha256=0ywNz6i0lM1xo_7_BIxhETDGeVd2C_0wwD7qgeaMR4c,83
|
124
|
-
parsl/monitoring/db_manager.py,sha256=
|
123
|
+
parsl/monitoring/db_manager.py,sha256=IXaSIw3k-ij-dS78gnFYrXEHy9fBW1v8Cg2hcV3Erm0,35413
|
125
124
|
parsl/monitoring/errors.py,sha256=D6jpYzEzp0d6FmVKGqhvjAxr4ztZfJX2s-aXemH9bBU,148
|
126
125
|
parsl/monitoring/message_type.py,sha256=Khn88afNxcOIciKiCK4GLnn90I5BlRTiOL3zK-P07yQ,401
|
127
|
-
parsl/monitoring/monitoring.py,sha256=
|
126
|
+
parsl/monitoring/monitoring.py,sha256=KtUAu9qQqHHGutfDFTL6-8z7qC7ZuWt2XCza5NBzHWg,13862
|
128
127
|
parsl/monitoring/radios.py,sha256=cHdpBOW1ITYvFnOgYjziuZOauq8p7mlSBOvcbIP78mg,6437
|
129
|
-
parsl/monitoring/remote.py,sha256=
|
130
|
-
parsl/monitoring/router.py,sha256=
|
128
|
+
parsl/monitoring/remote.py,sha256=avIWMvejN0LeIXpt_RCXJxGLbsXhapUab2rS5Tmjca4,13739
|
129
|
+
parsl/monitoring/router.py,sha256=IfyhBqcFJE7RazyH3UjkFBZr-HdJXKzS_IIdaYkuPZs,10993
|
131
130
|
parsl/monitoring/types.py,sha256=_WGizCTgQVOkJ2dvNfsvHpYBj21Ky3bJsmyIskIx10I,631
|
132
131
|
parsl/monitoring/queries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
133
132
|
parsl/monitoring/queries/pandas.py,sha256=0Z2r0rjTKCemf0eaDkF1irvVHn5g7KC5SYETvQPRxwU,2232
|
@@ -152,12 +151,12 @@ parsl/monitoring/visualization/templates/resource_usage.html,sha256=__QEaAPdO8kz
|
|
152
151
|
parsl/monitoring/visualization/templates/task.html,sha256=omDwp7zFXHVtuGsUCXcB7xLAsAW0Vrjd1b-wFZj9y70,2803
|
153
152
|
parsl/monitoring/visualization/templates/workflow.html,sha256=QCSHAPHK_2C3gNcZ3NmChLFG6xuchZEjT_iLQ3wwXmk,1871
|
154
153
|
parsl/monitoring/visualization/templates/workflows_summary.html,sha256=7brKKNsxcT4z-l10BKJlgTxQtGL033ZS5jEDdSmsPEE,891
|
155
|
-
parsl/providers/__init__.py,sha256=
|
154
|
+
parsl/providers/__init__.py,sha256=fvmVlu4aHw796K-fuUqxCHdK8KhrQviMARSmUQl1XXs,1077
|
156
155
|
parsl/providers/base.py,sha256=u8oGlAaDfh15EgOJNJF1aZUy0Ou-UW6UY0b7ZI7Ecjo,5702
|
157
156
|
parsl/providers/cluster_provider.py,sha256=o75wJHHyZkecjEBhGGBCMUQ1JlsecAhAKxX_Qd2pyg8,4668
|
158
157
|
parsl/providers/errors.py,sha256=_CbCmpguzcA81SC5dPLkDZs1AShzacGKttNhuzNBeiQ,2270
|
159
158
|
parsl/providers/ad_hoc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
160
|
-
parsl/providers/ad_hoc/ad_hoc.py,sha256=
|
159
|
+
parsl/providers/ad_hoc/ad_hoc.py,sha256=NPZRJnVYT7IB2TCLThofcB7g0WZqgT_N0hDs3K86zhE,8466
|
161
160
|
parsl/providers/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
161
|
parsl/providers/aws/aws.py,sha256=nS899gamCAhiIY-4zwaEToa7Om73PrAz4dvX5YSEkUQ,28985
|
163
162
|
parsl/providers/aws/template.py,sha256=N7OEpp7YP6CK5RUtLOwFnks7AE2UG5hHXddh8FF0BFs,347
|
@@ -209,7 +208,6 @@ parsl/tests/test_summary.py,sha256=x1RfWCFLzHjBw2ukwoRZPW1LFCKiwDmxx86ES-6yGRA,5
|
|
209
208
|
parsl/tests/test_thread_parallelism.py,sha256=TVNeQ1NkUhaf3YbbzUSH-ozFFdX_GbX-5ygommjVxvc,1653
|
210
209
|
parsl/tests/utils.py,sha256=YqUlBTj2UoAFVKVdLKh-1Y6MQM_ZSHPJOQ4GfQvFXyk,110
|
211
210
|
parsl/tests/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
212
|
-
parsl/tests/configs/ad_hoc_cluster_htex.py,sha256=twCY2ppy1M7EpPkwVC-8oboaiSwqNBrQV0noFBWPMJ0,1301
|
213
211
|
parsl/tests/configs/azure_single_node.py,sha256=iX99_MCPkInOzByB5QRYYBSbWDhFaTcA7CkJk9DreuU,1729
|
214
212
|
parsl/tests/configs/bluewaters.py,sha256=SyCQ99Iih6sYjJVLj5C-AzUqff8vowP113ZC8JHDc24,1370
|
215
213
|
parsl/tests/configs/bridges.py,sha256=WqMa340ZEXRmwgY7oe6QjJnUMO3Y3vAfKngg0XNyVRI,1602
|
@@ -220,12 +218,11 @@ parsl/tests/configs/ec2_single_node.py,sha256=rK9AfMf4C84CXMhS5nhgHA_dNG2An7Yiq2
|
|
220
218
|
parsl/tests/configs/ec2_spot.py,sha256=NKDCKgKxYNOHGVLBl2DFfiUwkR6xQnyhNb_E04TBs28,1253
|
221
219
|
parsl/tests/configs/flux_local.py,sha256=xliKQfB5FFpfNHWYEHoA8FKOTVHFCXVhWNuKQ5VJNTk,182
|
222
220
|
parsl/tests/configs/frontera.py,sha256=VXaRcvsi9ZjqJHi71BbKXSJBuQXdhCzPxXKW7H3LRBI,1567
|
223
|
-
parsl/tests/configs/htex_ad_hoc_cluster.py,sha256=Nr5ZVs4kVvX2UbRk8j9VW6xYGf9SR43SvodkU8RVWEQ,944
|
224
221
|
parsl/tests/configs/htex_local.py,sha256=o7Lxz1nErHpLNcH7vEEy9KyCNiEf6r3gpCrBmdQbh94,719
|
225
222
|
parsl/tests/configs/htex_local_alternate.py,sha256=CnEfKbt1nnGYwKVICA2tmyqDNH0GP9pFLao2bNXGRHI,2510
|
226
223
|
parsl/tests/configs/htex_local_intask_staging.py,sha256=E7uZD_AIAbxavkw4VrVXlGG7k42YJZv2qluAO-W0VvI,886
|
227
224
|
parsl/tests/configs/htex_local_rsync_staging.py,sha256=cqTRcHLjqYnOL07Lb8ecTzQuzP-dWDpWdKhgtTwo-fU,940
|
228
|
-
parsl/tests/configs/local_adhoc.py,sha256=
|
225
|
+
parsl/tests/configs/local_adhoc.py,sha256=jlyDwwIm0uVuyDgKZCb3wa3k0IaqcYT0ErMhu_0N26s,509
|
229
226
|
parsl/tests/configs/local_radical.py,sha256=C70I6ssfaaHEY1MMCC77izpp6sdANALH-P2mDR2msN0,417
|
230
227
|
parsl/tests/configs/local_radical_mpi.py,sha256=5OabeXXJPE0fyiA1AlGcQYoPRjQRk-HNA-xPLTFyAr4,532
|
231
228
|
parsl/tests/configs/local_threads.py,sha256=oEnQSlom_JMLFX9_Ln49JAfOP3nSMbw8gTaDJo_NYfo,202
|
@@ -243,7 +240,6 @@ parsl/tests/configs/nscc_singapore.py,sha256=ECENZcBuCjkY6OWZstEMhfMrmjRmjCc7ELd
|
|
243
240
|
parsl/tests/configs/osg_htex.py,sha256=x-C_r7Kpwvqroc4Ay1Yaya9K6_j7IU1ywqPegBU7HKI,1371
|
244
241
|
parsl/tests/configs/petrelkube.py,sha256=uUxrZrD_cF-_t6ytlRA_MUtw8RQbpW0CmNRbw3mWs1o,1699
|
245
242
|
parsl/tests/configs/summit.py,sha256=0LbuTVmc8nl2eGiqAayhV0RCx0pg5kUpYhz9LvTFhDo,1378
|
246
|
-
parsl/tests/configs/swan_htex.py,sha256=WEICoOrYWJKlium7R52TRHJ6Env_KVhKE2kbgu2ZJD8,1501
|
247
243
|
parsl/tests/configs/taskvine_ex.py,sha256=Nsovxtb59q6ta2opGrl7ufWcavYQtzSPrscLmaLYkUU,472
|
248
244
|
parsl/tests/configs/theta.py,sha256=bkwcFcZYSkJOfLdcPHiAN2BRRGz3nLTaPylvdm3dcJ8,1298
|
249
245
|
parsl/tests/configs/user_opts.py,sha256=fNO1OxISFPP7IyJ_iwf8dQ6EagVr2StXtOWmGnA9MeI,6265
|
@@ -255,22 +251,15 @@ parsl/tests/integration/test_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
255
251
|
parsl/tests/integration/test_channels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
256
252
|
parsl/tests/integration/test_channels/test_channels.py,sha256=Nv_1ljrJ5Miqe4U5q9XPBqc0YZbJC90TIsH0p3203Gs,323
|
257
253
|
parsl/tests/integration/test_channels/test_local_channel.py,sha256=_j9z4LqdfawEQRlae6EHpMtrhMPMapbIlJwoHEibAuE,1009
|
258
|
-
parsl/tests/integration/test_channels/test_scp_1.py,sha256=K7KWTeiZULBBydbvfmBzvRm7KM7nlkZn_O2-v5D5yY4,1014
|
259
|
-
parsl/tests/integration/test_channels/test_ssh_1.py,sha256=5HQehVteKCPXFt4V3W2YXgGvDm0sKP2MmJC0TCnJUbs,933
|
260
|
-
parsl/tests/integration/test_channels/test_ssh_errors.py,sha256=VKaNZAbXr7uv8EhG7FIVm8Veq2WnMJ2Jel7A3t5v_dQ,1279
|
261
|
-
parsl/tests/integration/test_channels/test_ssh_file_transport.py,sha256=9cBi7CPzM-4NxsCW3VfmRWgOvOb-mk8hpH187clScvc,904
|
262
|
-
parsl/tests/integration/test_channels/test_ssh_interactive.py,sha256=voUAR21RZD0c9fPDfAN9PZiiZw58qk_hxC92LL10VSA,568
|
263
254
|
parsl/tests/integration/test_stress/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
264
255
|
parsl/tests/integration/test_stress/test_python_simple.py,sha256=QZMhi6E0OmMsKi3QkHJZdNpALSrWshrLcKsstLANUWE,1007
|
265
256
|
parsl/tests/integration/test_stress/test_python_threads.py,sha256=-4dW-g69cu6uhSvk5HiH0fI6ceckQNqUXZGvNK6QGq4,897
|
266
257
|
parsl/tests/manual_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
267
258
|
parsl/tests/manual_tests/htex_local.py,sha256=6bbnCPy7t_sJUrvDXiLB97joP8UWGjAdEs4aRP6PkFQ,820
|
268
|
-
parsl/tests/manual_tests/test_ad_hoc_htex.py,sha256=CPBzPd21GwKlz5jbHCipPepc3v0ZFiTdQCR8pAwlxkQ,1255
|
269
259
|
parsl/tests/manual_tests/test_basic.py,sha256=3uCS9BqaZmKTNtNfJSsJIg2exlTAdC0Sdc1w9hY9Tvc,4023
|
270
260
|
parsl/tests/manual_tests/test_fan_in_out_htex_remote.py,sha256=j9GkGwV7sP8ytIz4L7usuVacvBfFyIm-lq9F74KO85o,2422
|
271
261
|
parsl/tests/manual_tests/test_log_filter.py,sha256=jwKclAVuESdlGK_giBuHDkY6ryX6rZB7q01lXT5K0XU,1872
|
272
262
|
parsl/tests/manual_tests/test_memory_limits.py,sha256=XGV_YmIeiGMt1HWYS0Zxo-XkVoKsvHhl11_U3MTg1KI,2677
|
273
|
-
parsl/tests/manual_tests/test_oauth_ssh.py,sha256=v7msnSS5ywrWl7oqB_gR72oU2owrpzxaQ4vBt9C8pxI,337
|
274
263
|
parsl/tests/manual_tests/test_regression_220.py,sha256=Jo2puWt1W0r1rJfaJFgd2ZPgR3i6uOXzrLRcfYDZWDo,931
|
275
264
|
parsl/tests/manual_tests/test_udp_simple.py,sha256=VyEbE3G5pcRjzbdUbQlL0BHiilfOsNsbbLOJghU7n84,1037
|
276
265
|
parsl/tests/manual_tests/test_worker_count.py,sha256=Cv8nAWMXAREiiGEBUr_8JyI87ffp8JGAyDqVXzcjX_0,2072
|
@@ -352,8 +341,9 @@ parsl/tests/test_htex/test_manager_failure.py,sha256=N-obuSZ8f7XA_XcddoN2LWKSVtp
|
|
352
341
|
parsl/tests/test_htex/test_managers_command.py,sha256=Y-eUjtBzwW9erCYdph9bOesbkUvX8QUPqXt27DCgVS8,951
|
353
342
|
parsl/tests/test_htex/test_missing_worker.py,sha256=gyp5i7_t-JHyJGtz_eXZKKBY5w8oqLOIxO6cJgGJMtQ,745
|
354
343
|
parsl/tests/test_htex/test_multiple_disconnected_blocks.py,sha256=Axn8us43dA722O4PWdqxCJM5f_vinZqjFT1WAEvC_ZM,1995
|
344
|
+
parsl/tests/test_htex/test_resource_spec_validation.py,sha256=k1zQ--46bCyhOnt2UTaYnSh0I2UhwX747ISAfy8xPvk,952
|
355
345
|
parsl/tests/test_htex/test_worker_failure.py,sha256=Uz-RHI-LK78FMjXUvrUFmo4iYfmpDVBUcBxxRb3UG9M,603
|
356
|
-
parsl/tests/test_htex/test_zmq_binding.py,sha256=
|
346
|
+
parsl/tests/test_htex/test_zmq_binding.py,sha256=Bq1HHuMxBE_AcaP1VZ-RqE4euCHO__Du05b2UZ5H1RA,3950
|
357
347
|
parsl/tests/test_monitoring/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
358
348
|
parsl/tests/test_monitoring/test_app_names.py,sha256=ayyxySGWpKSe9dDw2UeJo1dicxjpALRuLsJfprZV4Eg,2174
|
359
349
|
parsl/tests/test_monitoring/test_basic.py,sha256=nQERwVH56CjrKc_YSsMxH5UziJDqN2357Vhyd0brbRU,4177
|
@@ -365,16 +355,15 @@ parsl/tests/test_monitoring/test_memoization_representation.py,sha256=dknv2nO7pN
|
|
365
355
|
parsl/tests/test_monitoring/test_stdouterr.py,sha256=9FQSfiaMrOpoSwravZuEwmdgUgI7iG0TPRucsYC_NJA,4498
|
366
356
|
parsl/tests/test_monitoring/test_viz_colouring.py,sha256=83Qdmn3gM0j7IL6kPDcuIsp_nl4zj-liPijyIN632SY,592
|
367
357
|
parsl/tests/test_mpi_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
368
|
-
parsl/tests/test_mpi_apps/test_bad_mpi_config.py,sha256=
|
369
|
-
parsl/tests/test_mpi_apps/
|
370
|
-
parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py,sha256=pV-htWmPNyY7XKN4Qo-twLmH-qreCgFlYwokgZbTS_g,5304
|
358
|
+
parsl/tests/test_mpi_apps/test_bad_mpi_config.py,sha256=QKvEUSrHIBrvqu2fRj1MAqxsYxDfcrdQ7dzWdOZejuU,1320
|
359
|
+
parsl/tests/test_mpi_apps/test_mpi_mode_enabled.py,sha256=9RaRgfweywYvcrTvteJXJwt_RSiyWSjBgii5LCnisJg,5461
|
371
360
|
parsl/tests/test_mpi_apps/test_mpi_prefix.py,sha256=yJslZvYK3JeL9UgxMwF9DDPR9QD4zJLGVjubD0F-utc,1950
|
372
361
|
parsl/tests/test_mpi_apps/test_mpi_scheduler.py,sha256=YdV8A-m67DHk9wxgNpj69wwGEKrFGL20KAC1TzLke3c,6332
|
373
|
-
parsl/tests/test_mpi_apps/test_mpiex.py,sha256=
|
374
|
-
parsl/tests/test_mpi_apps/test_resource_spec.py,sha256=
|
362
|
+
parsl/tests/test_mpi_apps/test_mpiex.py,sha256=N44sOaTOMchmZ3bI_w5h2mjOnS0sGFq8IqzIOpF0MMI,2036
|
363
|
+
parsl/tests/test_mpi_apps/test_resource_spec.py,sha256=aJo_1Nr0t-5pzw_rpDWEVp41RcICWG9sAeFUFXXJoW8,3828
|
375
364
|
parsl/tests/test_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
376
365
|
parsl/tests/test_providers/test_cobalt_deprecation_warning.py,sha256=UN2W6xJxuLx2euPqArORKFEU2VXez9_PYqq-0rZHanQ,391
|
377
|
-
parsl/tests/test_providers/test_local_provider.py,sha256=
|
366
|
+
parsl/tests/test_providers/test_local_provider.py,sha256=R96E1eWgHVkvOQ1Au9wj-gfdWKAqGc-qlygFuxpGFQ8,7160
|
378
367
|
parsl/tests/test_providers/test_pbspro_template.py,sha256=-bi1vags9yyNfpBxtjTqFjzMIg1VVPyf2M958UcXWmA,855
|
379
368
|
parsl/tests/test_providers/test_slurm_instantiate.py,sha256=eW3pEZRIzZO1-eKFrBc7N5uoN5otwghgbqut74Kyqoc,500
|
380
369
|
parsl/tests/test_providers/test_slurm_template.py,sha256=pBEeimO-vGbMmC1QT7BP7s5BH6fFeqaWnI4f6tWPFEo,901
|
@@ -470,13 +459,13 @@ parsl/usage_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
470
459
|
parsl/usage_tracking/api.py,sha256=iaCY58Dc5J4UM7_dJzEEs871P1p1HdxBMtNGyVdzc9g,1821
|
471
460
|
parsl/usage_tracking/levels.py,sha256=xbfzYEsd55KiZJ-mzNgPebvOH4rRHum04hROzEf41tU,291
|
472
461
|
parsl/usage_tracking/usage.py,sha256=qNEJ7nPimqd3Y7OWFLdYmNwJ6XDKlyfV_fTzasxsQw8,8690
|
473
|
-
parsl-2024.8.
|
474
|
-
parsl-2024.8.
|
475
|
-
parsl-2024.8.
|
476
|
-
parsl-2024.8.
|
477
|
-
parsl-2024.8.
|
478
|
-
parsl-2024.8.
|
479
|
-
parsl-2024.8.
|
480
|
-
parsl-2024.8.
|
481
|
-
parsl-2024.8.
|
482
|
-
parsl-2024.8.
|
462
|
+
parsl-2024.8.19.data/scripts/exec_parsl_function.py,sha256=RUkJ4JSJAjr7YyRZ58zhMdg8cR5dVV9odUl3AuzNf3k,7802
|
463
|
+
parsl-2024.8.19.data/scripts/interchange.py,sha256=Gl9h3_MN4Ux2FJZxd2ObfTSZ5T1INYQDhU_bYFezbkE,31081
|
464
|
+
parsl-2024.8.19.data/scripts/parsl_coprocess.py,sha256=zrVjEqQvFOHxsLufPi00xzMONagjVwLZbavPM7bbjK4,5722
|
465
|
+
parsl-2024.8.19.data/scripts/process_worker_pool.py,sha256=78QKnV5KbY_vcteC6k60gpDE4wEk6hsciet_qzs9QoU,43061
|
466
|
+
parsl-2024.8.19.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
467
|
+
parsl-2024.8.19.dist-info/METADATA,sha256=n80gYJIibw3jBmu-BWOnzdedi6iNvsITxO4Zi2rnEmc,4121
|
468
|
+
parsl-2024.8.19.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
|
469
|
+
parsl-2024.8.19.dist-info/entry_points.txt,sha256=XqnsWDYoEcLbsMcpnYGKLEnSBmaIe1YoM5YsBdJG2tI,176
|
470
|
+
parsl-2024.8.19.dist-info/top_level.txt,sha256=PIheYoUFQtF2icLsgOykgU-Cjuwr2Oi6On2jo5RYgRM,6
|
471
|
+
parsl-2024.8.19.dist-info/RECORD,,
|
parsl/configs/ad_hoc.py
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
from typing import Any, Dict
|
2
|
-
|
3
|
-
from parsl.channels import SSHChannel
|
4
|
-
from parsl.config import Config
|
5
|
-
from parsl.executors import HighThroughputExecutor
|
6
|
-
from parsl.providers import AdHocProvider
|
7
|
-
from parsl.usage_tracking.levels import LEVEL_1
|
8
|
-
|
9
|
-
user_opts: Dict[str, Dict[str, Any]]
|
10
|
-
user_opts = {'adhoc':
|
11
|
-
{'username': 'YOUR_USERNAME',
|
12
|
-
'script_dir': 'YOUR_SCRIPT_DIR',
|
13
|
-
'remote_hostnames': ['REMOTE_HOST_URL_1', 'REMOTE_HOST_URL_2']
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
|
18
|
-
config = Config(
|
19
|
-
executors=[
|
20
|
-
HighThroughputExecutor(
|
21
|
-
label='remote_htex',
|
22
|
-
max_workers_per_node=2,
|
23
|
-
worker_logdir_root=user_opts['adhoc']['script_dir'],
|
24
|
-
provider=AdHocProvider(
|
25
|
-
# Command to be run before starting a worker, such as:
|
26
|
-
# 'module load Anaconda; source activate parsl_env'.
|
27
|
-
worker_init='',
|
28
|
-
channels=[SSHChannel(hostname=m,
|
29
|
-
username=user_opts['adhoc']['username'],
|
30
|
-
script_dir=user_opts['adhoc']['script_dir'],
|
31
|
-
) for m in user_opts['adhoc']['remote_hostnames']]
|
32
|
-
)
|
33
|
-
)
|
34
|
-
],
|
35
|
-
# AdHoc Clusters should not be setup with scaling strategy.
|
36
|
-
strategy='none',
|
37
|
-
usage_tracking=LEVEL_1,
|
38
|
-
)
|
@@ -1,35 +0,0 @@
|
|
1
|
-
from typing import Any, Dict
|
2
|
-
|
3
|
-
from parsl.channels import SSHChannel
|
4
|
-
from parsl.config import Config
|
5
|
-
from parsl.executors import HighThroughputExecutor
|
6
|
-
from parsl.providers import AdHocProvider
|
7
|
-
|
8
|
-
user_opts = {'adhoc':
|
9
|
-
{'username': 'YOUR_USERNAME',
|
10
|
-
'script_dir': 'YOUR_SCRIPT_DIR',
|
11
|
-
'remote_hostnames': ['REMOTE_HOST_URL_1', 'REMOTE_HOST_URL_2']
|
12
|
-
}
|
13
|
-
} # type: Dict[str, Dict[str, Any]]
|
14
|
-
|
15
|
-
config = Config(
|
16
|
-
executors=[
|
17
|
-
HighThroughputExecutor(
|
18
|
-
label='remote_htex',
|
19
|
-
max_workers_per_node=2,
|
20
|
-
worker_logdir_root=user_opts['adhoc']['script_dir'],
|
21
|
-
encrypted=True,
|
22
|
-
provider=AdHocProvider(
|
23
|
-
# Command to be run before starting a worker, such as:
|
24
|
-
# 'module load Anaconda; source activate parsl_env'.
|
25
|
-
worker_init='',
|
26
|
-
channels=[SSHChannel(hostname=m,
|
27
|
-
username=user_opts['adhoc']['username'],
|
28
|
-
script_dir=user_opts['adhoc']['script_dir'],
|
29
|
-
) for m in user_opts['adhoc']['remote_hostnames']]
|
30
|
-
)
|
31
|
-
)
|
32
|
-
],
|
33
|
-
# AdHoc Clusters should not be setup with scaling strategy.
|
34
|
-
strategy='none',
|
35
|
-
)
|
@@ -1,26 +0,0 @@
|
|
1
|
-
from parsl.channels import SSHChannel
|
2
|
-
from parsl.config import Config
|
3
|
-
from parsl.executors import HighThroughputExecutor
|
4
|
-
from parsl.providers import AdHocProvider
|
5
|
-
from parsl.tests.configs.user_opts import user_opts
|
6
|
-
|
7
|
-
config = Config(
|
8
|
-
executors=[
|
9
|
-
HighThroughputExecutor(
|
10
|
-
label='remote_htex',
|
11
|
-
cores_per_worker=1,
|
12
|
-
worker_debug=False,
|
13
|
-
address=user_opts['public_ip'],
|
14
|
-
encrypted=True,
|
15
|
-
provider=AdHocProvider(
|
16
|
-
move_files=False,
|
17
|
-
parallelism=1,
|
18
|
-
worker_init=user_opts['adhoc']['worker_init'],
|
19
|
-
channels=[SSHChannel(hostname=m,
|
20
|
-
username=user_opts['adhoc']['username'],
|
21
|
-
script_dir=user_opts['adhoc']['script_dir'],
|
22
|
-
) for m in user_opts['adhoc']['remote_hostnames']]
|
23
|
-
)
|
24
|
-
)
|
25
|
-
],
|
26
|
-
)
|
parsl/tests/configs/swan_htex.py
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
================== Block
|
3
|
-
| ++++++++++++++ | Node
|
4
|
-
| | | |
|
5
|
-
| | Task | | . . .
|
6
|
-
| | | |
|
7
|
-
| ++++++++++++++ |
|
8
|
-
==================
|
9
|
-
"""
|
10
|
-
from parsl.channels import SSHChannel
|
11
|
-
from parsl.config import Config
|
12
|
-
from parsl.executors import HighThroughputExecutor
|
13
|
-
from parsl.launchers import AprunLauncher
|
14
|
-
from parsl.providers import TorqueProvider
|
15
|
-
|
16
|
-
# If you are a developer running tests, make sure to update parsl/tests/configs/user_opts.py
|
17
|
-
# If you are a user copying-and-pasting this as an example, make sure to either
|
18
|
-
# 1) create a local `user_opts.py`, or
|
19
|
-
# 2) delete the user_opts import below and replace all appearances of `user_opts` with the literal value
|
20
|
-
# (i.e., user_opts['swan']['username'] -> 'your_username')
|
21
|
-
from .user_opts import user_opts
|
22
|
-
|
23
|
-
config = Config(
|
24
|
-
executors=[
|
25
|
-
HighThroughputExecutor(
|
26
|
-
label='swan_htex',
|
27
|
-
encrypted=True,
|
28
|
-
provider=TorqueProvider(
|
29
|
-
channel=SSHChannel(
|
30
|
-
hostname='swan.cray.com',
|
31
|
-
username=user_opts['swan']['username'],
|
32
|
-
script_dir=user_opts['swan']['script_dir'],
|
33
|
-
),
|
34
|
-
nodes_per_block=1,
|
35
|
-
init_blocks=1,
|
36
|
-
max_blocks=1,
|
37
|
-
launcher=AprunLauncher(),
|
38
|
-
scheduler_options=user_opts['swan']['scheduler_options'],
|
39
|
-
worker_init=user_opts['swan']['worker_init'],
|
40
|
-
),
|
41
|
-
)
|
42
|
-
]
|
43
|
-
)
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import os
|
2
|
-
|
3
|
-
from parsl.channels.ssh.ssh import SSHChannel as SSH
|
4
|
-
|
5
|
-
|
6
|
-
def connect_and_list(hostname, username):
|
7
|
-
out = ''
|
8
|
-
conn = SSH(hostname, username=username)
|
9
|
-
conn.push_file(os.path.abspath('remote_run.sh'), '/home/davidk/')
|
10
|
-
# ec, out, err = conn.execute_wait("ls /tmp/remote_run.sh; bash /tmp/remote_run.sh")
|
11
|
-
conn.close()
|
12
|
-
return out
|
13
|
-
|
14
|
-
|
15
|
-
script = '''#!/bin/bash
|
16
|
-
echo "Hostname: $HOSTNAME"
|
17
|
-
echo "Cpu info -----"
|
18
|
-
cat /proc/cpuinfo
|
19
|
-
echo "Done----------"
|
20
|
-
'''
|
21
|
-
|
22
|
-
|
23
|
-
def test_connect_1():
|
24
|
-
with open('remote_run.sh', 'w') as f:
|
25
|
-
f.write(script)
|
26
|
-
|
27
|
-
sites = {
|
28
|
-
'midway': {
|
29
|
-
'url': 'midway.rcc.uchicago.edu',
|
30
|
-
'uname': 'yadunand'
|
31
|
-
},
|
32
|
-
'swift': {
|
33
|
-
'url': 'swift.rcc.uchicago.edu',
|
34
|
-
'uname': 'yadunand'
|
35
|
-
}
|
36
|
-
}
|
37
|
-
|
38
|
-
for site in sites.values():
|
39
|
-
out = connect_and_list(site['url'], site['uname'])
|
40
|
-
print("Sitename :{0} hostname:{1}".format(site['url'], out))
|
41
|
-
|
42
|
-
|
43
|
-
if __name__ == "__main__":
|
44
|
-
|
45
|
-
test_connect_1()
|
@@ -1,40 +0,0 @@
|
|
1
|
-
from parsl.channels.ssh.ssh import SSHChannel as SSH
|
2
|
-
|
3
|
-
|
4
|
-
def connect_and_list(hostname, username):
|
5
|
-
conn = SSH(hostname, username=username)
|
6
|
-
ec, out, err = conn.execute_wait("echo $HOSTNAME")
|
7
|
-
conn.close()
|
8
|
-
return out
|
9
|
-
|
10
|
-
|
11
|
-
def test_midway():
|
12
|
-
''' Test ssh channels to midway
|
13
|
-
'''
|
14
|
-
url = 'midway.rcc.uchicago.edu'
|
15
|
-
uname = 'yadunand'
|
16
|
-
out = connect_and_list(url, uname)
|
17
|
-
print("Sitename :{0} hostname:{1}".format(url, out))
|
18
|
-
|
19
|
-
|
20
|
-
def test_beagle():
|
21
|
-
''' Test ssh channels to beagle
|
22
|
-
'''
|
23
|
-
url = 'login04.beagle.ci.uchicago.edu'
|
24
|
-
uname = 'yadunandb'
|
25
|
-
out = connect_and_list(url, uname)
|
26
|
-
print("Sitename :{0} hostname:{1}".format(url, out))
|
27
|
-
|
28
|
-
|
29
|
-
def test_osg():
|
30
|
-
''' Test ssh connectivity to osg
|
31
|
-
'''
|
32
|
-
url = 'login.osgconnect.net'
|
33
|
-
uname = 'yadunand'
|
34
|
-
out = connect_and_list(url, uname)
|
35
|
-
print("Sitename :{0} hostname:{1}".format(url, out))
|
36
|
-
|
37
|
-
|
38
|
-
if __name__ == "__main__":
|
39
|
-
|
40
|
-
pass
|
@@ -1,46 +0,0 @@
|
|
1
|
-
from parsl.channels.errors import BadHostKeyException, SSHException
|
2
|
-
from parsl.channels.ssh.ssh import SSHChannel as SSH
|
3
|
-
|
4
|
-
|
5
|
-
def connect_and_list(hostname, username):
|
6
|
-
conn = SSH(hostname, username=username)
|
7
|
-
ec, out, err = conn.execute_wait("echo $HOSTNAME")
|
8
|
-
conn.close()
|
9
|
-
return out
|
10
|
-
|
11
|
-
|
12
|
-
def test_error_1():
|
13
|
-
try:
|
14
|
-
connect_and_list("bad.url.gov", "ubuntu")
|
15
|
-
except Exception as e:
|
16
|
-
assert type(e) is SSHException, "Expected SSException, got: {0}".format(e)
|
17
|
-
|
18
|
-
|
19
|
-
def test_error_2():
|
20
|
-
try:
|
21
|
-
connect_and_list("swift.rcc.uchicago.edu", "mango")
|
22
|
-
except SSHException:
|
23
|
-
print("Caught the right exception")
|
24
|
-
else:
|
25
|
-
raise Exception("Expected SSException, got: {0}".format(e))
|
26
|
-
|
27
|
-
|
28
|
-
def test_error_3():
|
29
|
-
''' This should work
|
30
|
-
'''
|
31
|
-
try:
|
32
|
-
connect_and_list("edison.nersc.gov", "yadunand")
|
33
|
-
except BadHostKeyException as e:
|
34
|
-
print("Caught exception BadHostKeyException: ", e)
|
35
|
-
else:
|
36
|
-
assert False, "Expected SSException, got: {0}".format(e)
|
37
|
-
|
38
|
-
|
39
|
-
if __name__ == "__main__":
|
40
|
-
|
41
|
-
tests = [test_error_1, test_error_2, test_error_3]
|
42
|
-
|
43
|
-
for test in tests:
|
44
|
-
print("---------Running : {0}---------------".format(test))
|
45
|
-
test()
|
46
|
-
print("----------------------DONE--------------------------")
|
@@ -1,41 +0,0 @@
|
|
1
|
-
import parsl
|
2
|
-
from parsl.channels.ssh.ssh import SSHChannel as SSH
|
3
|
-
|
4
|
-
|
5
|
-
def connect_and_list(hostname, username):
|
6
|
-
conn = SSH(hostname, username=username)
|
7
|
-
ec, out, err = conn.execute_wait("echo $HOSTNAME")
|
8
|
-
conn.close()
|
9
|
-
return out
|
10
|
-
|
11
|
-
|
12
|
-
def test_push(conn, fname="test001.txt"):
|
13
|
-
|
14
|
-
with open(fname, 'w') as f:
|
15
|
-
f.write("Hello from parsl.ssh testing\n")
|
16
|
-
|
17
|
-
conn.push_file(fname, "/tmp")
|
18
|
-
ec, out, err = conn.execute_wait("ls /tmp/{0}".format(fname))
|
19
|
-
print(ec, out, err)
|
20
|
-
|
21
|
-
|
22
|
-
def test_pull(conn, fname="test001.txt"):
|
23
|
-
|
24
|
-
local = "foo"
|
25
|
-
conn.pull_file("/tmp/{0}".format(fname), local)
|
26
|
-
|
27
|
-
with open("{0}/{1}".format(local, fname), 'r') as f:
|
28
|
-
print(f.readlines())
|
29
|
-
|
30
|
-
|
31
|
-
if __name__ == "__main__":
|
32
|
-
|
33
|
-
parsl.set_stream_logger()
|
34
|
-
|
35
|
-
# This is for testing
|
36
|
-
conn = SSH("midway.rcc.uchicago.edu", username="yadunand")
|
37
|
-
|
38
|
-
test_push(conn)
|
39
|
-
test_pull(conn)
|
40
|
-
|
41
|
-
conn.close()
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import parsl
|
2
|
-
from parsl.channels.ssh_il.ssh_il import SSHInteractiveLoginChannel as SSH
|
3
|
-
|
4
|
-
|
5
|
-
def connect_and_list(hostname, username):
|
6
|
-
conn = SSH(hostname, username=username)
|
7
|
-
ec, out, err = conn.execute_wait("echo $HOSTNAME")
|
8
|
-
conn.close()
|
9
|
-
return out
|
10
|
-
|
11
|
-
|
12
|
-
def test_cooley():
|
13
|
-
''' Test ssh channels to midway
|
14
|
-
'''
|
15
|
-
url = 'cooley.alcf.anl.gov'
|
16
|
-
uname = 'yadunand'
|
17
|
-
out = connect_and_list(url, uname)
|
18
|
-
print("Sitename :{0} hostname:{1}".format(url, out))
|
19
|
-
return
|
20
|
-
|
21
|
-
|
22
|
-
if __name__ == "__main__":
|
23
|
-
parsl.set_stream_logger()
|
24
|
-
test_cooley()
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import parsl
|
2
|
-
from parsl import python_app
|
3
|
-
|
4
|
-
parsl.set_stream_logger()
|
5
|
-
|
6
|
-
from parsl.channels import SSHChannel
|
7
|
-
from parsl.config import Config
|
8
|
-
from parsl.executors import HighThroughputExecutor
|
9
|
-
from parsl.providers import AdHocProvider
|
10
|
-
|
11
|
-
remotes = ['midway2-login2.rcc.uchicago.edu', 'midway2-login1.rcc.uchicago.edu']
|
12
|
-
|
13
|
-
config = Config(
|
14
|
-
executors=[
|
15
|
-
HighThroughputExecutor(
|
16
|
-
label='AdHoc',
|
17
|
-
max_workers_per_node=2,
|
18
|
-
worker_logdir_root="/scratch/midway2/yadunand/parsl_scripts",
|
19
|
-
encrypted=True,
|
20
|
-
provider=AdHocProvider(
|
21
|
-
worker_init="source /scratch/midway2/yadunand/parsl_env_setup.sh",
|
22
|
-
channels=[SSHChannel(hostname=m,
|
23
|
-
username="yadunand",
|
24
|
-
script_dir="/scratch/midway2/yadunand/parsl_cluster")
|
25
|
-
for m in remotes]
|
26
|
-
)
|
27
|
-
)
|
28
|
-
]
|
29
|
-
)
|
30
|
-
|
31
|
-
|
32
|
-
@python_app
|
33
|
-
def platform(sleep=2, stdout=None):
|
34
|
-
import platform
|
35
|
-
import time
|
36
|
-
time.sleep(sleep)
|
37
|
-
return platform.uname()
|
38
|
-
|
39
|
-
|
40
|
-
def test_raw_provider():
|
41
|
-
|
42
|
-
parsl.load(config)
|
43
|
-
|
44
|
-
x = [platform() for i in range(10)]
|
45
|
-
print([i.result() for i in x])
|
46
|
-
|
47
|
-
|
48
|
-
if __name__ == "__main__":
|
49
|
-
test_raw_provider()
|
@@ -1,13 +0,0 @@
|
|
1
|
-
from parsl.channels import OAuthSSHChannel
|
2
|
-
|
3
|
-
|
4
|
-
def test_channel():
|
5
|
-
channel = OAuthSSHChannel(hostname='ssh.demo.globus.org', username='yadunand')
|
6
|
-
x, stdout, stderr = channel.execute_wait('ls')
|
7
|
-
print(x, stdout, stderr)
|
8
|
-
assert x == 0, "Expected exit code 0, got {}".format(x)
|
9
|
-
|
10
|
-
|
11
|
-
if __name__ == '__main__':
|
12
|
-
|
13
|
-
test_channel()
|