Skip to content

Commit 492229d

Browse files
committed
Merge remote-tracking branch 'galaxyproject/master' into transfer-retries-fix
2 parents 4e5783c + 31d8a99 commit 492229d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+636
-136
lines changed

.github/workflows/galaxy_framework.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
env:
5252
GALAXY_TEST_JOB_CONFIG_FILE: ../pulsar/test_data/test_job_conf.yaml
5353
GALAXY_CONFIG_OVERRIDE_METADATA_STRATEGY: ${{ matrix.metadata-strategy }}
54-
continue-on-error: true
54+
continue-on-error: ${{ matrix.galaxy-branch == 'master' }}
5555
- uses: actions/upload-artifact@v2
5656
with:
5757
name: Framework test results (${{ matrix.python-version }})

.github/workflows/pulsar.yaml

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,8 @@ jobs:
2424
include:
2525
- tox-env: py36-mypy
2626
python: 3.6
27-
- tox-env: py37-mypy
28-
python: 3.7
29-
- tox-env: py38-mypy
30-
python: 3.8
27+
- tox-env: py311-mypy
28+
python: 3.11
3129
steps:
3230
- uses: actions/checkout@v2
3331
- uses: actions/setup-python@v3
@@ -36,7 +34,7 @@ jobs:
3634
- name: Install tox
3735
run: pip install tox
3836
- name: Setup pycurl
39-
run: sudo apt update; sudo apt install -y libxml2-dev libxslt1-dev libcurl4-openssl-dev python-pycurl openssh-server
37+
run: sudo apt update; sudo apt install -y libxml2-dev libxslt1-dev libcurl4-openssl-dev openssh-server
4038
- name: Run tox
4139
run: tox -e ${{ matrix.tox-env }}
4240
test:
@@ -49,21 +47,13 @@ jobs:
4947
python: 3.6
5048
- tox-env: py36-test-unit
5149
python: 3.6
52-
- tox-env: py37-test-ci
53-
python: 3.7
54-
- tox-env: py37-test-unit
55-
python: 3.7
56-
- tox-env: py38-test-ci
57-
python: 3.8
58-
- tox-env: py38-test-unit
59-
python: 3.8
60-
- tox-env: py39-test-ci
61-
python: 3.9
62-
- tox-env: py39-test-unit
63-
python: 3.9
64-
- tox-env: py39-install-wheel-no-conda
50+
- tox-env: py311-test-ci
51+
python: 3.11
52+
- tox-env: py311-test-unit
53+
python: 3.11
54+
- tox-env: py39-install_wheel-no_conda
6555
python: 3.9
66-
- tox-env: py37-install-wheel
56+
- tox-env: py37-install_wheel
6757
python: 3.7
6858
services:
6959
job-files:
@@ -94,7 +84,7 @@ jobs:
9484
## connect to the host running the Pulsar server for file transfers in stage out/in.
9585
# tes-test:
9686
# name: Run Tests
97-
# runs-on: ubuntu-20.04
87+
# runs-on: ubuntu-20.04
9888
# strategy:
9989
# matrix:
10090
# include:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ dependencies
3232
dependency_resolvers_conf.xml
3333
job_metrics_conf.xml
3434
.DS_Store
35+
.idea

HISTORY.rst

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,34 @@ History
66
.. to_doc
77
88
---------------------
9-
0.15.0.dev1
9+
0.15.2 (2023-05-02)
1010
---------------------
11+
* Fix Pulsar and Pulsar client reconnection to AMQP server. `Pull Request 324`_
12+
* Reduce verbosity of timeout exception catching. `Pull Request 325`_
1113

12-
* Updated Galaxy+Pulsar container.
14+
---------------------
15+
0.15.1 (2023-04-13)
16+
---------------------
17+
* No changes, working around pypi isssue.
18+
19+
---------------------
20+
0.15.0 (2023-04-13)
21+
---------------------
22+
23+
* Updated Galaxy+Pulsar container. `Pull Request 306`_
1324
* Rework container execution - generalize Kubernetes execution to allow it to work without a
14-
message queue and to allow TES execution based on pydantic-tes (https://github.com/jmchilton/pydantic-tes).
15-
* Add documentation and diagrams for container execution scenarios.
25+
message queue and to allow TES execution based on pydantic-tes (https://github.com/jmchilton/pydantic-tes). `Pull Request 302`_
26+
* Add documentation and diagrams for container execution scenarios. `Pull Request 302`_
1627
* Rework integration tests to use pytest more aggressively.
1728
* Fixes to CI to run more tests that weren't being executed because Tox was not sending
1829
environment variables through to pytest.
1930
* Add option ``amqp_key_prefix`` to direct task queue naming while retaining simple
20-
default manager names and such in container scheduling deployments.
21-
* Various typing and CI fixes.
31+
default manager names and such in container scheduling deployments. `Pull Request 315`_
32+
* Various typing and CI fixes. `Pull Request 312`_, `Pull Request 319`_
33+
* Fixes for extra_file handling. `Pull Request 318`_
34+
* Separate tool_stdio and job_stdio handling. `Pull Request 318`_
35+
* Re-import MEMORY_STATEMENT.sh from Galaxy. `Pull Request 297`_
36+
* Add support for logging to sentry. `Pull Request 322`_
2237

2338
---------------------
2439
0.14.16 (2022-10-04)
@@ -451,6 +466,17 @@ History
451466

452467

453468
.. github_links
469+
470+
.. _Pull Request 325: https://github.com/galaxyproject/pulsar/pull/325
471+
.. _Pull Request 324: https://github.com/galaxyproject/pulsar/pull/324
472+
.. _Pull Request 322: https://github.com/galaxyproject/pulsar/pull/322
473+
.. _Pull Request 318: https://github.com/galaxyproject/pulsar/pull/318
474+
.. _Pull Request 319: https://github.com/galaxyproject/pulsar/pull/319
475+
.. _Pull Request 312: https://github.com/galaxyproject/pulsar/pull/312
476+
.. _Pull Request 315: https://github.com/galaxyproject/pulsar/pull/315
477+
.. _Pull Request 306: https://github.com/galaxyproject/pulsar/pull/306
478+
.. _Pull Request 297: https://github.com/galaxyproject/pulsar/pull/297
479+
.. _Pull Request 302: https://github.com/galaxyproject/pulsar/pull/302
454480
.. _Pull Request 303: https://github.com/galaxyproject/pulsar/pull/303
455481
.. _Pull Request 301: https://github.com/galaxyproject/pulsar/pull/301
456482
.. _Pull Request 299: https://github.com/galaxyproject/pulsar/pull/299

app.yml.sample

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@
8989
## kombu.Connection's drain_events() method.
9090
#amqp_consumer_timeout: 0.2
9191

92+
## publishing messages to the queue may hang if the connection becomes invalid.
93+
## this value is used as the timeout argument to the producer.publish function.
94+
#amqp_publish_timeout: 2.0
95+
9296
# AMQP does not guarantee that a published message is received by the AMQP
9397
# server, so Pulsar can request that the consumer acknowledge messages and will
9498
# resend them if acknowledgement is not received after a configurable timeout
@@ -120,9 +124,36 @@
120124
## Maximum number of seconds to sleep between each retry.
121125
#amqp_publish_retry_interval_max: 60
122126

127+
128+
## configure user authentication/authorization plugins
129+
## parameters depend on auth type. Authentication plugin should return a username
130+
## and authorization plugin should authorize this user
131+
#user_auth:
132+
# authentication:
133+
# - type: oidc
134+
# oidc_jwks_url: https://login.microsoftonline.com/xxx/discovery/v2.0/keys
135+
# oidc_provider: azure
136+
# oidc_username_in_token: preferred_username
137+
# oidc_username_template: *.
138+
# authorization:
139+
# - type: userlist
140+
# userlist_allowed_users:
141+
# - xxx
142+
123143
## *Experimental*. Enable file caching by specifing a directory here.
124144
## Directory used to store incoming file cache. It works fine for HTTP
125145
## transfer, have not tested with staging by coping. Also there is no
126146
## mechanism for expiring cache so it will grow unbounded without
127147
## external clean up.
128148
#file_cache_dir: cache
149+
150+
## Log to Sentry Sentry is an open source logging and error aggregation
151+
## platform. Setting sentry_dsn will enable the Sentry middleware and
152+
## errors will be sent to the indicated sentry instance. This
153+
## connection string is available in your sentry instance under
154+
## <project_name> -> Settings -> API Keys.
155+
##sentry_dsn: null
156+
157+
## Determines the minimum log level that will be sent as an event to
158+
## Sentry. Possible values are DEBUG, INFO, WARNING, ERROR or CRITICAL.
159+
##sentry_event_level: WARNING

dev-requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ sphinx==1.2
1818
pyflakes
1919
flake8
2020

21-
mypy
21+
mypy<=1.0.1 # https://github.com/pydantic/pydantic/issues/5192
2222
types-paramiko
2323
types-pkg-resources
2424
types-PyYAML
2525
types-pycurl
2626
types-requests
2727
types-psutil
28+
sentry-sdk
2829

2930
# For release
3031
wheel

docs/configure.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,34 @@ You can consult the `Kombu documentation
112112
<http://kombu.readthedocs.org/en/latest/reference/kombu.connection.html>`__ for
113113
even more information.
114114

115+
User Authentication/Authorization
116+
`````````````
117+
118+
You can configure Pulsar to authenticate user during request processing and check
119+
if this user is allowed to run a job.
120+
121+
Various authentication/authorization plugins can be configured in `app.yml` to
122+
do that and plugin parameters depend on auth type. For example, the following
123+
configuration uses `oidc` plugin for authentication and `userlist` for
124+
authorization::
125+
126+
user_auth:
127+
authentication:
128+
- type: oidc
129+
oidc_jwks_url: https://login.microsoftonline.com/xxx/discovery/v2.0/keys
130+
oidc_provider: azure
131+
oidc_username_in_token: preferred_username
132+
oidc_username_template: *.
133+
authorization:
134+
- type: userlist
135+
userlist_allowed_users:
136+
- xxx
137+
138+
139+
see `plugins folder
140+
<https://github.com/galaxyproject/pulsar/blob/master/pulsar/user_auth/methods>`_
141+
for available plugins and their parameters.
142+
115143
Customizing the Pulsar Environment (\*nix only)
116144
-----------------------------------------------
117145

docs/pulsar.client.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,6 @@ pulsar.client.exceptions module
7777
:undoc-members:
7878
:show-inheritance:
7979

80-
pulsar.client.interface module
81-
------------------------------
82-
83-
.. automodule:: pulsar.client.interface
84-
:members:
85-
:undoc-members:
86-
:show-inheritance:
87-
8880
pulsar.client.job\_directory module
8981
-----------------------------------
9082

@@ -117,6 +109,14 @@ pulsar.client.path\_mapper module
117109
:undoc-members:
118110
:show-inheritance:
119111

112+
pulsar.client.server\_interface module
113+
--------------------------------------
114+
115+
.. automodule:: pulsar.client.server_interface
116+
:members:
117+
:undoc-members:
118+
:show-inheritance:
119+
120120
pulsar.client.setup\_handler module
121121
-----------------------------------
122122

docs/pulsar.managers.util.cli.job.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,22 @@ pulsar.managers.util.cli.job package
44
Submodules
55
----------
66

7+
pulsar.managers.util.cli.job.lsf module
8+
---------------------------------------
9+
10+
.. automodule:: pulsar.managers.util.cli.job.lsf
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
pulsar.managers.util.cli.job.pbs module
16+
---------------------------------------
17+
18+
.. automodule:: pulsar.managers.util.cli.job.pbs
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
723
pulsar.managers.util.cli.job.slurm module
824
-----------------------------------------
925

docs/pulsar.managers.util.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ Subpackages
1414
Submodules
1515
----------
1616

17+
pulsar.managers.util.aws\_batch module
18+
--------------------------------------
19+
20+
.. automodule:: pulsar.managers.util.aws_batch
21+
:members:
22+
:undoc-members:
23+
:show-inheritance:
24+
1725
pulsar.managers.util.env module
1826
-------------------------------
1927

@@ -38,6 +46,22 @@ pulsar.managers.util.kill module
3846
:undoc-members:
3947
:show-inheritance:
4048

49+
pulsar.managers.util.process\_groups module
50+
-------------------------------------------
51+
52+
.. automodule:: pulsar.managers.util.process_groups
53+
:members:
54+
:undoc-members:
55+
:show-inheritance:
56+
57+
pulsar.managers.util.pykube\_util module
58+
----------------------------------------
59+
60+
.. automodule:: pulsar.managers.util.pykube_util
61+
:members:
62+
:undoc-members:
63+
:show-inheritance:
64+
4165
pulsar.managers.util.retry module
4266
---------------------------------
4367

@@ -54,6 +78,14 @@ pulsar.managers.util.sudo module
5478
:undoc-members:
5579
:show-inheritance:
5680

81+
pulsar.managers.util.tes module
82+
-------------------------------
83+
84+
.. automodule:: pulsar.managers.util.tes
85+
:members:
86+
:undoc-members:
87+
:show-inheritance:
88+
5789

5890
Module contents
5991
---------------

0 commit comments

Comments
 (0)