Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for nested connectors #86

Merged
merged 1 commit into from
Mar 12, 2023
Merged

Conversation

GlassOfWhiskey
Copy link
Member

This commit adds support for nested Connector classes through the ConnectorWrapper interface. The QueueManagerConnector is now implemented as a connector wrapper, automatically creating an inner SSH connector to maintain compatibility with the (deprecated) previous version, which inherited from the SSHConnector class.

A new wraps property in the deployment configuration allows to define connector wrappers for other connectors. A single connector can be wrapped from multiple connector wrappers, but each wrapper can wrap a single inner connector.

The deploy and undeploy actions are not automatically propagated to the inner connector to avoid spurious creations and deletions of connectors when multiple wrappers wrap the same object. Instead, the correct order of deployment and undeployment actions is in charge of the DeploymentManager class.

@GlassOfWhiskey GlassOfWhiskey force-pushed the nested-connectors branch 4 times, most recently from 10c05a7 to d2453df Compare March 12, 2023 17:09
This commit adds support for nested Connector classes through the
`ConnectorWrapper` interface. The `QueueManagerConnector` is now
implemented as a connector wrapper, automatically creating an inner SSH
connector to maintain compatibility with the (deprecated) previous
version, which inherited from the `SSHConnector` class.

A new `wraps` property in the `deployment` configuration allows to
define connector wrappers for other connectors. A single connector can
be wrapped from multiple connector wrappers, but each wrapper can wrap
a single inner connector.

The `deploy` and `undeploy` actions are not automatically propagated to
the inner connector to avoid spurious creations and deletions of
connectors when multiple wrappers wrap the same object. Instead, the
correct order of deployment and undeployment actions is in charge of the
`DeploymentManager` class.
@codecov-commenter
Copy link

Codecov Report

Patch coverage: 36.48% and project coverage change: -0.28 ⚠️

Comparison is base (56f5868) 65.70% compared to head (a41ea01) 65.42%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #86      +/-   ##
==========================================
- Coverage   65.70%   65.42%   -0.28%     
==========================================
  Files          73       75       +2     
  Lines        8794     8908     +114     
  Branches     2102     2118      +16     
==========================================
+ Hits         5778     5828      +50     
- Misses       2648     2713      +65     
+ Partials      368      367       -1     
Impacted Files Coverage Δ
streamflow/deployment/utils.py 53.12% <ø> (ø)
streamflow/deployment/connector/queue_manager.py 27.74% <8.51%> (-6.78%) ⬇️
streamflow/cwl/main.py 86.66% <20.00%> (-8.46%) ⬇️
streamflow/deployment/connector/ssh.py 26.45% <20.00%> (-0.19%) ⬇️
streamflow/main.py 36.87% <23.07%> (+1.21%) ⬆️
streamflow/deployment/template.py 54.54% <54.54%> (ø)
streamflow/deployment/deployment_manager.py 73.26% <55.35%> (-23.35%) ⬇️
streamflow/scheduling/scheduler.py 77.09% <60.00%> (-0.86%) ⬇️
streamflow/deployment/wrapper.py 63.15% <63.15%> (ø)
streamflow/workflow/step.py 79.62% <87.50%> (-0.18%) ⬇️
... and 7 more

... and 1 file with indirect coverage changes

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@GlassOfWhiskey GlassOfWhiskey merged commit 4e3a4cf into master Mar 12, 2023
@GlassOfWhiskey GlassOfWhiskey deleted the nested-connectors branch March 12, 2023 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants