-
-
Notifications
You must be signed in to change notification settings - Fork 746
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
Pants: add python_distribution
BUILD metadata for st2* components
#5909
Conversation
scripts=[ | ||
"bin/st2actionrunner", | ||
"bin/st2notifier", | ||
"bin/st2workflowengine", | ||
"bin/st2scheduler", | ||
"bin/runners.sh:shell", # used by service files installed by st2-packaging | ||
], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 49 to 54 in f115934
scripts=[ | |
"bin/st2actionrunner", | |
"bin/st2notifier", | |
"bin/st2workflowengine", | |
"bin/st2scheduler", | |
], |
Plus I noticed that st2-packaging needs runners.sh, so I included that as well.
@@ -0,0 +1,4 @@ | |||
st2_component_python_distribution( | |||
component_name="st2api", | |||
scripts=["bin/st2api"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 48 in f115934
scripts=["bin/st2api"], |
scripts=["bin/st2auth"], | ||
entry_points={ | ||
stevedore_namespace("st2auth.sso.backends"): { | ||
"noop": "st2auth.sso.noop:NoOpSingleSignOnBackend", | ||
}, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 49 to 52 in f115934
scripts=["bin/st2auth"], | |
entry_points={ | |
"st2auth.sso.backends": ["noop = st2auth.sso.noop:NoOpSingleSignOnBackend"] | |
}, |
entry_points={ | ||
"console_scripts": { | ||
"st2": "st2client.shell:main", | ||
}, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 69 in f115934
entry_points={"console_scripts": ["st2 = st2client.shell:main"]}, |
scripts=[ | ||
# some scripts in bin are only for development and should not be included. | ||
"bin/st2-bootstrap-rmq", | ||
"bin/st2-cleanup-db", | ||
"bin/st2-register-content", | ||
"bin/st2-purge-executions", | ||
"bin/st2-purge-workflows", | ||
"bin/st2-purge-task-executions", | ||
"bin/st2-purge-tokens", | ||
"bin/st2-purge-trigger-instances", | ||
"bin/st2-purge-traces", | ||
"bin/st2-purge-rule-enforcements", | ||
"bin/st2-generate-symmetric-crypto-key", | ||
"bin/st2-track-result", | ||
"bin/st2-validate-pack", | ||
"bin/st2-validate-pack-config", | ||
"bin/st2-pack-install", | ||
"bin/st2-pack-download", | ||
"bin/st2-pack-setup-virtualenv", | ||
"bin/migrations/v3.5/st2-migrate-db-dict-field-values", | ||
"bin/st2-run-pack-tests:shell", | ||
"bin/st2ctl:shell", | ||
"bin/st2-self-check:shell", | ||
# dev scripts we might want to include | ||
# "bin/st2-generate-schemas", | ||
], | ||
entry_points={ | ||
stevedore_namespace("st2common.metrics.driver"): { | ||
"statsd": "st2common.metrics.drivers.statsd_driver:StatsdDriver", | ||
"noop": "st2common.metrics.drivers.noop_driver:NoopDriver", | ||
"echo": "st2common.metrics.drivers.echo_driver:EchoDriver", | ||
}, | ||
stevedore_namespace("st2common.rbac.backend"): { | ||
"noop": "st2common.rbac.backends.noop:NoOpRBACBackend", | ||
}, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 50 to 82 in f115934
scripts=[ | |
"bin/st2-bootstrap-rmq", | |
"bin/st2-cleanup-db", | |
"bin/st2-register-content", | |
"bin/st2-purge-executions", | |
"bin/st2-purge-workflows", | |
"bin/st2-purge-task-executions", | |
"bin/st2-purge-trigger-instances", | |
"bin/st2-purge-traces", | |
"bin/st2-purge-rule-enforcements", | |
"bin/st2-purge-tokens", | |
"bin/st2-run-pack-tests", | |
"bin/st2ctl", | |
"bin/st2-generate-symmetric-crypto-key", | |
"bin/st2-self-check", | |
"bin/st2-track-result", | |
"bin/st2-validate-pack", | |
"bin/st2-validate-pack-config", | |
"bin/st2-pack-install", | |
"bin/st2-pack-download", | |
"bin/st2-pack-setup-virtualenv", | |
"bin/migrations/v3.5/st2-migrate-db-dict-field-values", | |
], | |
entry_points={ | |
"st2common.metrics.driver": [ | |
"statsd = st2common.metrics.drivers.statsd_driver:StatsdDriver", | |
"noop = st2common.metrics.drivers.noop_driver:NoopDriver", | |
"echo = st2common.metrics.drivers.echo_driver:EchoDriver", | |
], | |
"st2common.rbac.backend": [ | |
"noop = st2common.rbac.backends.noop:NoOpRBACBackend" | |
], | |
}, |
A few of the scripts were missing in setup.py, so I included them here. Also, a couple of them were missing the execute bit, so I added that as well.,
scripts=[ | ||
"bin/st2-rule-tester", | ||
"bin/st2-trigger-refire", | ||
"bin/st2rulesengine", | ||
"bin/st2sensorcontainer", | ||
"bin/st2garbagecollector", | ||
"bin/st2timersengine", | ||
], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lines 49 to 56 in f115934
scripts=[ | |
"bin/st2-rule-tester", | |
"bin/st2-trigger-refire", | |
"bin/st2rulesengine", | |
"bin/st2sensorcontainer", | |
"bin/st2garbagecollector", | |
"bin/st2timersengine", | |
], |
@@ -0,0 +1,4 @@ | |||
st2_component_python_distribution( | |||
component_name="st2stream", | |||
scripts=["bin/st2stream"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line 48 in f115934
scripts=["bin/st2stream"], |
#5906 should be merged first |
7016ce7
to
4dd0184
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are st2common/bin/st2-purge-task-executions and st2common/bin/st2-purge-workflows now empty files?
Is that github just showing it odd in PR, and all you've done is change the permissions on the file?
Yeah. That's just GitHub being weird as I only changed the execute bit, not the file contents. If you do a "view file" on those, you'll see the file contents. |
4dd0184
to
c3615b5
Compare
tag with stevedore_namespace so that once we enable the pants-plugin for stevedore, pants can install things appropriately for tests to access the setuptools metadata.
c3615b5
to
083fd00
Compare
Background
This is another part of introducing pants, as discussed in various TSC meetings.
Related PRs can be found in:
Overview of this PR
This PR adds the
st2_component_python_distribution()
macro to the BUILD metadata for all of our components (st2common
,st2client
,st2auth
, etc).Thanks to the macro, we only have to define 3 (or 4) parameters for each runner:
component_name
,scripts
, andentry_points
. I copied the scripts and entry_points from thesetup.py
file, which will become obsolete once pants can generate the setup.py file for us.Under
entry_points
, I have "tagged" thest2auth.sso.backends
, thest2common.metrics.driver
and thest2common.rbac.backend
categories asstevedore_namespace
s. Once we switch to 2.16 and enable thepants.backend.experimental.python.framework.stevedore
plugin, thestevedore
plugin will, for tests, use this "tag" to look up which wheels implement a plugin in that stevedore namespace.To facilitate comparison, I will add a comment to each of the files that shows the current
setup.py
entry_points and scripts.Next steps
Follow-up PRs will adjust the dependencies on the
python_distribution
s to ensure all files get included.